rip-lang 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/dist/rip.browser.js +41 -31
- package/docs/dist/rip.browser.min.js +192 -192
- package/docs/dist/rip.browser.min.js.br +0 -0
- package/package.json +1 -1
- package/src/grammar/grammar.rip +4 -3
- package/src/lexer.js +11 -1
- package/src/parser.js +27 -26
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
var
|
|
2
|
-
`)
|
|
3
|
-
|
|
4
|
-
`)this.row++,this.col=0;else this.col++;this.pos
|
|
5
|
-
`)return 0;let T=this.prev();if(T)if(
|
|
6
|
-
`);if(this.isUnfinished())return T.length
|
|
7
|
-
`,{len:0})}isUnfinished(){return c1.test(this.chunk)||
|
|
8
|
-
`)A--;A++;let
|
|
9
|
-
`)}if(A===0&&T?.length===3)M=M.replace(/^\n/,"");if(A===$.length-1&&T?.length===3)M=M.replace(/\n[^\S\n]*$/,"");this.emit("STRING",`"${M}"`,{len:W.length,data:{quote:T}})}}if($.length>1)this.emit("STRING_END",")",{len:T?.length||0});return U}numberToken(){let $=N1.exec(this.chunk);if(!$)return 0;let T=$[0],Y=T.length,U={row:this.row,col:this.col};if(/^0[BOX]/.test(T))C(`radix prefix in '${T}' must be lowercase`,{...U,col:U.col+1});if(/^0\d*[89]/.test(T))C(`decimal literal '${T}' must not be prefixed with '0'`,{...U,len:Y});if(/^0\d+/.test(T))C(`octal literal '${T}' must be prefixed with '0o'`,{...U,len:Y});let A=p1(T),F=A===1/0?"INFINITY":"NUMBER",W={parsedValue:A};if(F==="INFINITY")W.original=T;return this.emit(F,T,{len:Y,data:W}),Y}regexToken(){let $=this.matchWithInterpolations(b1,"///");if($){let{tokens:Z,index:Q}=$,[X]=U1.exec(this.chunk.slice(Q)),J=Q+X.length;if(Z.length===1||!Z.some((z)=>z[0]==="TOKENS")){let z=Z[0]?.[1]||"";this.emit("REGEX",`/${z}/${X}`,{len:J,data:{delimiter:"///",heregex:{flags:X}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(Z,{quote:"///",endOffset:J-X.length}),X)this.emit(",",",",{len:0}),this.emit("STRING",`"${X}"`,{len:X.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return J}let T=v1.exec(this.chunk);if(!T)return 0;let[Y,U,A]=T,F=this.prev();if(F){if(F.spaced&&c.has(F[0])&&(!A||/^\/=?\s/.test(Y)))return 0;if(O1.has(F[0])&&!(F.spaced&&c.has(F[0])))return 0}if(!A)C("missing / (unclosed regex)",{row:this.row,col:this.col});let W=Y.length,[M]=U1.exec(this.chunk.slice(W)),D=W+M.length;if(!g1.test(M))C(`invalid regular expression flags ${M}`,{row:this.row,col:this.col+W,len:M.length});return this.emit("REGEX",`/${U}/${M}`,{len:D,data:{delimiter:"/"}}),D}jsToken(){if(this.chunk[0]!=="`")return 0;let $=l1.exec(this.chunk)||x1.exec(this.chunk);if(!$)return 0;let T=$[1],Y=$[0].length;return this.emit("JS",T,{len:Y,data:{here:$[0].startsWith("```")}}),Y}literalToken(){let $=w1.exec(this.chunk),T=$?$[0]:this.chunk.charAt(0),Y=T,U=this.prev();if(f1.test(T))this.tagParameters();if(U&&(T==="="||$1.has(T))){if(T==="="&&(U[1]==="||"||U[1]==="&&"||U[1]==="??")&&!U.spaced)return U[0]="COMPOUND_ASSIGN",U[1]+="=",T.length}if(T==="("&&U?.[0]==="IMPORT")U[0]="DYNAMIC_IMPORT";if(T==="{"&&this.seenImport)this.importSpecifierList=!0;if(T==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(T==="{"&&U?.[0]==="EXPORT")this.exportSpecifierList=!0;if(T==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(T===";")this.seenFor=this.seenImport=this.seenExport=!1,Y="TERMINATOR";else if(T==="~=")Y="COMPUTED_ASSIGN";else if(T===":=")Y="REACTIVE_ASSIGN";else if(T==="~>")Y="REACT_ASSIGN";else if(T==="=!")Y="READONLY_ASSIGN";else if(T==="*"&&U?.[0]==="EXPORT")Y="EXPORT_ALL";else if(P1.has(T))Y="MATH";else if(q1.has(T))Y="COMPARE";else if($1.has(T))Y="COMPOUND_ASSIGN";else if(L1.has(T))Y="UNARY_MATH";else if(u1.has(T))Y="SHIFT";else if(T==="?"&&U?.spaced)Y="SPACE?";else if(U){if(T==="("&&!U.spaced&&c.has(U[0])){if(U[0]==="?.")U[0]="ES6_OPTIONAL_CALL";Y="CALL_START"}if(T==="["&&!U.spaced&&Y1.has(U[0])){if(Y="INDEX_START",U[0]==="?.")U[0]="ES6_OPTIONAL_INDEX"}}if(T==="("||T==="{"||T==="[")this.ends.push({tag:R1[T],origin:[Y,T]});else if(T===")"||T==="}"||T==="]")this.pair(T);return this.emit(Y,T,{len:T.length}),T.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let $=this.tokens.length-1,T=[];this.tokens[$][0]="PARAM_END";while($-- >0){let Y=this.tokens[$];if(Y[0]===")")T.push(Y);else if(Y[0]==="("||Y[0]==="CALL_START")if(T.length)T.pop();else if(Y[0]==="(")return Y[0]="PARAM_START",this.tagDoIife($-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife($){let T=this.tokens[$??this.tokens.length-1];if(T?.[0]==="DO")T[0]="DO_IIFE"}rewrite($){return this.tokens=$,this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let $=0;while(this.tokens[$]?.[0]==="TERMINATOR")$++;if($>0)this.tokens.splice(0,$)}closeOpenCalls(){this.scanTokens(($,T)=>{if($[0]==="CALL_START")this.detectEnd(T+1,(Y)=>Y[0]===")"||Y[0]==="CALL_END",(Y)=>Y[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens(($,T)=>{if($[0]==="INDEX_START")this.detectEnd(T+1,(Y)=>Y[0]==="]"||Y[0]==="INDEX_END",(Y,U)=>{if(this.tokens[U+1]?.[0]===":")$[0]="[",Y[0]="]";else Y[0]="INDEX_END"});return 1})}normalizeLines(){let $=null,T=null,Y=null,U=(F,W)=>{return F[1]!==";"&&_1.has(F[0])&&!(F[0]==="TERMINATOR"&&t.has(this.tokens[W+1]?.[0]))&&!(F[0]==="ELSE"&&$!=="THEN")||F[0]===","&&($==="->"||$==="=>")||F1.has(F[0])&&(this.tokens[W-1]?.newLine||this.tokens[W-1]?.[0]==="OUTDENT")},A=(F,W)=>{let M=this.tokens[W-1]?.[0]===","?W-1:W;this.tokens.splice(M,0,Y)};this.scanTokens((F,W,M)=>{let[D]=F;if(D==="TERMINATOR"){if(this.tokens[W+1]?.[0]==="ELSE"&&this.tokens[W-1]?.[0]!=="OUTDENT")return M.splice(W,1,...this.makeIndentation()),1;if(t.has(this.tokens[W+1]?.[0]))return M.splice(W,1),0}if(D==="CATCH")for(let Z=1;Z<=2;Z++){let Q=this.tokens[W+Z]?.[0];if(Q==="OUTDENT"||Q==="TERMINATOR"||Q==="FINALLY")return M.splice(W+Z,0,...this.makeIndentation()),2+Z}if((D==="->"||D==="=>")&&(this.tokens[W+1]?.[0]===","||this.tokens[W+1]?.[0]==="]"))return[T,Y]=this.makeIndentation(),M.splice(W+1,0,T,Y),1;if(A1.has(D)&&this.tokens[W+1]?.[0]!=="INDENT"&&!(D==="ELSE"&&this.tokens[W+1]?.[0]==="IF")){if($=D,[T,Y]=this.makeIndentation(),D==="THEN")T.fromThen=!0;if(M.splice(W+1,0,T),this.detectEnd(W+2,U,A),D==="THEN")M.splice(W,1);return 1}return 1})}tagPostfixConditionals(){let $=null,T=(U,A)=>{return U[0]==="TERMINATOR"||U[0]==="INDENT"&&!A1.has(this.tokens[A-1]?.[0])},Y=(U)=>{if(U[0]!=="INDENT"||U.generated&&!U.fromThen)$[0]="POST_"+$[0]};this.scanTokens((U,A)=>{if(U[0]!=="IF"&&U[0]!=="UNLESS")return 1;return $=U,this.detectEnd(A+1,T,Y),1})}addImplicitBracesAndParens(){let $=[],T=!1;this.scanTokens((Y,U,A)=>{let[F]=Y,W=A[U-1]||[],M=A[U+1]||[],[D]=W,[Z]=M,Q=U,X=(O)=>U-Q+O,J=()=>$[$.length-1],z=(O)=>O?.[2]?.ours,G=()=>z(J())&&J()?.[0]==="(",R=()=>z(J())&&J()?.[0]==="{",_=(O)=>{$.push(["(",O,{ours:!0}]),A.splice(O,0,k("CALL_START","("))},K=()=>{$.pop(),A.splice(U,0,k("CALL_END",")")),U+=1},P=(O,I={})=>{$.push(["{",O,{sameLine:!0,startsLine:I.startsLine??!0,ours:!0}]);let w=k("{","{");if(!w.data)w.data={};w.data.generated=!0,A.splice(O,0,w)},H=(O)=>{O=O??U,$.pop(),A.splice(O,0,k("}","}")),U+=1};if((G()||R())&&K1.has(F))return $.push(["CONTROL",U,{ours:!0}]),X(1);if(F==="INDENT"&&z(J())){if(D!=="=>"&&D!=="->"&&D!=="["&&D!=="("&&D!==","&&D!=="{"&&D!=="ELSE"&&D!=="=")while(G()||R()&&D!==":")if(G())K();else H();if(J()?.[2]?.ours&&J()[0]==="CONTROL")$.pop();return $.push([F,U]),X(1)}if(b.has(F))return $.push([F,U]),X(1);if(v.has(F)){while(z(J()))if(G())K();else if(R())H();else $.pop();$.pop()}if(e.has(F)&&Y.spaced&&(r.has(Z)||Z==="..."&&r.has(A[U+2]?.[0])||J1.has(Z)&&!M.spaced&&!M.newLine)&&!((F==="]"||F==="}")&&(Z==="->"||Z==="=>")))return _(U+1),X(2);if(e.has(F)&&this.tokens[U+1]?.[0]==="INDENT"&&this.looksObjectish(U+2)&&!this.findTagsBackwards(U,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return _(U+1),$.push(["INDENT",U+2]),X(3);if(F==="SPACE?")T=!0;if(F===":"){if(T)return T=!1,X(1);let O=v.has(this.tokens[U-1]?.[0])?$[$.length-1]?.[1]??U-1:U-1;if(this.tokens[U-2]?.[0]==="@")O=U-2;let I=O<=0||m.has(this.tokens[O-1]?.[0])||this.tokens[O-1]?.newLine;if(J()){let[w,N]=J(),S=$[$.length-2];if((w==="{"||w==="INDENT"&&S?.[0]==="{"&&!z(S))&&(I||this.tokens[O-1]?.[0]===","||this.tokens[O-1]?.[0]==="{"||this.tokens[O]?.[0]==="{"))return X(1)}return P(O,{startsLine:!!I}),X(2)}if(m.has(F))for(let O=$.length-1;O>=0;O--){if(!z($[O]))break;if($[O][0]==="{")$[O][2].sameLine=!1}let u=D==="OUTDENT"||W.newLine,q=F==="||"||F==="&&",L=!1;if(q){let O=U+1,I=A[O]?.[0];if(I==="("||I==="["||I==="{"){for(let w=1;++O<A.length&&w>0;)if(I=A[O][0],I==="("||I==="["||I==="{")w++;else if(I===")"||I==="]"||I==="}")w--}else if(I&&I!=="TERMINATOR"&&I!=="OUTDENT"&&I!==",")O++;L=A[O]?.[0]===","}if(G1.has(F)&&!L||F1.has(F)&&u)while(z(J())){let[O,,{sameLine:I,startsLine:w}]=J();if(G()&&D!==",")K();else if(R()&&!q&&I&&F!=="TERMINATOR"&&D!==":")H();else if(R()&&F==="TERMINATOR"&&D!==","&&!(w&&this.looksObjectish(U+1)))H();else if(J()?.[2]?.ours&&J()[0]==="CONTROL"&&A[J()[1]]?.[0]==="CLASS"&&F==="TERMINATOR")$.pop();else break}if(F===","&&!this.looksObjectish(U+1)&&R()&&(Z!=="TERMINATOR"||!this.looksObjectish(U+2))){let O=Z==="OUTDENT"?1:0;while(R())H(U+O)}return X(1)})}addImplicitCallCommas(){let $=0,T=0,Y=this.tokens;while(T<Y.length){let U=Y[T][0],A=T>0?Y[T-1][0]:null;if(U==="CALL_START"||U==="(")$++;if(U==="CALL_END"||U===")")$--;if($>0&&(U==="->"||U==="=>")&&z1.has(A))Y.splice(T,0,k(",",",")),T++;T++}}scanTokens($){let T=0;while(T<this.tokens.length)T+=$.call(this,this.tokens[T],T,this.tokens)}detectEnd($,T,Y,U={}){let A=0;while($<this.tokens.length){let F=this.tokens[$];if(A===0&&T.call(this,F,$))return Y.call(this,F,$);if(b.has(F[0]))A++;if(v.has(F[0]))A--;if(A<0){if(U.returnOnNegativeLevel)return;return Y.call(this,F,$)}$++}}looksObjectish($){if(!this.tokens[$])return!1;if(this.tokens[$]?.[0]==="@"&&this.tokens[$+2]?.[0]===":")return!0;if(this.tokens[$+1]?.[0]===":")return!0;if(b.has(this.tokens[$]?.[0])){let T=null;if(this.detectEnd($+1,(Y)=>v.has(Y[0]),(Y,U)=>T=U),T&&this.tokens[T+1]?.[0]===":")return!0}return!1}findTagsBackwards($,T){let Y=new Set(T),U=[];while($>=0){let A=this.tokens[$]?.[0];if(!U.length&&Y.has(A))return!0;if(v.has(A))U.push(A);if(b.has(A)&&U.length)U.pop();if(!U.length&&(b.has(A)&&!this.tokens[$]?.generated||m.has(A)))break;$--}return!1}makeIndentation($){let T=k("INDENT",2),Y=k("OUTDENT",2);if($)T.generated=Y.generated=!0,T.origin=Y.origin=$;else T.explicit=Y.explicit=!0;return[T,Y]}}var i1={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,ReactAssign:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Throw:28,Yield:29,Def:30,CodeLine:31,OperationLine:32,Assignable:33,Literal:34,Parenthetical:35,Range:36,Invocation:37,DoIife:38,This:39,Super:40,MetaProperty:41,AlphaNumeric:42,JS:43,Regex:44,UNDEFINED:45,NULL:46,BOOL:47,INFINITY:48,NAN:49,NUMBER:50,String:51,Identifier:52,IDENTIFIER:53,Property:54,PROPERTY:55,STRING:56,STRING_START:57,Interpolations:58,STRING_END:59,InterpolationChunk:60,INTERPOLATION_START:61,INTERPOLATION_END:62,INDENT:63,OUTDENT:64,REGEX:65,REGEX_START:66,REGEX_END:67,RegexWithIndex:68,",":69,"=":70,REACTIVE_ASSIGN:71,COMPUTED_ASSIGN:72,READONLY_ASSIGN:73,REACT_ASSIGN:74,SimpleAssignable:75,Array:76,Object:77,ThisProperty:78,".":79,"?.":80,INDEX_START:81,INDEX_END:82,Slice:83,ES6_OPTIONAL_INDEX:84,"{":85,ObjAssignable:86,":":87,FOR:88,ForVariables:89,FOROF:90,OptComma:91,"}":92,WHEN:93,OWN:94,AssignList:95,AssignObj:96,ObjRestValue:97,SimpleObjAssignable:98,"[":99,"]":100,"@":101,"...":102,ObjSpreadExpr:103,SUPER:104,Arguments:105,DYNAMIC_IMPORT:106,Elisions:107,ArgElisionList:108,OptElisions:109,ArgElision:110,Arg:111,Elision:112,RangeDots:113,"..":114,DEF:115,CALL_START:116,ParamList:117,CALL_END:118,Block:119,PARAM_START:120,PARAM_END:121,FuncGlyph:122,"->":123,"=>":124,Param:125,ParamVar:126,Splat:127,ES6_OPTIONAL_CALL:128,ArgList:129,SimpleArgs:130,THIS:131,NEW_TARGET:132,IMPORT_META:133,"(":134,")":135,RETURN:136,THROW:137,YIELD:138,FROM:139,IfBlock:140,IF:141,ELSE:142,UnlessBlock:143,UNLESS:144,POST_IF:145,POST_UNLESS:146,TRY:147,Catch:148,FINALLY:149,CATCH:150,SWITCH:151,Whens:152,When:153,LEADING_WHEN:154,WhileSource:155,WHILE:156,UNTIL:157,Loop:158,LOOP:159,FORIN:160,BY:161,FORAS:162,AWAIT:163,FORASAWAIT:164,ForValue:165,CLASS:166,EXTENDS:167,IMPORT:168,ImportDefaultSpecifier:169,ImportNamespaceSpecifier:170,ImportSpecifierList:171,ImportSpecifier:172,AS:173,DEFAULT:174,IMPORT_ALL:175,EXPORT:176,ExportSpecifierList:177,EXPORT_ALL:178,ExportSpecifier:179,UNARY:180,DO:181,DO_IIFE:182,UNARY_MATH:183,"-":184,"+":185,"--":186,"++":187,MATH:188,"**":189,SHIFT:190,COMPARE:191,"&":192,"^":193,"|":194,"||":195,"??":196,"&&":197,"!?":198,RELATION:199,"SPACE?":200,COMPOUND_ASSIGN:201},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",43:"JS",45:"UNDEFINED",46:"NULL",47:"BOOL",48:"INFINITY",49:"NAN",50:"NUMBER",53:"IDENTIFIER",55:"PROPERTY",56:"STRING",57:"STRING_START",59:"STRING_END",61:"INTERPOLATION_START",62:"INTERPOLATION_END",63:"INDENT",64:"OUTDENT",65:"REGEX",66:"REGEX_START",67:"REGEX_END",69:",",70:"=",71:"REACTIVE_ASSIGN",72:"COMPUTED_ASSIGN",73:"READONLY_ASSIGN",74:"REACT_ASSIGN",79:".",80:"?.",81:"INDEX_START",82:"INDEX_END",84:"ES6_OPTIONAL_INDEX",85:"{",87:":",88:"FOR",90:"FOROF",92:"}",93:"WHEN",94:"OWN",99:"[",100:"]",101:"@",102:"...",104:"SUPER",106:"DYNAMIC_IMPORT",114:"..",115:"DEF",116:"CALL_START",118:"CALL_END",120:"PARAM_START",121:"PARAM_END",123:"->",124:"=>",128:"ES6_OPTIONAL_CALL",131:"THIS",132:"NEW_TARGET",133:"IMPORT_META",134:"(",135:")",136:"RETURN",137:"THROW",138:"YIELD",139:"FROM",141:"IF",142:"ELSE",144:"UNLESS",145:"POST_IF",146:"POST_UNLESS",147:"TRY",149:"FINALLY",150:"CATCH",151:"SWITCH",154:"LEADING_WHEN",156:"WHILE",157:"UNTIL",159:"LOOP",160:"FORIN",161:"BY",162:"FORAS",163:"AWAIT",164:"FORASAWAIT",166:"CLASS",167:"EXTENDS",168:"IMPORT",173:"AS",174:"DEFAULT",175:"IMPORT_ALL",176:"EXPORT",178:"EXPORT_ALL",180:"UNARY",181:"DO",182:"DO_IIFE",183:"UNARY_MATH",184:"-",185:"+",186:"--",187:"++",188:"MATH",189:"**",190:"SHIFT",191:"COMPARE",192:"&",193:"^",194:"|",195:"||",196:"??",197:"&&",198:"!?",199:"RELATION",200:"SPACE?",201:"COMPOUND_ASSIGN"},parseTable:(()=>{let $=[101,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,-1,1,2,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,1,1,0,2,1,5,-2,101,5,1,5,56,2,71,-3,-3,-3,-3,-3,30,1,5,56,1,1,5,19,12,18,17,10,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,120,-6,-6,-6,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,9,1,5,56,1,1,5,31,18,17,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,56,1,1,5,31,18,17,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,121,122,123,90,91,51,1,5,45,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,124,99,100,-13,-13,-13,-13,127,128,129,-13,130,-13,-13,-13,-13,-13,-13,-13,125,-13,131,-13,-13,126,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,44,1,5,56,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,132,133,134,-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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,9,1,5,56,1,1,5,31,18,17,-30,-30,-30,-30,-30,-30,-30,-30,-30,9,1,5,56,1,1,5,31,18,17,-31,-31,-31,-31,-31,-31,-31,-31,-31,13,1,5,56,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,56,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,56,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,56,1,1,5,31,18,17,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,135,136,137,138,139,-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,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,18,6,46,1,10,1,5,7,1,1,7,14,2,1,15,1,3,4,1,-170,144,98,-170,-170,-170,146,147,145,93,149,148,143,140,-170,-170,141,142,100,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,151,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,152,96,97,50,49,66,67,87,93,56,77,81,78,79,61,150,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,97,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,153,154,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,97,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,156,157,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,158,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,164,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,165,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,166,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,167,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,45,14,1,18,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,48,169,170,171,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,168,66,67,87,93,77,81,78,79,159,160,84,85,80,82,83,76,163,45,14,1,18,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,48,169,170,171,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,172,66,67,87,93,77,81,78,79,159,160,84,85,80,82,83,76,163,57,1,5,50,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,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,173,174,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,175,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,177,176,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,178,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,7,3,1,10,1,3,1,1,2,20,1,3,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,179,-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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,2,63,56,152,180,2,63,56,152,181,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,14,36,16,1,23,1,1,7,4,5,5,2,25,37,2,185,144,98,146,147,145,93,182,183,77,148,187,184,186,95,7,2,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,8,4,1,1,1,1,1,1,1,188,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,189,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,88,1,5,8,1,18,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,15,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,169,170,171,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-299,152,-299,96,97,-299,192,66,67,87,-299,93,-299,-299,-299,-299,-299,77,-299,81,-299,78,79,-299,-299,190,159,-299,160,84,85,80,82,83,76,-299,-299,-299,-299,-299,-299,-299,-299,-299,191,163,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,95,7,2,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,8,4,1,1,1,1,1,1,1,193,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,194,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,131,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,195,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-221,196,-221,96,97,-221,50,49,66,67,87,-221,93,-221,-221,-221,-221,-221,77,-221,81,-221,78,79,-221,61,-221,159,-221,160,84,85,80,82,83,76,-221,63,59,60,197,51,88,52,89,-221,-221,53,57,54,-221,-221,55,92,-221,-221,-221,46,-221,58,64,65,161,162,163,43,44,45,47,48,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,2,52,1,198,98,6,15,16,89,2,1,1,200,199,39,40,84,85,130,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,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,8,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,201,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-218,202,-218,96,97,-218,50,49,66,67,87,-218,93,-218,-218,-218,-218,-218,77,-218,81,-218,78,79,-218,61,-218,159,-218,160,84,85,80,82,83,76,-218,63,59,60,51,88,52,89,-218,-218,53,57,54,-218,-218,55,92,-218,-218,-218,46,-218,58,64,65,161,162,163,43,44,45,47,48,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,9,51,1,1,3,1,28,84,1,5,203,207,98,99,100,206,204,205,208,9,27,3,22,1,32,30,51,8,4,210,211,212,98,209,61,58,213,214,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,49,1,5,50,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,20,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,100,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,215,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,216,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,217,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,223,96,97,224,50,49,66,67,87,93,56,77,218,81,228,78,79,219,220,222,225,221,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,4,79,2,24,11,230,231,229,131,2,105,11,232,131,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,51,1,5,48,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,233,234,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,1,79,235,1,79,236,51,11,32,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,8,4,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,51,11,32,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,8,4,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,58,1,5,50,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,17,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,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,58,1,5,50,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,17,1,1,1,1,1,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,-87,-87,-87,94,7,2,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,8,4,1,1,1,1,1,1,1,237,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,238,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,239,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,240,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,96,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,242,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,152,96,97,50,49,66,67,87,93,56,77,81,78,79,61,241,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,23,6,36,8,1,1,1,1,1,1,1,6,1,5,9,8,6,3,1,1,1,1,2,1,-106,248,94,95,250,98,251,234,99,100,-106,-106,-106,252,243,-106,244,249,253,245,246,247,254,49,1,5,50,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,20,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,1,5,50,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,20,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,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,45,14,1,18,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,48,169,170,171,31,32,33,255,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,256,66,67,87,93,77,81,78,79,159,160,84,85,80,82,83,76,163,60,1,5,50,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,6,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,52,1,5,50,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,20,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,-53,-53,6,51,5,1,1,2,1,260,99,100,257,258,259,103,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,-5,261,-5,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-5,-5,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,-5,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,262,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,263,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,264,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,265,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,266,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,267,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,268,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,269,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,270,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,273,155,271,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,272,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,276,155,274,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,275,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,279,155,277,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,278,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,280,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,281,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,282,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,283,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,284,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,14,36,16,1,23,1,1,7,4,5,5,2,25,37,2,288,144,98,146,147,145,93,285,286,77,148,187,287,186,94,7,2,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,8,4,1,1,1,1,1,1,1,289,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,290,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,50,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,50,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,2,105,11,291,131,2,54,1,292,234,2,54,1,293,234,100,7,2,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,8,4,1,1,1,1,1,1,1,294,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,299,71,72,73,74,75,94,95,86,98,99,100,295,96,97,297,50,49,66,67,87,296,93,56,77,81,301,78,79,298,300,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,81,302,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,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,306,96,97,50,49,66,67,87,93,56,77,81,228,78,79,305,61,303,39,40,84,85,227,304,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,2,54,1,308,234,2,54,1,309,234,95,7,2,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,8,4,1,1,1,1,1,1,1,310,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,311,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,313,312,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,314,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,316,315,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,317,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,319,318,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,320,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,322,321,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,323,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,325,324,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,326,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,9,6,57,1,5,22,1,8,18,3,-214,-214,-214,328,329,-214,-214,-214,327,6,6,57,1,5,49,3,-171,-171,-171,-171,-171,-171,7,6,57,1,5,1,48,3,-175,-175,-175,-175,330,-175,-175,15,6,46,1,10,1,5,7,1,1,7,14,2,17,3,5,-178,144,98,-178,-178,-178,146,147,145,93,149,148,-178,-178,331,11,6,57,1,5,1,20,28,3,39,2,2,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,11,6,57,1,5,1,20,28,3,39,2,2,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,11,6,57,1,5,1,20,28,3,39,2,2,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,11,6,57,1,5,1,20,28,3,39,2,2,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,2,54,1,233,234,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,223,96,97,224,50,49,66,67,87,93,56,77,218,81,228,78,79,219,220,222,225,221,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,9,1,5,56,1,1,5,31,18,17,-167,-167,-167,-167,-167,-167,-167,-167,-167,100,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,333,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,332,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,118,119,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,112,-350,114,-350,-350,9,1,5,56,1,1,5,31,18,17,-347,-347,-347,-347,-347,-347,-347,-347,-347,5,145,1,9,1,1,121,122,123,90,91,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,118,119,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,112,-351,114,-351,-351,9,1,5,56,1,1,5,31,18,17,-348,-348,-348,-348,-348,-348,-348,-348,-348,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,118,119,-352,-352,-352,-352,-352,-352,-352,-352,-352,105,-352,-352,-352,-352,-352,-352,112,-352,114,-352,-352,18,6,46,1,10,1,5,7,1,1,7,14,2,1,15,1,3,4,1,-170,144,98,-170,-170,-170,146,147,145,93,149,148,143,334,-170,-170,141,142,2,63,56,152,150,94,7,2,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,8,4,1,1,1,1,1,1,1,153,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,156,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,5,15,105,2,1,1,200,159,160,84,85,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,118,119,-353,-353,-353,-353,-353,-353,-353,-353,-353,105,-353,-353,-353,-353,-353,-353,112,-353,114,-353,-353,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,118,119,-354,-354,-354,-354,-354,-354,-354,-354,-354,105,-354,-354,-354,-354,-354,-354,112,-354,114,-354,-354,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,118,119,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,112,-355,114,-355,-355,2,77,8,335,93,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-83,-83,-357,-357,-357,-357,-83,-83,-83,-83,-83,-83,-83,-83,-357,-83,-357,-357,-357,-357,-357,-357,-357,-357,-83,-357,-357,-83,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,10,51,5,1,22,1,1,3,21,11,12,124,99,100,127,128,129,130,125,131,126,3,79,1,1,132,133,134,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-83,-83,-358,-358,-358,-358,-83,-83,-83,-83,-83,-83,-83,-83,-358,-83,-358,-358,-358,-358,-358,-358,-358,-358,-83,-358,-358,-83,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,338,336,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,337,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,120,-80,-80,-80,-80,-80,-80,-80,-80,-80,117,118,119,90,91,-80,-80,-80,-80,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,339,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,340,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,3,63,56,22,152,341,342,44,1,5,56,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,343,344,345,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,4,90,70,2,2,347,346,348,349,11,52,1,23,1,1,7,4,10,2,25,39,144,98,146,147,145,93,350,149,148,187,186,11,52,1,23,1,1,7,4,10,2,25,39,144,98,146,147,145,93,351,149,148,187,186,3,63,56,42,152,352,353,5,69,21,70,2,2,354,-297,-297,-297,-297,6,69,1,20,70,2,2,-295,355,-295,-295,-295,-295,22,63,25,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,356,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,3,152,1,1,357,358,359,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,94,7,2,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,8,4,1,1,1,1,1,1,1,360,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,56,1,5,50,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,17,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-83,-83,-303,152,-303,-303,-83,-83,-83,-83,-83,-83,-83,-83,-303,-83,-303,-303,-303,-303,-303,-303,-303,-303,-83,-303,361,-303,-83,-303,-303,-303,-303,-303,-303,-303,-303,-303,362,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-219,-219,-219,-219,-219,-219,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,77,8,363,93,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-222,-222,-222,-222,-222,-222,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,77,8,364,93,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,365,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,3,63,53,3,152,366,367,9,1,5,56,1,1,5,31,18,17,-349,-349,-349,-349,-349,-349,-349,-349,-349,49,1,5,50,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,20,1,3,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,-385,-385,-385,-385,-385,-385,-385,-385,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-216,-216,-216,-216,-216,-216,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,77,8,368,93,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,2,69,70,370,369,1,139,371,7,52,1,10,29,79,1,2,376,98,375,372,373,374,377,2,69,70,-323,-323,1,173,378,7,52,1,10,29,82,3,2,383,98,382,379,384,380,381,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,1,70,385,95,7,2,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,8,4,1,1,1,1,1,1,1,386,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,387,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,139,388,2,6,129,101,389,99,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,390,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,30,6,57,1,5,19,12,2,11,1,4,27,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,120,-196,301,391,300,-196,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,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,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,224,50,49,66,67,87,93,56,77,392,81,228,78,79,394,393,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,9,6,57,1,5,22,1,8,9,9,-214,-214,-214,396,397,-214,-214,395,-214,56,6,5,32,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,8,4,1,1,1,1,1,1,1,398,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,5,6,57,1,5,31,-142,-142,-142,-142,-142,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,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,223,96,97,224,50,49,66,67,87,93,56,77,81,228,78,79,400,399,222,225,221,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,56,6,5,32,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,8,4,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,5,6,57,1,5,31,-147,-147,-147,-147,-147,6,6,57,1,5,31,18,-197,-197,-197,-197,-197,-197,6,6,57,1,5,31,18,-198,-198,-198,-198,-198,-198,100,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,-199,401,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-199,-199,96,97,-199,50,49,66,67,87,93,56,77,-199,81,78,79,61,-199,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,50,1,5,50,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,20,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,2,54,1,402,234,95,7,2,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,8,4,1,1,1,1,1,1,1,403,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,404,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,50,1,5,50,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,20,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,58,1,5,50,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,17,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,58,1,5,50,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,17,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-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,2,54,1,405,234,2,54,1,406,234,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,407,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,408,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,120,-251,-251,409,-251,-251,-251,-251,-251,-251,-251,118,119,90,91,-251,-251,-251,-251,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,120,-253,-253,410,-253,-253,-253,-253,-253,-253,-253,118,119,90,91,-253,-253,-253,-253,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,120,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,118,119,90,91,-260,-260,-260,-260,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,6,6,57,1,5,18,5,-111,-111,-111,-111,411,-111,8,6,57,1,5,22,1,8,18,-214,-214,-214,413,412,-214,-214,-214,7,6,57,1,5,1,17,5,-120,-120,-120,-120,414,-120,-120,94,7,2,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,8,4,1,1,1,1,1,1,1,415,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,3,54,1,44,233,234,416,6,6,57,1,5,18,5,-123,-123,-123,-123,-123,-123,5,6,57,1,5,23,-107,-107,-107,-107,-107,11,6,57,1,5,1,9,1,1,6,5,24,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,11,6,57,1,5,1,9,1,1,6,5,24,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,11,6,57,1,5,1,9,1,1,6,5,24,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,5,6,57,1,5,23,-112,-112,-112,-112,-112,17,35,4,1,12,1,1,1,22,1,7,13,3,2,1,2,25,3,420,422,421,250,98,251,234,419,252,93,417,81,418,423,424,80,76,50,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,425,-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,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,6,51,5,1,2,1,1,260,99,100,426,427,259,4,56,1,2,2,-55,-55,-55,-55,101,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,428,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,430,429,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,4,56,1,2,2,-60,-60,-60,-60,5,1,5,56,2,71,-4,-4,-4,-4,-4,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,118,119,-361,-361,-361,-361,-361,-361,-361,-361,104,105,-361,-361,-361,-361,-361,-361,112,-361,114,-361,-361,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,118,119,-362,-362,-362,-362,-362,-362,-362,-362,104,105,-362,-362,-362,-362,-362,-362,112,-362,114,-362,-362,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,118,119,-363,-363,-363,-363,-363,-363,-363,-363,-363,105,-363,-363,-363,-363,-363,-363,112,-363,114,-363,-363,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-364,-364,-364,-364,-364,-364,-364,-364,-364,105,-364,-364,-364,-364,-364,-364,112,-364,114,-364,-364,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-365,-365,-365,-365,-365,-365,103,102,104,105,-365,-365,-365,-365,-365,-365,112,-365,114,-365,-365,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-366,-366,-366,-366,-366,-366,103,102,104,105,106,-366,-366,-366,-366,-366,112,-366,114,115,-366,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,118,119,-367,-367,-367,-367,-367,-367,103,102,104,105,106,107,-367,-367,-367,-367,112,-367,114,115,-367,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,118,119,-368,-368,-368,-368,-368,-368,103,102,104,105,106,107,108,-368,-368,-368,112,-368,114,115,-368,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,118,119,-369,-369,-369,-369,-369,-369,103,102,104,105,106,107,108,109,-369,-369,112,-369,114,115,-369,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-377,-377,-377,-377,-377,-377,103,102,104,105,106,107,108,109,110,-377,112,113,114,115,-377,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,-378,-378,120,-378,-378,-378,-378,-378,-378,-378,-378,-378,117,118,119,90,91,-378,-378,-378,-378,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-376,-376,-376,-376,-376,-376,103,102,104,105,106,107,108,109,110,-376,112,-376,114,115,-376,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,-379,-379,120,-379,-379,-379,-379,-379,-379,-379,-379,-379,117,118,119,90,91,-379,-379,-379,-379,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-380,-380,-380,-380,-380,-380,103,102,104,105,106,-380,-380,-380,-380,-380,112,-380,114,-380,-380,22,87,1,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,431,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,120,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,118,119,90,91,-233,-233,-233,-233,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,120,-235,-235,-235,-235,-235,-235,-235,-235,-235,117,118,119,90,91,-235,-235,-235,-235,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,4,90,70,2,2,433,432,434,435,11,52,1,23,1,1,7,4,10,2,25,39,144,98,146,147,145,93,436,149,148,187,186,11,52,1,23,1,1,7,4,10,2,25,39,144,98,146,147,145,93,437,149,148,187,186,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,438,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,120,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,118,119,90,91,-232,-232,-232,-232,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,120,-234,-234,-234,-234,-234,-234,-234,-234,-234,117,118,119,90,91,-234,-234,-234,-234,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,50,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,58,1,5,50,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,17,1,1,1,1,1,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,-88,-88,-88,58,1,5,50,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,17,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,25,82,6,14,11,1,31,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,439,120,301,440,300,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,98,7,2,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,8,4,1,1,1,1,1,1,1,441,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,442,93,56,77,81,301,78,79,298,300,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,82,443,1,82,444,96,7,2,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,8,4,1,1,1,1,1,1,1,445,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-161,96,97,50,49,66,67,87,-161,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,446,-43,-43,-43,-64,-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,52,11,32,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,8,4,1,1,1,1,1,1,1,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,52,11,32,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,8,4,1,1,1,1,1,1,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,95,7,2,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,8,4,1,1,1,1,1,1,1,447,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,448,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,50,1,5,50,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,20,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,8,6,57,1,5,22,1,8,18,-214,-214,-214,450,449,-214,-214,-214,5,6,57,1,5,49,-191,-191,-191,-191,-191,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,306,96,97,50,49,66,67,87,93,56,77,81,228,78,79,305,61,39,40,84,85,227,451,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,27,6,57,1,5,19,12,18,27,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,120,-196,-196,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,58,1,5,50,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,17,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,58,1,5,50,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,17,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,22,82,6,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,452,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,453,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-65,-65,-65,-65,-65,-65,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,454,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,455,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,120,-68,-68,-68,-68,-68,-68,-68,-68,-68,117,118,119,90,91,-68,-68,-68,-68,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,456,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,457,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,120,-71,-71,-71,-71,-71,-71,-71,-71,-71,117,118,119,90,91,-71,-71,-71,-71,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,458,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,459,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,120,-74,-74,-74,-74,-74,-74,-74,-74,-74,117,118,119,90,91,-74,-74,-74,-74,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,460,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,461,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,120,-77,-77,-77,-77,-77,-77,-77,-77,-77,117,118,119,90,91,-77,-77,-77,-77,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,462,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,463,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,3,122,1,1,464,84,85,17,6,46,1,10,1,12,1,1,7,7,7,1,1,1,16,7,1,-215,144,98,-215,-215,146,147,145,93,-215,149,-215,148,143,-215,465,142,2,6,57,466,467,94,7,2,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,8,4,1,1,1,1,1,1,1,468,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,6,6,57,1,5,49,3,-177,-177,-177,-177,-177,-177,53,1,5,50,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,20,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,-210,-210,-210,2,6,58,101,469,9,6,57,1,5,22,1,8,18,3,-214,-214,-214,328,329,-214,-214,-214,470,1,64,471,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-382,-382,-382,-382,-382,-382,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,472,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,473,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,120,-81,-81,-81,-81,-81,-81,-81,-81,-81,117,118,119,90,91,-81,-81,-81,-81,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,474,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,94,7,2,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,8,4,1,1,1,1,1,1,1,475,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,3,7,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,476,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,2,63,56,152,477,6,52,1,10,14,8,34,478,98,152,479,93,480,94,7,2,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,8,4,1,1,1,1,1,1,1,481,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,482,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,483,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,484,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,90,485,1,162,486,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,94,7,2,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,8,4,1,1,1,1,1,1,1,487,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,10,52,1,23,1,1,7,14,2,25,39,144,98,146,147,145,93,149,148,187,488,94,7,2,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,8,4,1,1,1,1,1,1,1,489,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,3,152,1,1,490,358,359,4,64,78,11,1,491,492,493,359,3,64,78,12,-247,-247,-247,95,7,2,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,8,4,1,1,1,1,1,1,1,495,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,494,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,43,1,5,56,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,152,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,496,-301,-301,-301,118,119,-301,-301,-301,-301,-301,-301,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,94,7,2,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,8,4,1,1,1,1,1,1,1,497,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,64,498,1,64,499,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,118,119,-224,-224,-224,-224,-224,-224,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,18,6,46,1,10,1,5,7,1,1,7,14,2,1,15,1,3,4,1,-170,144,98,-170,-170,-170,146,147,145,93,149,148,143,500,-170,-170,141,142,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,1,64,501,3,51,5,1,502,99,100,3,85,85,5,504,503,208,3,51,5,1,505,99,100,1,139,506,8,6,57,1,5,22,1,8,18,-214,-214,-214,508,507,-214,-214,-214,5,6,57,1,5,23,-314,-314,-314,-314,-314,6,52,1,10,108,1,2,376,98,375,509,374,377,6,6,57,1,5,23,81,-319,-319,-319,-319,-319,510,6,6,57,1,5,23,81,-321,-321,-321,-321,-321,511,2,52,1,512,98,14,1,5,56,1,1,5,31,18,17,4,6,1,10,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,513,-325,-325,-325,-325,8,6,57,1,5,22,1,8,18,-214,-214,-214,515,514,-214,-214,-214,5,6,57,1,5,23,-337,-337,-337,-337,-337,6,52,1,10,111,3,2,383,98,382,384,516,381,6,6,57,1,5,23,81,-342,-342,-342,-342,-342,517,6,6,57,1,5,23,81,-345,-345,-345,-345,-345,518,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,520,519,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,521,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,30,1,5,56,1,1,5,19,12,18,17,10,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,120,-332,-332,-332,-332,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,77,8,522,93,3,51,5,1,523,99,100,49,1,5,50,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,20,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,2,6,58,101,524,94,7,2,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,8,4,1,1,1,1,1,1,1,525,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,56,6,5,32,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,8,4,1,1,1,1,1,1,1,398,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,5,6,57,1,5,31,-148,-148,-148,-148,-148,2,63,37,527,526,110,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,-215,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-215,-215,96,97,224,50,49,66,67,87,93,56,-215,77,-215,81,228,78,79,529,528,225,221,61,-215,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,4,6,57,1,36,530,-149,-149,-149,56,6,5,32,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,8,4,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,9,6,57,1,5,22,1,8,9,9,-214,-214,-214,396,397,-214,-214,531,-214,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,224,50,49,66,67,87,93,56,77,81,228,78,79,394,393,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,27,6,57,1,5,19,12,18,27,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,120,-183,-183,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,49,1,5,50,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,20,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,22,82,6,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,532,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,533,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,49,1,5,50,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,20,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,49,1,5,50,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,20,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,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,7,3,1,10,1,3,1,1,2,20,1,3,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,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,7,3,1,10,1,3,1,1,2,20,1,3,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,534,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,94,7,2,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,8,4,1,1,1,1,1,1,1,535,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,536,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,537,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,538,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,3,6,57,29,540,541,539,23,6,36,8,1,1,1,1,1,1,1,6,1,14,8,6,4,1,1,1,1,1,1,16,-215,248,94,95,250,98,251,234,99,100,-215,-215,252,543,-215,542,253,245,246,-215,247,254,-215,95,7,2,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,8,4,1,1,1,1,1,1,1,544,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,545,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,22,88,12,45,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,120,546,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,547,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,10,6,57,1,5,10,1,1,11,13,11,-124,-124,-124,-124,-126,-126,-126,-124,548,131,10,6,57,1,5,10,1,1,11,13,11,-125,-125,-125,-125,550,551,552,-125,549,131,9,6,57,1,5,10,1,1,11,24,-127,-127,-127,-127,-127,-127,-127,-127,-127,9,6,57,1,5,10,1,1,11,24,-128,-128,-128,-128,-128,-128,-128,-128,-128,9,6,57,1,5,10,1,1,11,24,-129,-129,-129,-129,-129,-129,-129,-129,-129,9,6,57,1,5,10,1,1,11,24,-130,-130,-130,-130,-130,-130,-130,-130,-130,4,79,2,24,11,230,231,553,131,2,105,11,554,131,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,52,1,5,50,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,20,1,3,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,4,56,1,2,2,-56,-56,-56,-56,2,6,56,101,555,99,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,556,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,4,56,1,2,2,-59,-59,-59,-59,94,7,2,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,8,4,1,1,1,1,1,1,1,557,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,558,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,559,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,560,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,561,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,90,562,1,162,563,94,7,2,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,8,4,1,1,1,1,1,1,1,564,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,58,1,5,50,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,17,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,96,7,2,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,8,4,1,1,1,1,1,1,1,565,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-159,96,97,50,49,66,67,87,-159,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,25,64,24,14,11,1,31,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,566,120,301,440,300,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,1,64,567,58,1,5,50,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,17,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,58,1,5,50,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,17,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,23,64,18,6,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,568,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,22,82,6,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,569,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,570,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,3,6,57,55,572,573,571,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,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,8,4,1,1,1,1,1,1,1,-215,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-215,-215,96,97,50,49,66,67,87,93,56,-215,77,-215,81,228,78,79,574,61,-215,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,8,6,57,1,5,22,1,8,18,-214,-214,-214,450,575,-214,-214,-214,58,1,5,50,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,17,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,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,576,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,118,119,-66,-66,-66,-66,-66,-66,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,577,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,120,-69,-69,-69,-69,-69,-69,-69,-69,-69,117,118,119,90,91,-69,-69,-69,-69,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,578,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,120,-72,-72,-72,-72,-72,-72,-72,-72,-72,117,118,119,90,91,-72,-72,-72,-72,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,579,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,120,-75,-75,-75,-75,-75,-75,-75,-75,-75,117,118,119,90,91,-75,-75,-75,-75,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,580,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,120,-78,-78,-78,-78,-78,-78,-78,-78,-78,117,118,119,90,91,-78,-78,-78,-78,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,581,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,100,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,583,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,152,96,97,50,49,66,67,87,93,56,77,81,78,79,61,582,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,6,6,57,1,5,49,3,-172,-172,-172,-172,-172,-172,11,52,1,23,1,1,7,14,2,1,23,1,144,98,146,147,145,93,149,148,143,584,142,18,6,46,1,10,1,5,7,1,1,7,14,2,1,15,1,3,4,1,-170,144,98,-170,-170,-170,146,147,145,93,149,148,143,585,-170,-170,141,142,27,6,57,1,5,19,30,3,24,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,120,-176,-176,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,53,1,5,50,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,20,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,-211,-211,-211,3,122,1,1,586,84,85,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,587,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-384,-384,-384,-384,-384,-384,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,588,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,63,56,152,589,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,2,63,56,152,590,2,63,56,152,591,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,3,7,1,3,1,1,2,20,1,3,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,-242,25,63,25,5,26,26,1,9,1,1,4,23,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,593,592,117,118,119,90,91,594,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,596,595,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,598,597,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,600,599,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,601,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,602,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,603,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,4,90,70,2,2,-298,-298,-298,-298,26,69,19,2,55,1,9,1,1,3,2,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-296,120,-296,117,118,119,90,91,-296,-296,-296,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,4,64,78,11,1,604,605,493,359,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,2,63,56,152,606,3,64,78,12,-248,-248,-248,3,63,6,50,152,608,607,23,63,6,19,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-200,-200,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,43,1,5,56,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,152,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,609,-305,-305,-305,118,119,-305,-305,-305,-305,-305,-305,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,8,6,57,1,5,22,1,8,18,-214,-214,-214,328,329,-214,-214,610,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,1,139,611,6,52,1,10,108,1,2,376,98,375,612,374,377,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,3,51,5,1,613,99,100,3,6,57,29,615,616,614,10,6,46,1,10,1,28,8,18,54,2,-215,376,98,-215,-215,-215,-215,-215,617,377,8,6,57,1,5,22,1,8,18,-214,-214,-214,508,618,-214,-214,-214,2,52,1,619,98,2,52,1,620,98,1,139,-324,3,51,5,1,621,99,100,3,6,57,29,623,624,622,10,6,46,1,10,1,28,8,18,56,5,-215,383,98,-215,-215,-215,-215,-215,384,625,8,6,57,1,5,22,1,8,18,-214,-214,-214,515,626,-214,-214,-214,3,52,1,121,627,98,628,2,52,1,629,98,30,1,5,56,1,1,5,19,12,18,17,10,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,120,-329,-329,-329,-329,118,119,-329,-329,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,630,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,631,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,64,632,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,1,135,633,22,88,12,45,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,120,634,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,54,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,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,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,223,96,97,224,50,49,66,67,87,93,56,77,81,228,78,79,400,635,222,225,221,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,5,6,57,1,5,31,-143,-143,-143,-143,-143,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,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-150,-150,96,97,224,50,49,66,67,87,93,56,77,-150,81,228,78,79,394,393,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,104,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,224,50,49,66,67,87,93,56,77,81,228,78,79,400,636,225,221,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,2,63,1,527,637,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-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,-206,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,638,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,63,56,152,639,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,118,119,-252,-252,-252,-252,-252,-252,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,118,119,-254,-254,-254,-254,-254,-254,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,26,6,57,1,5,19,4,53,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,640,-113,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,641,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,54,1,5,50,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,20,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,17,42,8,1,1,1,1,1,1,1,21,8,10,1,1,1,2,1,248,94,95,250,98,251,234,99,100,252,543,642,253,245,246,247,254,23,6,36,8,1,1,1,1,1,1,1,6,1,5,9,8,6,3,1,1,1,1,2,1,-106,248,94,95,250,98,251,234,99,100,-106,-106,-106,252,543,-106,643,249,253,245,246,247,254,5,6,57,1,5,23,-108,-108,-108,-108,-108,6,6,57,1,5,18,5,-111,-111,-111,-111,644,-111,26,6,57,1,5,19,4,53,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,120,-115,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,645,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,6,6,57,1,5,18,5,-121,-121,-121,-121,-121,-121,22,88,12,45,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,120,646,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,9,6,57,1,5,10,1,1,11,24,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,57,1,5,10,1,1,11,24,-134,-134,-134,-134,-134,-134,-134,-134,-134,2,54,1,647,234,2,54,1,648,234,95,7,2,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,8,4,1,1,1,1,1,1,1,649,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,650,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,9,6,57,1,5,10,1,1,11,24,-131,-131,-131,-131,-131,-131,-131,-131,-131,9,6,57,1,5,10,1,1,11,24,-132,-132,-132,-132,-132,-132,-132,-132,-132,4,56,1,2,2,-57,-57,-57,-57,2,6,58,101,651,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-381,-381,-381,-381,-381,-381,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,652,-278,-278,-278,-278,-278,-278,-278,118,119,-278,-278,-278,653,-278,-278,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,654,-283,-283,-283,-283,-283,-283,-283,118,119,-283,-283,-283,-283,-283,-283,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,655,-287,-287,-287,-287,-287,-287,-287,118,119,-287,-287,-287,-287,-287,-287,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,656,-291,-291,-291,-291,-291,-291,-291,118,119,-291,-291,-291,-291,-291,-291,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,657,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,658,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,118,119,-294,-294,-294,-294,-294,-294,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,64,18,6,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-158,-158,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,1,82,659,1,82,660,22,82,6,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-63,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,58,1,5,50,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,17,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,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,661,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,50,1,5,50,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,20,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,100,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,228,78,79,662,61,39,40,84,85,227,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,307,226,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,306,96,97,50,49,66,67,87,93,56,77,81,228,78,79,305,61,39,40,84,85,227,663,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,5,6,57,1,5,49,-192,-192,-192,-192,-192,3,6,57,1,572,573,664,1,82,665,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,9,1,5,56,1,1,5,31,18,17,-166,-166,-166,-166,-166,-166,-166,-166,-166,6,6,57,1,5,49,3,-173,-173,-173,-173,-173,-173,8,6,57,1,5,22,1,8,18,-214,-214,-214,328,666,-214,-214,-214,2,63,56,152,582,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,7,3,1,10,1,3,1,1,2,20,1,3,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,-226,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,3,7,1,3,1,1,2,20,1,3,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,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,3,7,1,3,1,1,2,20,1,3,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,-241,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,94,7,2,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,8,4,1,1,1,1,1,1,1,667,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,668,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,94,7,2,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,8,4,1,1,1,1,1,1,1,669,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,94,7,2,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,8,4,1,1,1,1,1,1,1,670,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,94,7,2,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,8,4,1,1,1,1,1,1,1,671,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,24,63,25,5,26,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,673,672,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,675,674,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,2,63,56,152,676,1,64,677,4,6,58,78,12,678,-249,-249,-249,94,7,2,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,8,4,1,1,1,1,1,1,1,679,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,2,63,56,152,680,3,51,5,1,681,99,100,8,6,57,1,5,22,1,8,18,-214,-214,-214,508,682,-214,-214,-214,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,1,139,683,4,52,1,119,2,376,98,684,377,6,52,1,10,108,1,2,376,98,375,685,374,377,5,6,57,1,5,23,-315,-315,-315,-315,-315,3,6,57,1,615,616,686,5,6,57,1,5,23,-320,-320,-320,-320,-320,5,6,57,1,5,23,-322,-322,-322,-322,-322,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,14,1,5,56,1,1,5,31,18,17,4,6,1,10,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,687,-326,-326,-326,-326,4,52,1,121,5,383,98,384,688,6,52,1,10,111,3,2,383,98,382,384,689,381,5,6,57,1,5,23,-338,-338,-338,-338,-338,3,6,57,1,623,624,690,5,6,57,1,5,23,-343,-343,-343,-343,-343,5,6,57,1,5,23,-344,-344,-344,-344,-344,5,6,57,1,5,23,-346,-346,-346,-346,-346,30,1,5,56,1,1,5,19,12,18,17,10,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,120,-330,-330,-330,-330,118,119,-330,-330,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,691,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,49,1,5,50,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,20,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,49,1,5,50,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,9,6,57,1,5,22,1,8,9,9,-214,-214,-214,396,397,-214,-214,692,-214,5,6,57,1,5,31,-144,-144,-144,-144,-144,5,6,57,1,5,31,-145,-145,-145,-145,-145,1,82,693,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,14,36,16,1,23,1,1,7,4,5,5,2,25,37,2,288,144,98,146,147,145,93,694,695,77,148,187,287,186,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,696,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,5,6,57,1,5,23,-109,-109,-109,-109,-109,8,6,57,1,5,22,1,8,18,-214,-214,-214,413,697,-214,-214,-214,95,7,2,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,8,4,1,1,1,1,1,1,1,698,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,538,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,699,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,6,6,57,1,5,18,5,-122,-122,-122,-122,-122,-122,9,6,57,1,5,10,1,1,11,24,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,57,1,5,10,1,1,11,24,-136,-136,-136,-136,-136,-136,-136,-136,-136,22,82,6,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,700,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,701,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,62,702,94,7,2,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,8,4,1,1,1,1,1,1,1,703,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,704,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,705,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,706,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,707,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,708,-285,-285,-285,-285,-285,-285,-285,118,119,-285,-285,-285,-285,-285,-285,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,709,-289,-289,-289,-289,-289,-289,-289,118,119,-289,-289,-289,-289,-289,-289,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,58,1,5,50,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,17,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,58,1,5,50,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,17,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,1,82,710,5,6,57,1,5,49,-193,-193,-193,-193,-193,8,6,57,1,5,22,1,8,18,-214,-214,-214,450,711,-214,-214,-214,5,6,57,1,5,49,-194,-194,-194,-194,-194,58,1,5,50,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,17,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,3,6,57,1,466,467,712,24,63,25,31,26,1,9,1,1,4,23,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,713,117,118,119,90,91,714,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,716,715,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,717,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,718,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,719,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,94,7,2,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,8,4,1,1,1,1,1,1,1,720,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,94,7,2,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,8,4,1,1,1,1,1,1,1,721,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,64,722,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,3,64,78,12,-250,-250,-250,23,63,6,19,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,3,6,57,29,615,616,723,3,51,5,1,724,99,100,5,6,57,1,5,23,-316,-316,-316,-316,-316,8,6,57,1,5,22,1,8,18,-214,-214,-214,508,725,-214,-214,-214,5,6,57,1,5,23,-317,-317,-317,-317,-317,3,51,5,1,726,99,100,5,6,57,1,5,23,-339,-339,-339,-339,-339,8,6,57,1,5,22,1,8,18,-214,-214,-214,515,727,-214,-214,-214,5,6,57,1,5,23,-340,-340,-340,-340,-340,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,63,1,527,728,49,1,5,50,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,20,1,3,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,4,90,70,2,2,729,432,434,435,11,52,1,23,1,1,7,4,10,2,25,39,144,98,146,147,145,93,730,149,148,187,186,5,6,57,1,5,23,-114,-114,-114,-114,-114,3,6,57,1,540,541,731,26,6,57,1,5,19,4,53,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,120,-113,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,5,6,57,1,5,23,-116,-116,-116,-116,-116,9,6,57,1,5,10,1,1,11,24,-137,-137,-137,-137,-137,-137,-137,-137,-137,22,64,24,57,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,732,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,4,56,1,2,2,-58,-58,-58,-58,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-279,-279,-279,733,-279,-279,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,734,-280,-280,-280,-280,-280,-280,-280,118,119,-280,-280,-280,-280,-280,-280,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-284,-284,-284,-284,-284,-284,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,118,119,-288,-288,-288,-288,-288,-288,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,118,119,-292,-292,-292,-292,-292,-292,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,735,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,736,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,58,1,5,50,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,17,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,3,6,57,1,572,573,737,6,6,57,1,5,49,3,-174,-174,-174,-174,-174,-174,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,94,7,2,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,8,4,1,1,1,1,1,1,1,738,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,94,7,2,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,8,4,1,1,1,1,1,1,1,739,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,740,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,741,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,1,139,742,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,3,6,57,1,615,616,743,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,3,6,57,1,623,624,744,5,6,57,1,5,31,-146,-146,-146,-146,-146,94,7,2,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,8,4,1,1,1,1,1,1,1,745,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,90,746,5,6,57,1,5,23,-110,-110,-110,-110,-110,1,82,747,94,7,2,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,8,4,1,1,1,1,1,1,1,748,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,1,1,749,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,118,119,-286,-286,-286,-286,-286,-286,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,118,119,-290,-290,-290,-290,-290,-290,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,5,6,57,1,5,49,-195,-195,-195,-195,-195,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,750,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,3,1,1,1,1,1,1,1,1,1,1,1,1,152,120,751,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,3,51,5,1,752,99,100,5,6,57,1,5,23,-318,-318,-318,-318,-318,5,6,57,1,5,23,-341,-341,-341,-341,-341,43,1,5,56,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,755,-283,-283,-283,-283,753,-283,754,-283,-283,-283,-283,-283,-283,-283,118,119,-283,-283,-283,-283,-283,-283,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,1,1,756,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,9,6,57,1,5,10,1,1,11,24,-138,-138,-138,-138,-138,-138,-138,-138,-138,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,118,119,-281,-281,-281,-281,-281,-281,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,3,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,118,119,-282,-282,-282,-282,-282,-282,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,1,92,757,94,7,2,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,8,4,1,1,1,1,1,1,1,758,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,6,6,57,1,28,8,18,-215,-215,-215,-215,-215,-215,43,1,5,56,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,755,-285,-285,-285,-285,759,-285,760,-285,-285,-285,-285,-285,-285,-285,118,119,-285,-285,-285,-285,-285,-285,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,54,1,5,50,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,20,1,3,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,43,1,5,56,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,755,-284,-284,-284,-284,761,-284,-284,-284,-284,-284,-284,-284,-284,-284,118,119,-284,-284,-284,-284,-284,-284,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,1,92,762,94,7,2,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,8,4,1,1,1,1,1,1,1,763,155,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,159,160,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,161,162,163,43,44,45,47,48,1,92,764,54,1,5,50,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,20,1,3,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,43,1,5,56,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,20,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,755,-286,-286,-286,-286,765,-286,-286,-286,-286,-286,-286,-286,-286,-286,118,119,-286,-286,-286,-286,-286,-286,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,54,1,5,50,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,20,1,3,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,1,92,766,54,1,5,50,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,20,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],T=[],Y=0,U,A,F,W;while(Y<$.length){U=$[Y++],A={},F=0,W=[];while(U--)F+=$[Y++],W.push(F);for(F of W)A[F]=$[Y++];T.push(A)}return T})(),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,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,42,1,42,1,52,1,54,1,51,1,51,3,58,1,58,2,60,3,60,5,60,2,60,1,44,1,44,3,68,3,68,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,33,1,33,1,33,1,75,1,75,1,75,3,75,3,75,4,75,6,75,4,75,6,75,4,75,5,75,7,75,3,75,3,75,4,75,6,77,10,77,12,77,11,77,13,77,4,95,0,95,1,95,3,95,4,95,6,96,1,96,1,96,3,96,5,96,3,96,5,98,1,98,1,98,1,86,1,86,3,86,4,86,1,97,2,97,2,103,1,103,1,103,1,103,1,103,1,103,2,103,2,103,2,103,2,103,3,103,3,103,4,103,6,76,2,76,3,76,4,108,1,108,3,108,4,108,4,108,6,110,1,110,2,109,1,109,2,107,1,107,2,112,1,112,2,113,1,113,1,36,5,83,3,83,2,83,2,83,1,30,6,30,3,15,5,15,2,31,5,31,2,122,1,122,1,117,0,117,1,117,3,117,4,117,6,125,1,125,3,125,2,125,1,126,1,126,1,126,1,126,1,127,2,37,2,37,2,37,3,37,2,37,2,105,2,105,4,129,1,129,3,129,4,129,4,129,6,111,1,111,1,111,1,111,1,130,1,130,3,39,1,39,1,78,2,40,3,40,4,40,6,41,3,41,3,119,2,119,3,35,3,35,5,91,0,91,1,10,2,10,4,10,1,28,2,28,4,29,1,29,2,29,4,29,3,140,3,140,5,143,3,143,5,22,1,22,3,22,1,22,3,22,3,22,3,22,3,23,2,23,3,23,4,23,5,148,3,148,3,148,2,26,5,26,7,26,4,26,6,152,1,152,2,153,3,153,4,155,2,155,4,155,2,155,4,24,2,24,2,24,2,24,1,158,2,158,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,165,1,165,3,89,1,89,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,12,2,12,4,12,4,12,5,12,7,12,6,12,9,171,1,171,3,171,4,171,4,171,6,172,1,172,3,172,1,172,3,169,1,170,3,13,3,13,5,13,2,13,2,13,4,13,5,13,6,13,3,13,5,13,4,13,5,13,7,177,1,177,3,177,4,177,4,177,6,179,1,179,3,179,3,179,1,179,3,32,2,32,2,32,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,38,2],ruleActions:($,T,Y,U)=>{let A=T,F=T.length-1;switch($){case 1:return["program"];case 2:return["program",...A[F]];case 3:case 55:case 107:case 147:case 151:case 171:case 191:case 200:case 247:case 297:case 314:case 337:return[A[F]];case 4:case 108:case 172:case 192:case 201:case 315:case 338:return[...A[F-2],A[F]];case 5:case 57:case 154:return A[F-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 60:case 61:case 83:case 84:case 85:case 86:case 87:case 112:case 117:case 118:case 119:case 120:case 123:case 126:case 127:case 128:case 129:case 130:case 142:case 168:case 169:case 175:case 179:case 180:case 181:case 182:case 196:case 197:case 198:case 214:case 215:case 229:case 231:case 258:case 295:case 319:case 321:case 323:case 342:case 345:return A[F];case 44:return"undefined";case 45:return"null";case 54:return["str",...A[F-1]];case 56:case 148:case 152:case 248:return[...A[F-1],A[F]];case 58:case 190:case 194:case 317:case 340:return A[F-2];case 59:return"";case 62:return["regex",A[F-1]];case 63:return["regex-index",A[F-2],A[F]];case 64:return["regex-index",A[F],null];case 65:return["=",A[F-2],A[F]];case 66:return["=",A[F-3],A[F]];case 67:return["=",A[F-4],A[F-1]];case 68:return["state",A[F-2],A[F]];case 69:return["state",A[F-3],A[F]];case 70:return["state",A[F-4],A[F-1]];case 71:return["computed",A[F-2],A[F]];case 72:return["computed",A[F-3],A[F]];case 73:return["computed",A[F-4],A[F-1]];case 74:return["readonly",A[F-2],A[F]];case 75:return["readonly",A[F-3],A[F]];case 76:return["readonly",A[F-4],A[F-1]];case 77:return["effect",A[F-2],A[F]];case 78:return["effect",A[F-3],A[F]];case 79:return["effect",A[F-4],A[F-1]];case 80:case 81:return["effect",null,A[F]];case 82:return["effect",null,A[F-1]];case 88:case 97:case 135:return[".",A[F-2],A[F]];case 89:case 98:case 136:return["?.",A[F-2],A[F]];case 90:case 92:case 99:case 137:return["[]",A[F-3],A[F-1]];case 91:case 93:case 100:case 138:return["[]",A[F-5],A[F-2]];case 94:return[A[F-1][0],A[F-3],...A[F-1].slice(1)];case 95:return["optindex",A[F-4],A[F-1]];case 96:return["optindex",A[F-6],A[F-2]];case 101:return["object-comprehension",A[F-8],A[F-6],[["for-of",A[F-4],A[F-2],!1]],[]];case 102:return["object-comprehension",A[F-10],A[F-8],[["for-of",A[F-6],A[F-4],!1]],[A[F-2]]];case 103:return["object-comprehension",A[F-9],A[F-7],[["for-of",A[F-4],A[F-2],!0]],[]];case 104:return["object-comprehension",A[F-11],A[F-9],[["for-of",A[F-6],A[F-4],!0]],[A[F-2]]];case 105:return["object",...A[F-2]];case 106:case 149:case 170:case 189:return[];case 109:case 173:case 193:case 316:case 339:return[...A[F-3],A[F]];case 110:case 174:case 195:case 318:case 341:return[...A[F-5],...A[F-2]];case 111:return[A[F],A[F],null];case 113:return[A[F-2],A[F],":"];case 114:return[A[F-4],A[F-1],":"];case 115:return[A[F-2],A[F],"="];case 116:return[A[F-4],A[F-1],"="];case 121:return["dynamicKey",A[F-1]];case 122:return["[]","this",A[F-1]];case 124:case 125:case 183:return["...",A[F]];case 131:case 187:return["super",...A[F]];case 132:case 133:case 134:case 185:case 188:return[A[F-1],...A[F]];case 139:return["array"];case 140:return["array",...A[F-1]];case 141:return["array",...A[F-2],...A[F-1]];case 143:return[...A[F-2],...A[F]];case 144:return[...A[F-3],...A[F]];case 145:return[...A[F-2],...A[F-1]];case 146:return[...A[F-5],...A[F-4],...A[F-2],...A[F-1]];case 150:return[...A[F]];case 153:return null;case 155:return"..";case 156:case 199:return"...";case 157:return[A[F-2],A[F-3],A[F-1]];case 158:case 363:case 365:case 366:case 380:case 382:return[A[F-1],A[F-2],A[F]];case 159:return[A[F],A[F-1],null];case 160:return[A[F-1],null,A[F]];case 161:return[A[F],null,null];case 162:return["def",A[F-4],A[F-2],A[F]];case 163:return["def",A[F-1],[],A[F]];case 164:case 166:return[A[F-1],A[F-3],A[F]];case 165:case 167:return[A[F-1],[],A[F]];case 176:case 296:return["default",A[F-2],A[F]];case 177:return["rest",A[F]];case 178:return["expansion"];case 184:return["tagged-template",A[F-1],A[F]];case 186:return["optcall",A[F-2],...A[F]];case 202:case 203:return"this";case 204:return[".","this",A[F]];case 205:return[".","super",A[F]];case 206:return["[]","super",A[F-1]];case 207:return["[]","super",A[F-2]];case 208:return[".","new",A[F]];case 209:return[".","import",A[F]];case 210:return["block"];case 211:return["block",...A[F-1]];case 212:return A[F-1].length===1?A[F-1][0]:["block",...A[F-1]];case 213:return A[F-2].length===1?A[F-2][0]:["block",...A[F-2]];case 216:return["return",A[F]];case 217:return["return",A[F-1]];case 218:return["return"];case 219:return["throw",A[F]];case 220:return["throw",A[F-1]];case 221:return["yield"];case 222:return["yield",A[F]];case 223:return["yield",A[F-1]];case 224:return["yield-from",A[F]];case 225:return["if",A[F-1],A[F]];case 226:return A[F-4].length===3?["if",A[F-4][1],A[F-4][2],["if",A[F-1],A[F]]]:[...A[F-4],["if",A[F-1],A[F]]];case 227:return["unless",A[F-1],A[F]];case 228:return["if",["!",A[F-3]],A[F-2],A[F]];case 230:return A[F-2].length===3?["if",A[F-2][1],A[F-2][2],A[F]]:[...A[F-2],A[F]];case 232:case 233:return["if",A[F],[A[F-2]]];case 234:case 235:return["unless",A[F],[A[F-2]]];case 236:return["try",A[F]];case 237:return["try",A[F-1],A[F]];case 238:return["try",A[F-2],A[F]];case 239:return["try",A[F-3],A[F-2],A[F]];case 240:case 241:case 347:case 350:case 352:return[A[F-1],A[F]];case 242:return[null,A[F]];case 243:return["switch",A[F-3],A[F-1],null];case 244:return["switch",A[F-5],A[F-3],A[F-1]];case 245:return["switch",null,A[F-1],null];case 246:return["switch",null,A[F-3],A[F-1]];case 249:return["when",A[F-1],A[F]];case 250:return["when",A[F-2],A[F-1]];case 251:return["while",A[F]];case 252:return["while",A[F-2],A[F]];case 253:return["until",A[F]];case 254:return["until",A[F-2],A[F]];case 255:return A[F-1].length===2?[A[F-1][0],A[F-1][1],A[F]]:[A[F-1][0],A[F-1][1],A[F-1][2],A[F]];case 256:case 257:return A[F].length===2?[A[F][0],A[F][1],[A[F-1]]]:[A[F][0],A[F][1],A[F][2],[A[F-1]]];case 259:return["loop",A[F]];case 260:return["loop",[A[F]]];case 261:return["for-in",A[F-3],A[F-1],null,null,A[F]];case 262:return["for-in",A[F-5],A[F-3],null,A[F-1],A[F]];case 263:return["for-in",A[F-5],A[F-3],A[F-1],null,A[F]];case 264:return["for-in",A[F-7],A[F-5],A[F-1],A[F-3],A[F]];case 265:return["for-in",A[F-7],A[F-5],A[F-3],A[F-1],A[F]];case 266:return["for-of",A[F-3],A[F-1],!1,null,A[F]];case 267:return["for-of",A[F-5],A[F-3],!1,A[F-1],A[F]];case 268:return["for-of",A[F-3],A[F-1],!0,null,A[F]];case 269:return["for-of",A[F-5],A[F-3],!0,A[F-1],A[F]];case 270:return["for-as",A[F-3],A[F-1],!1,null,A[F]];case 271:return["for-as",A[F-5],A[F-3],!1,A[F-1],A[F]];case 272:case 274:return["for-as",A[F-3],A[F-1],!0,null,A[F]];case 273:case 275:return["for-as",A[F-5],A[F-3],!0,A[F-1],A[F]];case 276:return["for-in",[],A[F-1],null,null,A[F]];case 277:return["for-in",[],A[F-3],A[F-1],null,A[F]];case 278:return["comprehension",A[F-4],[["for-in",A[F-2],A[F],null]],[]];case 279:return["comprehension",A[F-6],[["for-in",A[F-4],A[F-2],null]],[A[F]]];case 280:return["comprehension",A[F-6],[["for-in",A[F-4],A[F-2],A[F]]],[]];case 281:return["comprehension",A[F-8],[["for-in",A[F-6],A[F-4],A[F]]],[A[F-2]]];case 282:return["comprehension",A[F-8],[["for-in",A[F-6],A[F-4],A[F-2]]],[A[F]]];case 283:return["comprehension",A[F-4],[["for-of",A[F-2],A[F],!1]],[]];case 284:return["comprehension",A[F-6],[["for-of",A[F-4],A[F-2],!1]],[A[F]]];case 285:return["comprehension",A[F-5],[["for-of",A[F-2],A[F],!0]],[]];case 286:return["comprehension",A[F-7],[["for-of",A[F-4],A[F-2],!0]],[A[F]]];case 287:return["comprehension",A[F-4],[["for-as",A[F-2],A[F],!1,null]],[]];case 288:return["comprehension",A[F-6],[["for-as",A[F-4],A[F-2],!1,null]],[A[F]]];case 289:return["comprehension",A[F-5],[["for-as",A[F-2],A[F],!0,null]],[]];case 290:return["comprehension",A[F-7],[["for-as",A[F-4],A[F-2],!0,null]],[A[F]]];case 291:return["comprehension",A[F-4],[["for-as",A[F-2],A[F],!0,null]],[]];case 292:return["comprehension",A[F-6],[["for-as",A[F-4],A[F-2],!0,null]],[A[F]]];case 293:return["comprehension",A[F-2],[["for-in",[],A[F],null]],[]];case 294:return["comprehension",A[F-4],[["for-in",[],A[F-2],A[F]]],[]];case 298:case 320:case 322:case 343:case 344:case 346:return[A[F-2],A[F]];case 299:return["class",null,null];case 300:return["class",null,null,A[F]];case 301:return["class",null,A[F]];case 302:return["class",null,A[F-1],A[F]];case 303:return["class",A[F],null];case 304:return["class",A[F-1],null,A[F]];case 305:return["class",A[F-2],A[F]];case 306:return["class",A[F-3],A[F-1],A[F]];case 307:case 310:return["import","{}",A[F]];case 308:case 309:return["import",A[F-2],A[F]];case 311:return["import",A[F-4],A[F]];case 312:return["import",[A[F-4],A[F-2]],A[F]];case 313:return["import",[A[F-7],A[F-4]],A[F]];case 324:return["*",A[F]];case 325:return["export","{}"];case 326:return["export",A[F-2]];case 327:case 328:return["export",A[F]];case 329:return["export",["=",A[F-2],A[F]]];case 330:return["export",["=",A[F-3],A[F]]];case 331:return["export",["=",A[F-4],A[F-1]]];case 332:return["export-default",A[F]];case 333:return["export-default",A[F-1]];case 334:return["export-all",A[F]];case 335:return["export-from","{}",A[F]];case 336:return["export-from",A[F-4],A[F]];case 348:case 349:case 351:case 385:return["do-iife",A[F]];case 353:return["-",A[F]];case 354:return["+",A[F]];case 355:return["await",A[F]];case 356:return["await",A[F-1]];case 357:return["--",A[F],!1];case 358:return["++",A[F],!1];case 359:return["--",A[F-1],!0];case 360:return["++",A[F-1],!0];case 361:return["+",A[F-2],A[F]];case 362:return["-",A[F-2],A[F]];case 364:return["**",A[F-2],A[F]];case 367:return["&",A[F-2],A[F]];case 368:return["^",A[F-2],A[F]];case 369:return["|",A[F-2],A[F]];case 370:case 371:case 372:case 373:case 374:case 375:return["control",A[F-1],A[F-2],A[F]];case 376:return["&&",A[F-2],A[F]];case 377:return["||",A[F-2],A[F]];case 378:return["??",A[F-2],A[F]];case 379:return["!?",A[F-2],A[F]];case 381:return["?:",A[F-4],A[F-2],A[F]];case 383:return[A[F-3],A[F-4],A[F-1]];case 384:return[A[F-2],A[F-3],A[F]]}},parseError($,T){let Y,U,A,F,W,M,D;if(T.recoverable)return this.trace($);else throw A=(T.line||0)+1,Y=T.loc?.first_column||0,D=T.token?` (token: ${T.token})`:"",M=T.text?` near '${T.text}'`:"",F=`line ${A}, column ${Y}`,W=`Parse error at ${F}${D}${M}: ${$}`,U=Error(W),U.hash=T,U},parse($){let T,Y,U,A,F,W,M,D,Z,Q,X,J,z,G,R,_,K,P,H,u,q,L,O,I,w,N,S,j;[q,O,Z]=[[0],[null],[]],[G,S,w,I,P]=[this.parseTable,"",0,0,0],[Y,T]=[2,1],D=Object.create(this.lexer),H={yy:{}};for(let f in this.yy)if(Object.hasOwn(this.yy,f)){let V=this.yy[f];H.yy[f]=V}if(D.setInput($,H.yy),[H.yy.lexer,H.yy.parser]=[D,this],D.yylloc==null)D.yylloc={};N=D.yylloc,Z.push(N),K=D.options?.ranges,this.parseError=typeof H.yy.parseError==="function"?H.yy.parseError:Object.getPrototypeOf(this).parseError,M=()=>{let f;if(f=D.lex()||T,typeof f!=="number")f=this.symbolIds[f]||f;return f},[L,R,u,U,_,j,z,W,J,F]=[null,null,null,null,null,{},null,null,null,null];while(!0){if(u=q[q.length-1],L==null)L=M();if(U=G[u]!=null?G[u][L]:void 0,U==null){if(A="",!P)F=(()=>{let f=[];for(let V in G[u]){if(!Object.hasOwn(G[u],V))continue;if(this.tokenNames[V]&&V>Y)f.push(`'${this.tokenNames[V]}'`)}return f})();throw A=(()=>{if(D.showPosition)return`Parse error on line ${w+1}:
|
|
10
|
-
${
|
|
11
|
-
Expecting ${
|
|
12
|
-
`)>=0){let
|
|
13
|
-
`).map((
|
|
14
|
-
`)}let
|
|
15
|
-
`))return" ".repeat(T)+Q}let
|
|
1
|
+
var d=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),r=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def"]),o={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},t=new Set(Object.keys(o)),Q1=new Set(["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"]),Z1=new Set(["break","continue","debugger"]),X1=new Set(["NEW","TYPEOF","DELETE"]),J1=new Set(["IN","OF","INSTANCEOF"]),n=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),W1=new Set([...n,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}"]),m=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"]),G1=new Set(["+","-"]),R1=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&"]),K1=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}"]),b=new Set(["(","[","{","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),v=new Set([")","]","}","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),z1={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START"},e=new Set(["CATCH","THEN","ELSE","FINALLY",...v]),a=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),_1=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH"]),A1=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),H1=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),c=new Set(["INDENT","OUTDENT","TERMINATOR"]),$1=new Set([".","?."]),F1=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","SPACE?","EXTENDS"]),O1=new Set([...W1,"++","--"]),T1=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),q1=new Set(["*","/","%","//","%%"]),P1=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),u1=new Set(["<<",">>",">>>"]),L1=new Set(["!","~"]),w1=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?[(]))?)([^\n\S]*:(?![=:]))?/,N1=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,I1=/^(?:<=>|[-=]>|~>|~=|:=|=!|===|!==|!\?|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,E1=/^[^\n\S]+/,B1=/^(?:\n[^\n\S]*)+/,j1=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,f1=/^[-=]>/,S1=/^(?:~[=>]|=!)/,V1=/^(?:'''|"""|'|")/,C1=/^(?:[^\\']|\\[\s\S])*/,y1=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,k1=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,h1=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,Y1=/\n+([^\n\S]*)(?=\S)/g,v1=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,U1=/^\w*/,g1=/^(?!.*(.).*\1)[gimsuy]*$/,b1=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,x1=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,l1=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,m1=/\s+$/,c1=/^\s*(?:,|\??\.(?![.\d]))/,n1=65279;function D1(F,T,{pre:U=0,row:Y=0,col:A=0,len:$=0,data:W=null}={}){let D=[F,T];return D.pre=U,D.data=W,D.loc={r:Y,c:A,n:$},D.spaced=U>0,D.newLine=!1,D}function k(F,T,U){let Y=D1(F,T);if(Y.generated=!0,U)Y.origin=U;return Y}function C(F,{row:T=0,col:U=0,len:Y=1}={}){let A=SyntaxError(F);throw A.location={first_line:T,first_column:U,last_column:U+Y-1},A}function p1(F){if(F==null)return NaN;switch(F.charAt(1)){case"b":return parseInt(F.slice(2).replace(/_/g,""),2);case"o":return parseInt(F.slice(2).replace(/_/g,""),8);case"x":return parseInt(F.slice(2).replace(/_/g,""),16);default:return parseFloat(F.replace(/_/g,""))}}class x{tokenize(F,T={}){this.code=F,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=T.row||0,this.col=T.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,F=this.clean(F),this.code=F;while(this.pos<F.length){this.chunk=F.slice(this.pos);let U=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(U===0)C(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(U),T.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let U=this.ends[this.ends.length-1];C(`missing ${U.tag}`,{row:this.row,col:this.col})}if(T.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(F){if(F.charCodeAt(0)===n1)F=F.slice(1);if(F=F.replace(/\r\n?/g,`
|
|
2
|
+
`),F=F.replace(m1,""),/^[^\n\S]/.test(F))F=`
|
|
3
|
+
`+F;return F}advance(F){let T=this.code.slice(this.pos,this.pos+F);for(let U=0;U<T.length;U++)if(T[U]===`
|
|
4
|
+
`)this.row++,this.col=0;else this.col++;this.pos+=F}emit(F,T,{len:U,data:Y,pre:A}={}){let $=D1(F,T,{pre:A??0,row:this.row,col:this.col,len:U??(typeof T==="string"?T.length:0),data:Y});return this.tokens.push($),$}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let F=this.prev();return F?F[0]:void 0}prevVal(){let F=this.prev();return F?F[1]:void 0}identifierToken(){if(S1.test(this.chunk))return 0;let F=w1.exec(this.chunk);if(!F)return 0;let[T,U,Y]=F,A=U.length,$={},W;if(U==="own"&&this.prevTag()==="FOR")return this.emit("OWN",U,{len:A}),A;if(U==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",U,{len:A}),A;if(U==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let Q=this.prevTag();if(Q==="DEFAULT"||Q==="IMPORT_ALL"||Q==="IDENTIFIER")return this.emit("AS",U,{len:A}),A}if((U==="as"||U==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(U==="as!"?"FORASAWAIT":"FORAS","as",{len:A}),A;if(U==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",U,{len:A}),A;if(U==="do"&&/^(\s*super)(?!\(\))/.test(this.chunk.slice(3))){let Q=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3));return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),Q[1].length+3}let D=this.prev();if(Y&&D&&D[0]==="SPACE?")Y=null;if(Y||D&&(D[0]==="."||D[0]==="?."||!D.spaced&&D[0]==="@"))W="PROPERTY";else W="IDENTIFIER";let M=U.endsWith("!")||U.endsWith("?")?U.slice(0,-1):U;if(W==="IDENTIFIER"&&!U.endsWith("!")&&!U.endsWith("?")&&(d.has(U)||r.has(U)||t.has(U))&&!(this.exportSpecifierList&&t.has(U))){if(o[U]!==void 0)$.original=U,U=o[U];W=this.classifyKeyword(U,W,$)}if(W==="IDENTIFIER"&&Q1.has(M))C(`reserved word '${M}'`,{row:this.row,col:this.col,len:A});if(W==="PROPERTY"&&D){if(D[0]==="."&&this.tokens.length>1){let Q=this.tokens[this.tokens.length-2];if(Q[0]==="UNARY"&&Q[1]==="new")Q[0]="NEW_TARGET";if(Q[0]==="IMPORT"&&Q[1]==="import")this.seenImport=!1,Q[0]="IMPORT_META"}}if(U.length>1&&U.endsWith("!"))$.await=!0,U=U.slice(0,-1);if(U.length>1&&U.endsWith("?"))$.predicate=!0,U=U.slice(0,-1);let Z=this.emit(W,U,{len:A,data:Object.keys($).length?$:null});if(Y)return this.emit(":",":",{len:1}),A+Y.length;return A}classifyKeyword(F,T,U){switch(F){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return F}if(Z1.has(F))return"STATEMENT";let Y=F.toUpperCase();if(Y==="WHEN"&&c.has(this.prevTag()))return"LEADING_WHEN";if(Y==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(Y==="UNLESS")return"UNLESS";if(Y==="IMPORT")return this.seenImport=!0,"IMPORT";if(Y==="EXPORT")return this.seenExport=!0,"EXPORT";if(X1.has(Y))return"UNARY";if(J1.has(Y)){if(Y!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+Y;if(this.prevVal()==="!"){let A=this.tokens.pop();U.invert=A.data?.original||A[1]}return"RELATION"}if(d.has(F)||r.has(F))return Y;return T}commentToken(){let F=j1.exec(this.chunk);if(!F)return 0;return F[0].length}whitespaceToken(){let F=E1.exec(this.chunk);if(!F&&this.chunk[0]!==`
|
|
5
|
+
`)return 0;let T=this.prev();if(T)if(F)T.spaced=!0,T.pre=F[0].length;else T.newLine=!0;return F?F[0].length:0}lineToken(){let F=B1.exec(this.chunk);if(!F)return 0;let T=F[0],U=T.length-1-T.lastIndexOf(`
|
|
6
|
+
`);if(this.isUnfinished()){if(U<this.indent&&/^\s*,/.test(this.chunk)&&!F1.has(this.prevTag())){if(this.outdentTo(U,T.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return T.length}return T.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(U===this.indent)return this.emitNewline(),T.length;if(U>this.indent){if(!this.tokens.length)return this.indent=U,T.length;let Y=U-this.indent;return this.emit("INDENT",Y,{len:U}),this.indents.push(Y),this.ends.push({tag:"OUTDENT"}),this.indent=U,T.length}return this.outdentTo(U,T.length),T.length}outdentTo(F,T=0){let U=this.indent-F;while(U>0){let Y=this.indents[this.indents.length-1];if(!Y)U=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",U,{len:T}),U-=Y}this.emitNewline(),this.indent=F}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
|
|
7
|
+
`,{len:0})}isUnfinished(){return c1.test(this.chunk)||F1.has(this.prevTag())}pair(F){let T=this.ends[this.ends.length-1];if(!T||F!==T.tag){if(T?.tag==="OUTDENT"){let U=this.indents[this.indents.length-1];if(U)this.outdentTo(this.indent-U);return this.pair(F)}C(`unmatched ${F}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let F=V1.exec(this.chunk);if(!F)return 0;let T=F[0],U=this.prev();if(U&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))U[0]="FROM";let Y;switch(T){case"'":Y=C1;break;case'"':Y=y1;break;case"'''":Y=k1;break;case'"""':Y=h1;break}let{tokens:A,index:$}=this.matchWithInterpolations(Y,T),W=T.length===3,D=null;if(W)D=this.processHeredocIndent($,T,A);return this.mergeInterpolationTokens(A,{quote:T,indent:D,endOffset:$}),$}processHeredocIndent(F,T,U){let Y=F-T.length,A=Y-1;while(A>=0&&this.chunk[A]!==`
|
|
8
|
+
`)A--;A++;let $=this.chunk.slice(A,Y),W=/^\s*$/.test($)?$.length:null,D="";for(let Q of U)if(Q[0]==="NEOSTRING")D+=Q[1];let M=null,Z;Y1.lastIndex=0;while(Z=Y1.exec(D))if(M===null||Z[1].length>0&&Z[1].length<M.length)M=Z[1];if(W===null)return M;if(M===null)return" ".repeat(W);if(W<=M.length)return" ".repeat(W);return M}matchWithInterpolations(F,T,U,Y){if(!U)U=T;if(!Y)Y=/^[#$]\{/;let A=[],$=T.length;if(this.chunk.slice(0,$)!==T)return null;let W=this.chunk.slice($);while(!0){let[D]=F.exec(W);A.push(["NEOSTRING",D,{offset:$}]),W=W.slice(D.length),$+=D.length;let M=Y.exec(W);if(!M)break;let Q=M[0].length-1,X=W.slice(Q),J=new x().tokenize(X,{row:this.row,col:this.col+$+Q,untilBalanced:!0,rewrite:!1}),R=J.index+Q;if(W[R-1]==="}"){let K=J.tokens[0],_=J.tokens[J.tokens.length-1];K[0]="INTERPOLATION_START",K[1]="(",_[0]="INTERPOLATION_END",_[1]=")"}if(J.tokens[1]?.[0]==="TERMINATOR")J.tokens.splice(1,1);let G=J.tokens.length;if(G>2&&J.tokens[G-3]?.[0]==="INDENT"&&J.tokens[G-2]?.[0]==="OUTDENT")J.tokens.splice(G-3,2);A.push(["TOKENS",J.tokens]),W=W.slice(R),$+=R}if(W.slice(0,U.length)!==U)C(`missing ${U}`,{row:this.row,col:this.col});return{tokens:A,index:$+U.length}}mergeInterpolationTokens(F,{quote:T,indent:U,endOffset:Y}){if(F.length>1)this.emit("STRING_START","(",{len:T?.length||0,data:{quote:T}});for(let A=0;A<F.length;A++){let[$,W]=F[A];if($==="TOKENS")for(let D of W)this.tokens.push(D);else if($==="NEOSTRING"){let D=W;if(U){let M=new RegExp("\\n"+U,"g");D=D.replace(M,`
|
|
9
|
+
`)}if(A===0&&T?.length===3)D=D.replace(/^\n/,"");if(A===F.length-1&&T?.length===3)D=D.replace(/\n[^\S\n]*$/,"");this.emit("STRING",`"${D}"`,{len:W.length,data:{quote:T}})}}if(F.length>1)this.emit("STRING_END",")",{len:T?.length||0});return Y}numberToken(){let F=N1.exec(this.chunk);if(!F)return 0;let T=F[0],U=T.length,Y={row:this.row,col:this.col};if(/^0[BOX]/.test(T))C(`radix prefix in '${T}' must be lowercase`,{...Y,col:Y.col+1});if(/^0\d*[89]/.test(T))C(`decimal literal '${T}' must not be prefixed with '0'`,{...Y,len:U});if(/^0\d+/.test(T))C(`octal literal '${T}' must be prefixed with '0o'`,{...Y,len:U});let A=p1(T),$=A===1/0?"INFINITY":"NUMBER",W={parsedValue:A};if($==="INFINITY")W.original=T;return this.emit($,T,{len:U,data:W}),U}regexToken(){let F=this.matchWithInterpolations(b1,"///");if(F){let{tokens:Z,index:Q}=F,[X]=U1.exec(this.chunk.slice(Q)),J=Q+X.length;if(Z.length===1||!Z.some((R)=>R[0]==="TOKENS")){let R=Z[0]?.[1]||"";this.emit("REGEX",`/${R}/${X}`,{len:J,data:{delimiter:"///",heregex:{flags:X}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(Z,{quote:"///",endOffset:J-X.length}),X)this.emit(",",",",{len:0}),this.emit("STRING",`"${X}"`,{len:X.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return J}let T=v1.exec(this.chunk);if(!T)return 0;let[U,Y,A]=T,$=this.prev();if($){if($.spaced&&n.has($[0])&&(!A||/^\/=?\s/.test(U)))return 0;if(O1.has($[0])&&!($.spaced&&n.has($[0])))return 0}if(!A)C("missing / (unclosed regex)",{row:this.row,col:this.col});let W=U.length,[D]=U1.exec(this.chunk.slice(W)),M=W+D.length;if(!g1.test(D))C(`invalid regular expression flags ${D}`,{row:this.row,col:this.col+W,len:D.length});return this.emit("REGEX",`/${Y}/${D}`,{len:M,data:{delimiter:"/"}}),M}jsToken(){if(this.chunk[0]!=="`")return 0;let F=l1.exec(this.chunk)||x1.exec(this.chunk);if(!F)return 0;let T=F[1],U=F[0].length;return this.emit("JS",T,{len:U,data:{here:F[0].startsWith("```")}}),U}literalToken(){let F=I1.exec(this.chunk),T=F?F[0]:this.chunk.charAt(0),U=T,Y=this.prev();if(f1.test(T))this.tagParameters();if(Y&&(T==="="||T1.has(T))){if(T==="="&&(Y[1]==="||"||Y[1]==="&&"||Y[1]==="??")&&!Y.spaced)return Y[0]="COMPOUND_ASSIGN",Y[1]+="=",T.length}if(T==="("&&Y?.[0]==="IMPORT")Y[0]="DYNAMIC_IMPORT";if(T==="{"&&this.seenImport)this.importSpecifierList=!0;if(T==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(T==="{"&&Y?.[0]==="EXPORT")this.exportSpecifierList=!0;if(T==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(T===";")this.seenFor=this.seenImport=this.seenExport=!1,U="TERMINATOR";else if(T==="~=")U="COMPUTED_ASSIGN";else if(T===":=")U="REACTIVE_ASSIGN";else if(T==="~>")U="REACT_ASSIGN";else if(T==="=!")U="READONLY_ASSIGN";else if(T==="*"&&Y?.[0]==="EXPORT")U="EXPORT_ALL";else if(q1.has(T))U="MATH";else if(P1.has(T))U="COMPARE";else if(T1.has(T))U="COMPOUND_ASSIGN";else if(L1.has(T))U="UNARY_MATH";else if(u1.has(T))U="SHIFT";else if(T==="?"&&Y?.spaced)U="SPACE?";else if(Y){if(T==="("&&!Y.spaced&&n.has(Y[0])){if(Y[0]==="?.")Y[0]="ES6_OPTIONAL_CALL";U="CALL_START"}if(T==="["&&!Y.spaced&&W1.has(Y[0])){if(U="INDEX_START",Y[0]==="?.")Y[0]="ES6_OPTIONAL_INDEX"}}if(T==="("||T==="{"||T==="[")this.ends.push({tag:z1[T],origin:[U,T]});else if(T===")"||T==="}"||T==="]")this.pair(T);return this.emit(U,T,{len:T.length}),T.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let F=this.tokens.length-1,T=[];this.tokens[F][0]="PARAM_END";while(F-- >0){let U=this.tokens[F];if(U[0]===")")T.push(U);else if(U[0]==="("||U[0]==="CALL_START")if(T.length)T.pop();else if(U[0]==="(")return U[0]="PARAM_START",this.tagDoIife(F-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(F){let T=this.tokens[F??this.tokens.length-1];if(T?.[0]==="DO")T[0]="DO_IIFE"}rewrite(F){return this.tokens=F,this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let F=0;while(this.tokens[F]?.[0]==="TERMINATOR")F++;if(F>0)this.tokens.splice(0,F)}closeOpenCalls(){this.scanTokens((F,T)=>{if(F[0]==="CALL_START")this.detectEnd(T+1,(U)=>U[0]===")"||U[0]==="CALL_END",(U)=>U[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((F,T)=>{if(F[0]==="INDEX_START")this.detectEnd(T+1,(U)=>U[0]==="]"||U[0]==="INDEX_END",(U,Y)=>{if(this.tokens[Y+1]?.[0]===":")F[0]="[",U[0]="]";else U[0]="INDEX_END"});return 1})}normalizeLines(){let F=null,T=null,U=null,Y=null,A=(W,D)=>{return W[1]!==";"&&H1.has(W[0])&&!(W[0]==="TERMINATOR"&&e.has(this.tokens[D+1]?.[0]))&&!(W[0]==="ELSE"&&F!=="THEN")||W[0]===","&&(F==="->"||F==="=>")&&!(Y!=null&&a.has(this.tokens[Y]?.[0])&&this.tokens[Y]?.spaced&&(m.has(this.tokens[Y+1]?.[0])||this.tokens[Y+1]?.[0]==="..."&&m.has(this.tokens[Y+2]?.[0])))||$1.has(W[0])&&(this.tokens[D-1]?.newLine||this.tokens[D-1]?.[0]==="OUTDENT")},$=(W,D)=>{let M=this.tokens[D-1]?.[0]===","?D-1:D;this.tokens.splice(M,0,U)};this.scanTokens((W,D,M)=>{let[Z]=W;if(Z==="TERMINATOR"){if(this.tokens[D+1]?.[0]==="ELSE"&&this.tokens[D-1]?.[0]!=="OUTDENT")return M.splice(D,1,...this.makeIndentation()),1;if(e.has(this.tokens[D+1]?.[0]))return M.splice(D,1),0}if(Z==="CATCH")for(let Q=1;Q<=2;Q++){let X=this.tokens[D+Q]?.[0];if(X==="OUTDENT"||X==="TERMINATOR"||X==="FINALLY")return M.splice(D+Q,0,...this.makeIndentation()),2+Q}if((Z==="->"||Z==="=>")&&(this.tokens[D+1]?.[0]===","||this.tokens[D+1]?.[0]==="]"))return[T,U]=this.makeIndentation(),M.splice(D+1,0,T,U),1;if(A1.has(Z)&&this.tokens[D+1]?.[0]!=="INDENT"&&!(Z==="ELSE"&&this.tokens[D+1]?.[0]==="IF")){if(F=Z,Y=D+2,[T,U]=this.makeIndentation(),Z==="THEN")T.fromThen=!0;if(M.splice(D+1,0,T),this.detectEnd(D+2,A,$),Z==="THEN")M.splice(D,1);return 1}return 1})}tagPostfixConditionals(){let F=null,T=(Y,A)=>{return Y[0]==="TERMINATOR"||Y[0]==="INDENT"&&!A1.has(this.tokens[A-1]?.[0])},U=(Y)=>{if(Y[0]!=="INDENT"||Y.generated&&!Y.fromThen)F[0]="POST_"+F[0]};this.scanTokens((Y,A)=>{if(Y[0]!=="IF"&&Y[0]!=="UNLESS")return 1;return F=Y,this.detectEnd(A+1,T,U),1})}addImplicitBracesAndParens(){let F=[],T=!1;this.scanTokens((U,Y,A)=>{let[$]=U,W=A[Y-1]||[],D=A[Y+1]||[],[M]=W,[Z]=D,Q=Y,X=(O)=>Y-Q+O,J=()=>F[F.length-1],R=(O)=>O?.[2]?.ours,G=()=>R(J())&&J()?.[0]==="(",K=()=>R(J())&&J()?.[0]==="{",_=(O)=>{F.push(["(",O,{ours:!0}]),A.splice(O,0,k("CALL_START","("))},z=()=>{F.pop(),A.splice(Y,0,k("CALL_END",")")),Y+=1},q=(O,w={})=>{F.push(["{",O,{sameLine:!0,startsLine:w.startsLine??!0,ours:!0}]);let I=k("{","{");if(!I.data)I.data={};I.data.generated=!0,A.splice(O,0,I)},H=(O)=>{O=O??Y,F.pop(),A.splice(O,0,k("}","}")),Y+=1};if((G()||K())&&_1.has($))return F.push(["CONTROL",Y,{ours:!0}]),X(1);if($==="INDENT"&&R(J())){if(M!=="=>"&&M!=="->"&&M!=="["&&M!=="("&&M!==","&&M!=="{"&&M!=="ELSE"&&M!=="=")while(G()||K()&&M!==":")if(G())z();else H();if(J()?.[2]?.ours&&J()[0]==="CONTROL")F.pop();return F.push([$,Y]),X(1)}if(b.has($))return F.push([$,Y]),X(1);if(v.has($)){while(R(J()))if(G())z();else if(K())H();else F.pop();F.pop()}if(a.has($)&&U.spaced&&(m.has(Z)||Z==="..."&&m.has(A[Y+2]?.[0])||G1.has(Z)&&!D.spaced&&!D.newLine)&&!(($==="]"||$==="}")&&(Z==="->"||Z==="=>")))return _(Y+1),X(2);if(a.has($)&&this.tokens[Y+1]?.[0]==="INDENT"&&this.looksObjectish(Y+2)&&!this.findTagsBackwards(Y,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return _(Y+1),F.push(["INDENT",Y+2]),X(3);if($==="SPACE?")T=!0;if($===":"){if(T)return T=!1,X(1);let O=v.has(this.tokens[Y-1]?.[0])?F[F.length-1]?.[1]??Y-1:Y-1;if(this.tokens[Y-2]?.[0]==="@")O=Y-2;let w=O<=0||c.has(this.tokens[O-1]?.[0])||this.tokens[O-1]?.newLine;if(J()){let[I,N]=J(),S=F[F.length-2];if((I==="{"||I==="INDENT"&&S?.[0]==="{"&&!R(S))&&(w||this.tokens[O-1]?.[0]===","||this.tokens[O-1]?.[0]==="{"||this.tokens[O]?.[0]==="{"))return X(1)}return q(O,{startsLine:!!w}),X(2)}if(c.has($))for(let O=F.length-1;O>=0;O--){if(!R(F[O]))break;if(F[O][0]==="{")F[O][2].sameLine=!1}let u=M==="OUTDENT"||W.newLine,P=$==="||"||$==="&&",L=!1;if(P){let O=Y+1,w=A[O]?.[0];if(w==="("||w==="["||w==="{"){for(let I=1;++O<A.length&&I>0;)if(w=A[O][0],w==="("||w==="["||w==="{")I++;else if(w===")"||w==="]"||w==="}")I--}else if(w&&w!=="TERMINATOR"&&w!=="OUTDENT"&&w!==",")O++;L=A[O]?.[0]===","}if(R1.has($)&&!L||$1.has($)&&u)while(R(J())){let[O,,{sameLine:w,startsLine:I}]=J();if(G()&&M!==",")z();else if(K()&&!P&&w&&$!=="TERMINATOR"&&M!==":")H();else if(K()&&$==="TERMINATOR"&&M!==","&&!(I&&this.looksObjectish(Y+1)))H();else if(J()?.[2]?.ours&&J()[0]==="CONTROL"&&A[J()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")F.pop();else break}if($===","&&!this.looksObjectish(Y+1)&&K()&&(Z!=="TERMINATOR"||!this.looksObjectish(Y+2))){let O=Z==="OUTDENT"?1:0;while(K())H(Y+O)}return X(1)})}addImplicitCallCommas(){let F=0,T=0,U=this.tokens;while(T<U.length){let Y=U[T][0],A=T>0?U[T-1][0]:null;if(Y==="CALL_START"||Y==="(")F++;if(Y==="CALL_END"||Y===")")F--;if(F>0&&(Y==="->"||Y==="=>")&&K1.has(A))U.splice(T,0,k(",",",")),T++;T++}}scanTokens(F){let T=0;while(T<this.tokens.length)T+=F.call(this,this.tokens[T],T,this.tokens)}detectEnd(F,T,U,Y={}){let A=0;while(F<this.tokens.length){let $=this.tokens[F];if(A===0&&T.call(this,$,F))return U.call(this,$,F);if(b.has($[0]))A++;if(v.has($[0]))A--;if(A<0){if(Y.returnOnNegativeLevel)return;return U.call(this,$,F)}F++}}looksObjectish(F){if(!this.tokens[F])return!1;if(this.tokens[F]?.[0]==="@"&&this.tokens[F+2]?.[0]===":")return!0;if(this.tokens[F+1]?.[0]===":")return!0;if(b.has(this.tokens[F]?.[0])){let T=null;if(this.detectEnd(F+1,(U)=>v.has(U[0]),(U,Y)=>T=Y),T&&this.tokens[T+1]?.[0]===":")return!0}return!1}findTagsBackwards(F,T){let U=new Set(T),Y=[];while(F>=0){let A=this.tokens[F]?.[0];if(!Y.length&&U.has(A))return!0;if(v.has(A))Y.push(A);if(b.has(A)&&Y.length)Y.pop();if(!Y.length&&(b.has(A)&&!this.tokens[F]?.generated||c.has(A)))break;F--}return!1}makeIndentation(F){let T=k("INDENT",2),U=k("OUTDENT",2);if(F)T.generated=U.generated=!0,T.origin=U.origin=F;else T.explicit=U.explicit=!0;return[T,U]}}var i1={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,ReactAssign:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Throw:28,Yield:29,Def:30,CodeLine:31,OperationLine:32,Assignable:33,Literal:34,Parenthetical:35,Range:36,Invocation:37,DoIife:38,This:39,Super:40,MetaProperty:41,AlphaNumeric:42,JS:43,Regex:44,UNDEFINED:45,NULL:46,BOOL:47,INFINITY:48,NAN:49,NUMBER:50,String:51,Identifier:52,IDENTIFIER:53,Property:54,PROPERTY:55,STRING:56,STRING_START:57,Interpolations:58,STRING_END:59,InterpolationChunk:60,INTERPOLATION_START:61,INTERPOLATION_END:62,INDENT:63,OUTDENT:64,REGEX:65,REGEX_START:66,REGEX_END:67,RegexWithIndex:68,",":69,"=":70,REACTIVE_ASSIGN:71,COMPUTED_ASSIGN:72,READONLY_ASSIGN:73,REACT_ASSIGN:74,SimpleAssignable:75,Array:76,Object:77,ThisProperty:78,".":79,"?.":80,INDEX_START:81,INDEX_END:82,Slice:83,ES6_OPTIONAL_INDEX:84,"{":85,ObjAssignable:86,":":87,FOR:88,ForVariables:89,FOROF:90,OptComma:91,"}":92,WHEN:93,OWN:94,AssignList:95,AssignObj:96,ObjRestValue:97,SimpleObjAssignable:98,"[":99,"]":100,"@":101,"...":102,ObjSpreadExpr:103,SUPER:104,Arguments:105,DYNAMIC_IMPORT:106,Elisions:107,ArgElisionList:108,OptElisions:109,ArgElision:110,Arg:111,Elision:112,RangeDots:113,"..":114,DEF:115,CALL_START:116,ParamList:117,CALL_END:118,Block:119,PARAM_START:120,PARAM_END:121,FuncGlyph:122,"->":123,"=>":124,Param:125,ParamVar:126,Splat:127,ES6_OPTIONAL_CALL:128,ArgList:129,SimpleArgs:130,THIS:131,NEW_TARGET:132,IMPORT_META:133,"(":134,")":135,RETURN:136,THROW:137,YIELD:138,FROM:139,IfBlock:140,IF:141,ELSE:142,UnlessBlock:143,UNLESS:144,POST_IF:145,POST_UNLESS:146,TRY:147,Catch:148,FINALLY:149,CATCH:150,SWITCH:151,Whens:152,When:153,LEADING_WHEN:154,WhileSource:155,WHILE:156,UNTIL:157,Loop:158,LOOP:159,FORIN:160,BY:161,FORAS:162,AWAIT:163,FORASAWAIT:164,ForValue:165,CLASS:166,EXTENDS:167,IMPORT:168,ImportDefaultSpecifier:169,ImportNamespaceSpecifier:170,ImportSpecifierList:171,ImportSpecifier:172,AS:173,DEFAULT:174,IMPORT_ALL:175,EXPORT:176,ExportSpecifierList:177,EXPORT_ALL:178,ExportSpecifier:179,UNARY:180,DO:181,DO_IIFE:182,UNARY_MATH:183,"-":184,"+":185,"?":186,"--":187,"++":188,MATH:189,"**":190,SHIFT:191,COMPARE:192,"&":193,"^":194,"|":195,"||":196,"??":197,"&&":198,"!?":199,RELATION:200,"SPACE?":201,COMPOUND_ASSIGN:202},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",43:"JS",45:"UNDEFINED",46:"NULL",47:"BOOL",48:"INFINITY",49:"NAN",50:"NUMBER",53:"IDENTIFIER",55:"PROPERTY",56:"STRING",57:"STRING_START",59:"STRING_END",61:"INTERPOLATION_START",62:"INTERPOLATION_END",63:"INDENT",64:"OUTDENT",65:"REGEX",66:"REGEX_START",67:"REGEX_END",69:",",70:"=",71:"REACTIVE_ASSIGN",72:"COMPUTED_ASSIGN",73:"READONLY_ASSIGN",74:"REACT_ASSIGN",79:".",80:"?.",81:"INDEX_START",82:"INDEX_END",84:"ES6_OPTIONAL_INDEX",85:"{",87:":",88:"FOR",90:"FOROF",92:"}",93:"WHEN",94:"OWN",99:"[",100:"]",101:"@",102:"...",104:"SUPER",106:"DYNAMIC_IMPORT",114:"..",115:"DEF",116:"CALL_START",118:"CALL_END",120:"PARAM_START",121:"PARAM_END",123:"->",124:"=>",128:"ES6_OPTIONAL_CALL",131:"THIS",132:"NEW_TARGET",133:"IMPORT_META",134:"(",135:")",136:"RETURN",137:"THROW",138:"YIELD",139:"FROM",141:"IF",142:"ELSE",144:"UNLESS",145:"POST_IF",146:"POST_UNLESS",147:"TRY",149:"FINALLY",150:"CATCH",151:"SWITCH",154:"LEADING_WHEN",156:"WHILE",157:"UNTIL",159:"LOOP",160:"FORIN",161:"BY",162:"FORAS",163:"AWAIT",164:"FORASAWAIT",166:"CLASS",167:"EXTENDS",168:"IMPORT",173:"AS",174:"DEFAULT",175:"IMPORT_ALL",176:"EXPORT",178:"EXPORT_ALL",180:"UNARY",181:"DO",182:"DO_IIFE",183:"UNARY_MATH",184:"-",185:"+",186:"?",187:"--",188:"++",189:"MATH",190:"**",191:"SHIFT",192:"COMPARE",193:"&",194:"^",195:"|",196:"||",197:"??",198:"&&",199:"!?",200:"RELATION",201:"SPACE?",202:"COMPOUND_ASSIGN"},parseTable:(()=>{let F=[101,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,-1,1,2,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,1,1,0,2,1,5,-2,101,5,1,5,56,2,71,-3,-3,-3,-3,-3,30,1,5,56,1,1,5,19,12,18,17,10,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,120,-6,-6,-6,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,9,1,5,56,1,1,5,31,18,17,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,56,1,1,5,31,18,17,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,121,122,123,90,91,52,1,5,45,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,125,99,100,-13,-13,-13,-13,128,129,130,-13,131,-13,-13,-13,-13,-13,-13,-13,126,-13,132,-13,-13,127,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,124,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,44,1,5,56,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,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,133,134,135,-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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,9,1,5,56,1,1,5,31,18,17,-30,-30,-30,-30,-30,-30,-30,-30,-30,9,1,5,56,1,1,5,31,18,17,-31,-31,-31,-31,-31,-31,-31,-31,-31,13,1,5,56,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,56,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,56,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,56,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,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,136,137,138,139,140,-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,-32,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,50,1,5,50,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,20,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,50,1,5,50,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,20,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,50,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,20,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,50,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,20,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,50,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,20,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,50,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,20,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,18,6,46,1,10,1,5,7,1,1,7,14,2,1,15,1,3,4,1,-170,145,98,-170,-170,-170,147,148,146,93,150,149,144,141,-170,-170,142,143,100,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,152,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,153,96,97,50,49,66,67,87,93,56,77,81,78,79,61,151,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,97,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,154,155,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,97,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,157,158,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,159,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,165,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,166,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,167,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,168,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,45,14,1,18,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,48,170,171,172,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,169,66,67,87,93,77,81,78,79,160,161,84,85,80,82,83,76,164,45,14,1,18,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,48,170,171,172,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,173,66,67,87,93,77,81,78,79,160,161,84,85,80,82,83,76,164,58,1,5,50,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,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,174,175,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,176,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,178,177,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,179,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,7,3,1,10,1,3,1,1,2,20,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,180,-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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,2,63,56,153,181,2,63,56,153,182,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,14,36,16,1,23,1,1,7,4,5,5,2,25,37,2,186,145,98,147,148,146,93,183,184,77,149,188,185,187,95,7,2,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,8,4,1,1,1,1,1,2,1,189,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,190,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,88,1,5,8,1,18,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,15,2,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,170,171,172,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-299,153,-299,96,97,-299,193,66,67,87,-299,93,-299,-299,-299,-299,-299,77,-299,81,-299,78,79,-299,-299,191,160,-299,161,84,85,80,82,83,76,-299,-299,-299,-299,-299,-299,-299,-299,-299,192,164,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,95,7,2,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,8,4,1,1,1,1,1,2,1,194,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,195,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,131,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,196,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-221,197,-221,96,97,-221,50,49,66,67,87,-221,93,-221,-221,-221,-221,-221,77,-221,81,-221,78,79,-221,61,-221,160,-221,161,84,85,80,82,83,76,-221,63,59,60,198,51,88,52,89,-221,-221,53,57,54,-221,-221,55,92,-221,-221,-221,46,-221,58,64,65,162,163,164,43,44,45,47,48,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,2,52,1,199,98,6,15,16,89,2,1,1,201,200,39,40,84,85,130,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,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,8,4,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,202,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-218,203,-218,96,97,-218,50,49,66,67,87,-218,93,-218,-218,-218,-218,-218,77,-218,81,-218,78,79,-218,61,-218,160,-218,161,84,85,80,82,83,76,-218,63,59,60,51,88,52,89,-218,-218,53,57,54,-218,-218,55,92,-218,-218,-218,46,-218,58,64,65,162,163,164,43,44,45,47,48,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,9,51,1,1,3,1,28,84,1,5,204,208,98,99,100,207,205,206,209,9,27,3,22,1,32,30,51,8,4,211,212,213,98,210,61,58,214,215,55,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,55,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,50,1,5,50,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,20,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,50,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,20,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,50,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,20,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,50,1,5,50,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,20,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,50,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,20,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,50,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,20,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,50,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,20,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,50,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,20,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,100,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,216,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,217,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,218,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,224,96,97,225,50,49,66,67,87,93,56,77,219,81,229,78,79,220,221,223,226,222,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,4,79,2,24,11,231,232,230,132,2,105,11,233,132,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,52,1,5,48,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,234,235,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,1,79,236,1,79,237,51,11,32,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,8,4,1,1,1,1,1,2,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,51,11,32,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,8,4,1,1,1,1,1,2,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,59,1,5,50,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,17,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,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,59,1,5,50,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,17,1,1,1,1,1,1,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,-87,-87,-87,-87,94,7,2,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,8,4,1,1,1,1,1,2,1,238,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,239,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,240,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,241,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,96,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,243,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,153,96,97,50,49,66,67,87,93,56,77,81,78,79,61,242,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,23,6,36,8,1,1,1,1,1,1,1,6,1,5,9,8,6,3,1,1,1,1,2,1,-106,249,94,95,251,98,252,235,99,100,-106,-106,-106,253,244,-106,245,250,254,246,247,248,255,50,1,5,50,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,20,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,50,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,20,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,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,45,14,1,18,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,48,170,171,172,31,32,33,256,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,257,66,67,87,93,77,81,78,79,160,161,84,85,80,82,83,76,164,61,1,5,50,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,6,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,53,1,5,50,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,20,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,-53,-53,-53,6,51,5,1,1,2,1,261,99,100,258,259,260,103,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,-5,262,-5,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-5,-5,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,-5,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,263,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,264,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,265,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,266,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,267,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,268,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,269,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,270,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,271,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,274,156,272,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,273,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,277,156,275,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,276,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,280,156,278,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,279,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,281,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,282,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,283,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,284,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,285,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,14,36,16,1,23,1,1,7,4,5,5,2,25,37,2,289,145,98,147,148,146,93,286,287,77,149,188,288,187,94,7,2,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,8,4,1,1,1,1,1,2,1,290,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,291,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,51,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,51,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,2,105,11,292,132,2,54,1,293,235,2,54,1,294,235,100,7,2,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,8,4,1,1,1,1,1,2,1,295,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,300,71,72,73,74,75,94,95,86,98,99,100,296,96,97,298,50,49,66,67,87,297,93,56,77,81,302,78,79,299,301,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,81,303,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,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,307,96,97,50,49,66,67,87,93,56,77,81,229,78,79,306,61,304,39,40,84,85,228,305,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,2,54,1,309,235,2,54,1,310,235,95,7,2,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,8,4,1,1,1,1,1,2,1,311,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,312,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,314,313,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,315,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,317,316,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,318,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,320,319,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,321,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,323,322,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,324,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,326,325,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,327,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,9,6,57,1,5,22,1,8,18,3,-214,-214,-214,329,330,-214,-214,-214,328,6,6,57,1,5,49,3,-171,-171,-171,-171,-171,-171,7,6,57,1,5,1,48,3,-175,-175,-175,-175,331,-175,-175,15,6,46,1,10,1,5,7,1,1,7,14,2,17,3,5,-178,145,98,-178,-178,-178,147,148,146,93,150,149,-178,-178,332,11,6,57,1,5,1,20,28,3,39,2,2,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,11,6,57,1,5,1,20,28,3,39,2,2,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,11,6,57,1,5,1,20,28,3,39,2,2,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,11,6,57,1,5,1,20,28,3,39,2,2,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,2,54,1,234,235,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,224,96,97,225,50,49,66,67,87,93,56,77,219,81,229,78,79,220,221,223,226,222,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,9,1,5,56,1,1,5,31,18,17,-167,-167,-167,-167,-167,-167,-167,-167,-167,100,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,334,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,333,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,118,119,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,112,-350,114,-350,-350,9,1,5,56,1,1,5,31,18,17,-347,-347,-347,-347,-347,-347,-347,-347,-347,5,145,1,9,1,1,121,122,123,90,91,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,118,119,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,112,-351,114,-351,-351,9,1,5,56,1,1,5,31,18,17,-348,-348,-348,-348,-348,-348,-348,-348,-348,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,118,119,-352,-352,-352,-352,-352,-352,-352,-352,-352,105,-352,-352,-352,-352,-352,-352,112,-352,114,-352,-352,18,6,46,1,10,1,5,7,1,1,7,14,2,1,15,1,3,4,1,-170,145,98,-170,-170,-170,147,148,146,93,150,149,144,335,-170,-170,142,143,2,63,56,153,151,94,7,2,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,8,4,1,1,1,1,1,2,1,154,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,157,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,5,15,105,2,1,1,201,160,161,84,85,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,118,119,-353,-353,-353,-353,-353,-353,-353,-353,-353,105,-353,-353,-353,-353,-353,-353,112,-353,114,-353,-353,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,118,119,-354,-354,-354,-354,-354,-354,-354,-354,-354,105,-354,-354,-354,-354,-354,-354,112,-354,114,-354,-354,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,118,119,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,112,-356,114,-356,-356,2,77,8,336,93,55,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-83,-83,-358,-358,-358,-358,-83,-83,-83,-83,-83,-83,-83,-83,-358,-83,-358,-358,-358,-358,-358,-358,-358,-358,-83,-358,-358,-83,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-83,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,10,51,5,1,22,1,1,3,21,11,12,125,99,100,128,129,130,131,126,132,127,3,79,1,1,133,134,135,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,55,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-83,-83,-359,-359,-359,-359,-83,-83,-83,-83,-83,-83,-83,-83,-359,-83,-359,-359,-359,-359,-359,-359,-359,-359,-83,-359,-359,-83,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-83,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,339,337,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,338,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,120,-80,-80,-80,-80,-80,-80,-80,-80,-80,117,118,119,90,91,-80,-80,-80,-80,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,340,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,341,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,3,63,56,22,153,342,343,44,1,5,56,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,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,344,345,346,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,4,90,70,2,2,348,347,349,350,11,52,1,23,1,1,7,4,10,2,25,39,145,98,147,148,146,93,351,150,149,188,187,11,52,1,23,1,1,7,4,10,2,25,39,145,98,147,148,146,93,352,150,149,188,187,3,63,56,42,153,353,354,5,69,21,70,2,2,355,-297,-297,-297,-297,6,69,1,20,70,2,2,-295,356,-295,-295,-295,-295,22,63,25,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,357,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,3,152,1,1,358,359,360,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,94,7,2,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,8,4,1,1,1,1,1,2,1,361,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,57,1,5,50,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,17,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-83,-83,-303,153,-303,-303,-83,-83,-83,-83,-83,-83,-83,-83,-303,-83,-303,-303,-303,-303,-303,-303,-303,-303,-83,-303,362,-303,-83,-303,-303,-303,-303,-303,-303,-303,-303,-303,363,-303,-303,-83,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-219,-219,-219,-219,-219,-219,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,77,8,364,93,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-222,-222,-222,-222,-222,-222,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,77,8,365,93,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,366,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,3,63,53,3,153,367,368,9,1,5,56,1,1,5,31,18,17,-349,-349,-349,-349,-349,-349,-349,-349,-349,50,1,5,50,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,20,1,1,3,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,-386,-386,-386,-386,-386,-386,-386,-386,-386,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,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,118,119,-216,-216,-216,-216,-216,-216,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,77,8,369,93,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,2,69,70,371,370,1,139,372,7,52,1,10,29,79,1,2,377,98,376,373,374,375,378,2,69,70,-323,-323,1,173,379,7,52,1,10,29,82,3,2,384,98,383,380,385,381,382,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,1,70,386,95,7,2,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,8,4,1,1,1,1,1,2,1,387,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,388,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,139,389,2,6,129,101,390,99,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,391,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,30,6,57,1,5,19,12,2,11,1,4,27,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,120,-196,302,392,301,-196,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,55,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,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,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,225,50,49,66,67,87,93,56,77,393,81,229,78,79,395,394,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,9,6,57,1,5,22,1,8,9,9,-214,-214,-214,397,398,-214,-214,396,-214,56,6,5,32,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,8,4,1,1,1,1,1,2,1,399,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,5,6,57,1,5,31,-142,-142,-142,-142,-142,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,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,224,96,97,225,50,49,66,67,87,93,56,77,81,229,78,79,401,400,223,226,222,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,56,6,5,32,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,8,4,1,1,1,1,1,2,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,5,6,57,1,5,31,-147,-147,-147,-147,-147,6,6,57,1,5,31,18,-197,-197,-197,-197,-197,-197,6,6,57,1,5,31,18,-198,-198,-198,-198,-198,-198,100,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,-199,402,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-199,-199,96,97,-199,50,49,66,67,87,93,56,77,-199,81,78,79,61,-199,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,51,1,5,50,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,20,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,2,54,1,403,235,95,7,2,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,8,4,1,1,1,1,1,2,1,404,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,405,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,51,1,5,50,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,20,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,59,1,5,50,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,17,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,59,1,5,50,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,17,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-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,2,54,1,406,235,2,54,1,407,235,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,408,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,409,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,120,-251,-251,410,-251,-251,-251,-251,-251,-251,-251,118,119,90,91,-251,-251,-251,-251,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,120,-253,-253,411,-253,-253,-253,-253,-253,-253,-253,118,119,90,91,-253,-253,-253,-253,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,120,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,118,119,90,91,-260,-260,-260,-260,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,6,6,57,1,5,18,5,-111,-111,-111,-111,412,-111,8,6,57,1,5,22,1,8,18,-214,-214,-214,414,413,-214,-214,-214,7,6,57,1,5,1,17,5,-120,-120,-120,-120,415,-120,-120,94,7,2,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,8,4,1,1,1,1,1,2,1,416,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,3,54,1,44,234,235,417,6,6,57,1,5,18,5,-123,-123,-123,-123,-123,-123,5,6,57,1,5,23,-107,-107,-107,-107,-107,11,6,57,1,5,1,9,1,1,6,5,24,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,11,6,57,1,5,1,9,1,1,6,5,24,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,11,6,57,1,5,1,9,1,1,6,5,24,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,5,6,57,1,5,23,-112,-112,-112,-112,-112,17,35,4,1,12,1,1,1,22,1,7,13,3,2,1,2,25,3,421,423,422,251,98,252,235,420,253,93,418,81,419,424,425,80,76,51,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,426,-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,55,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,6,51,5,1,2,1,1,261,99,100,427,428,260,4,56,1,2,2,-55,-55,-55,-55,101,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,429,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,431,430,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,4,56,1,2,2,-60,-60,-60,-60,5,1,5,56,2,71,-4,-4,-4,-4,-4,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,118,119,-362,-362,-362,-362,-362,-362,-362,-362,104,105,-362,-362,-362,-362,-362,-362,112,-362,114,-362,-362,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,118,119,-363,-363,-363,-363,-363,-363,-363,-363,104,105,-363,-363,-363,-363,-363,-363,112,-363,114,-363,-363,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-364,-364,-364,-364,-364,-364,-364,-364,-364,105,-364,-364,-364,-364,-364,-364,112,-364,114,-364,-364,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-365,-365,-365,-365,-365,-365,-365,-365,-365,105,-365,-365,-365,-365,-365,-365,112,-365,114,-365,-365,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-366,-366,-366,-366,-366,-366,103,102,104,105,-366,-366,-366,-366,-366,-366,112,-366,114,-366,-366,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-367,-367,-367,-367,-367,-367,103,102,104,105,106,-367,-367,-367,-367,-367,112,-367,114,115,-367,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-368,-368,-368,-368,-368,-368,103,102,104,105,106,107,-368,-368,-368,-368,112,-368,114,115,-368,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-369,-369,-369,-369,-369,-369,103,102,104,105,106,107,108,-369,-369,-369,112,-369,114,115,-369,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-370,-370,-370,-370,-370,-370,103,102,104,105,106,107,108,109,-370,-370,112,-370,114,115,-370,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-378,-378,-378,-378,-378,-378,103,102,104,105,106,107,108,109,110,-378,112,113,114,115,-378,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,-379,-379,120,-379,-379,-379,-379,-379,-379,-379,-379,-379,117,118,119,90,91,-379,-379,-379,-379,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-377,-377,-377,-377,-377,-377,103,102,104,105,106,107,108,109,110,-377,112,-377,114,115,-377,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,-380,-380,120,-380,-380,-380,-380,-380,-380,-380,-380,-380,117,118,119,90,91,-380,-380,-380,-380,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-381,-381,-381,-381,-381,-381,103,102,104,105,106,-381,-381,-381,-381,-381,112,-381,114,-381,-381,22,87,1,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,432,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,120,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,118,119,90,91,-233,-233,-233,-233,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,120,-235,-235,-235,-235,-235,-235,-235,-235,-235,117,118,119,90,91,-235,-235,-235,-235,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,4,90,70,2,2,434,433,435,436,11,52,1,23,1,1,7,4,10,2,25,39,145,98,147,148,146,93,437,150,149,188,187,11,52,1,23,1,1,7,4,10,2,25,39,145,98,147,148,146,93,438,150,149,188,187,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,-293,-293,-293,-293,439,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,120,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,118,119,90,91,-232,-232,-232,-232,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,120,-234,-234,-234,-234,-234,-234,-234,-234,-234,117,118,119,90,91,-234,-234,-234,-234,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,51,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,59,1,5,50,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,17,1,1,1,1,1,1,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,-88,-88,-88,-88,59,1,5,50,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,17,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,25,82,6,14,11,1,31,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,440,120,302,441,301,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,98,7,2,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,8,4,1,1,1,1,1,2,1,442,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,443,93,56,77,81,302,78,79,299,301,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,82,444,1,82,445,96,7,2,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,8,4,1,1,1,1,1,2,1,446,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-161,96,97,50,49,66,67,87,-161,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,447,-43,-43,-43,-64,-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,52,11,32,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,8,4,1,1,1,1,1,2,1,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,52,11,32,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,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,95,7,2,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,8,4,1,1,1,1,1,2,1,448,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,449,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,51,1,5,50,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,20,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,8,6,57,1,5,22,1,8,18,-214,-214,-214,451,450,-214,-214,-214,5,6,57,1,5,49,-191,-191,-191,-191,-191,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,307,96,97,50,49,66,67,87,93,56,77,81,229,78,79,306,61,39,40,84,85,228,452,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,27,6,57,1,5,19,12,18,27,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,120,-196,-196,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,59,1,5,50,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,17,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,59,1,5,50,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,17,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,82,6,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,453,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,454,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,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,118,119,-65,-65,-65,-65,-65,-65,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,455,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,456,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,120,-68,-68,-68,-68,-68,-68,-68,-68,-68,117,118,119,90,91,-68,-68,-68,-68,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,457,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,458,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,120,-71,-71,-71,-71,-71,-71,-71,-71,-71,117,118,119,90,91,-71,-71,-71,-71,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,459,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,460,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,120,-74,-74,-74,-74,-74,-74,-74,-74,-74,117,118,119,90,91,-74,-74,-74,-74,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,461,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,462,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,120,-77,-77,-77,-77,-77,-77,-77,-77,-77,117,118,119,90,91,-77,-77,-77,-77,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,463,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,464,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,3,122,1,1,465,84,85,17,6,46,1,10,1,12,1,1,7,7,7,1,1,1,16,7,1,-215,145,98,-215,-215,147,148,146,93,-215,150,-215,149,144,-215,466,143,2,6,57,467,468,94,7,2,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,8,4,1,1,1,1,1,2,1,469,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,6,6,57,1,5,49,3,-177,-177,-177,-177,-177,-177,54,1,5,50,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,20,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,-210,-210,-210,-210,2,6,58,101,470,9,6,57,1,5,22,1,8,18,3,-214,-214,-214,329,330,-214,-214,-214,471,1,64,472,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-383,-383,-383,-383,-383,-383,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,473,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,474,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,120,-81,-81,-81,-81,-81,-81,-81,-81,-81,117,118,119,90,91,-81,-81,-81,-81,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,475,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,94,7,2,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,8,4,1,1,1,1,1,2,1,476,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,3,7,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,477,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,2,63,56,153,478,6,52,1,10,14,8,34,479,98,153,480,93,481,94,7,2,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,8,4,1,1,1,1,1,2,1,482,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,483,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,484,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,485,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,90,486,1,162,487,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,94,7,2,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,8,4,1,1,1,1,1,2,1,488,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,10,52,1,23,1,1,7,14,2,25,39,145,98,147,148,146,93,150,149,188,489,94,7,2,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,8,4,1,1,1,1,1,2,1,490,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,3,152,1,1,491,359,360,4,64,78,11,1,492,493,494,360,3,64,78,12,-247,-247,-247,95,7,2,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,8,4,1,1,1,1,1,2,1,496,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,495,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,43,1,5,56,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,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,153,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,497,-301,-301,-301,118,119,-301,-301,-301,-301,-301,-301,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,94,7,2,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,8,4,1,1,1,1,1,2,1,498,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,64,499,1,64,500,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,118,119,-224,-224,-224,-224,-224,-224,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,18,6,46,1,10,1,5,7,1,1,7,14,2,1,15,1,3,4,1,-170,145,98,-170,-170,-170,147,148,146,93,150,149,144,501,-170,-170,142,143,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,1,64,502,3,51,5,1,503,99,100,3,85,85,5,505,504,209,3,51,5,1,506,99,100,1,139,507,8,6,57,1,5,22,1,8,18,-214,-214,-214,509,508,-214,-214,-214,5,6,57,1,5,23,-314,-314,-314,-314,-314,6,52,1,10,108,1,2,377,98,376,510,375,378,6,6,57,1,5,23,81,-319,-319,-319,-319,-319,511,6,6,57,1,5,23,81,-321,-321,-321,-321,-321,512,2,52,1,513,98,14,1,5,56,1,1,5,31,18,17,4,6,1,10,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,514,-325,-325,-325,-325,8,6,57,1,5,22,1,8,18,-214,-214,-214,516,515,-214,-214,-214,5,6,57,1,5,23,-337,-337,-337,-337,-337,6,52,1,10,111,3,2,384,98,383,385,517,382,6,6,57,1,5,23,81,-342,-342,-342,-342,-342,518,6,6,57,1,5,23,81,-345,-345,-345,-345,-345,519,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,521,520,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,522,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,30,1,5,56,1,1,5,19,12,18,17,10,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,120,-332,-332,-332,-332,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,77,8,523,93,3,51,5,1,524,99,100,50,1,5,50,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,20,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,2,6,58,101,525,94,7,2,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,8,4,1,1,1,1,1,2,1,526,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,55,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,56,6,5,32,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,8,4,1,1,1,1,1,2,1,399,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,5,6,57,1,5,31,-148,-148,-148,-148,-148,2,63,37,528,527,110,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,-215,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-215,-215,96,97,225,50,49,66,67,87,93,56,-215,77,-215,81,229,78,79,530,529,226,222,61,-215,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,4,6,57,1,36,531,-149,-149,-149,56,6,5,32,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,8,4,1,1,1,1,1,2,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,9,6,57,1,5,22,1,8,9,9,-214,-214,-214,397,398,-214,-214,532,-214,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,225,50,49,66,67,87,93,56,77,81,229,78,79,395,394,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,27,6,57,1,5,19,12,18,27,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,120,-183,-183,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,50,1,5,50,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,20,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,22,82,6,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,533,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,534,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,50,1,5,50,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,20,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,50,1,5,50,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,20,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,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,7,3,1,10,1,3,1,1,2,20,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,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,7,3,1,10,1,3,1,1,2,20,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,535,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,94,7,2,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,8,4,1,1,1,1,1,2,1,536,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,537,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,538,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,539,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,3,6,57,29,541,542,540,23,6,36,8,1,1,1,1,1,1,1,6,1,14,8,6,4,1,1,1,1,1,1,16,-215,249,94,95,251,98,252,235,99,100,-215,-215,253,544,-215,543,254,246,247,-215,248,255,-215,95,7,2,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,8,4,1,1,1,1,1,2,1,545,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,546,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,22,88,12,45,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,120,547,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,548,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,10,6,57,1,5,10,1,1,11,13,11,-124,-124,-124,-124,-126,-126,-126,-124,549,132,10,6,57,1,5,10,1,1,11,13,11,-125,-125,-125,-125,551,552,553,-125,550,132,9,6,57,1,5,10,1,1,11,24,-127,-127,-127,-127,-127,-127,-127,-127,-127,9,6,57,1,5,10,1,1,11,24,-128,-128,-128,-128,-128,-128,-128,-128,-128,9,6,57,1,5,10,1,1,11,24,-129,-129,-129,-129,-129,-129,-129,-129,-129,9,6,57,1,5,10,1,1,11,24,-130,-130,-130,-130,-130,-130,-130,-130,-130,4,79,2,24,11,231,232,554,132,2,105,11,555,132,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,53,1,5,50,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,20,1,1,3,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,4,56,1,2,2,-56,-56,-56,-56,2,6,56,101,556,99,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,557,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,4,56,1,2,2,-59,-59,-59,-59,94,7,2,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,8,4,1,1,1,1,1,2,1,558,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,559,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,560,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,561,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,562,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,90,563,1,162,564,94,7,2,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,8,4,1,1,1,1,1,2,1,565,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,59,1,5,50,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,17,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,96,7,2,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,8,4,1,1,1,1,1,2,1,566,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-159,96,97,50,49,66,67,87,-159,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,25,64,24,14,11,1,31,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,567,120,302,441,301,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,1,64,568,59,1,5,50,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,17,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,59,1,5,50,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,17,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,23,64,18,6,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,569,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,22,82,6,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,570,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,571,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,3,6,57,55,573,574,572,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,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,8,4,1,1,1,1,1,2,1,-215,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-215,-215,96,97,50,49,66,67,87,93,56,-215,77,-215,81,229,78,79,575,61,-215,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,8,6,57,1,5,22,1,8,18,-214,-214,-214,451,576,-214,-214,-214,59,1,5,50,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,17,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,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,577,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,118,119,-66,-66,-66,-66,-66,-66,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,578,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,120,-69,-69,-69,-69,-69,-69,-69,-69,-69,117,118,119,90,91,-69,-69,-69,-69,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,579,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,120,-72,-72,-72,-72,-72,-72,-72,-72,-72,117,118,119,90,91,-72,-72,-72,-72,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,580,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,120,-75,-75,-75,-75,-75,-75,-75,-75,-75,117,118,119,90,91,-75,-75,-75,-75,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,581,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,120,-78,-78,-78,-78,-78,-78,-78,-78,-78,117,118,119,90,91,-78,-78,-78,-78,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,582,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,100,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,584,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,153,96,97,50,49,66,67,87,93,56,77,81,78,79,61,583,39,40,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,6,6,57,1,5,49,3,-172,-172,-172,-172,-172,-172,11,52,1,23,1,1,7,14,2,1,23,1,145,98,147,148,146,93,150,149,144,585,143,18,6,46,1,10,1,5,7,1,1,7,14,2,1,15,1,3,4,1,-170,145,98,-170,-170,-170,147,148,146,93,150,149,144,586,-170,-170,142,143,27,6,57,1,5,19,30,3,24,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,120,-176,-176,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,54,1,5,50,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,20,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,-211,-211,-211,-211,3,122,1,1,587,84,85,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,588,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-385,-385,-385,-385,-385,-385,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,589,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,63,56,153,590,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,2,63,56,153,591,2,63,56,153,592,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,3,7,1,3,1,1,2,20,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,-242,25,63,25,5,26,26,1,9,1,1,4,23,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,594,593,117,118,119,90,91,595,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,597,596,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,599,598,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,601,600,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,602,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,603,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,604,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,4,90,70,2,2,-298,-298,-298,-298,26,69,19,2,55,1,9,1,1,3,2,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-296,120,-296,117,118,119,90,91,-296,-296,-296,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,4,64,78,11,1,605,606,494,360,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,2,63,56,153,607,3,64,78,12,-248,-248,-248,3,63,6,50,153,609,608,23,63,6,19,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-200,-200,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,43,1,5,56,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,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,153,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,610,-305,-305,-305,118,119,-305,-305,-305,-305,-305,-305,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,8,6,57,1,5,22,1,8,18,-214,-214,-214,329,330,-214,-214,611,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,1,139,612,6,52,1,10,108,1,2,377,98,376,613,375,378,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,3,51,5,1,614,99,100,3,6,57,29,616,617,615,10,6,46,1,10,1,28,8,18,54,2,-215,377,98,-215,-215,-215,-215,-215,618,378,8,6,57,1,5,22,1,8,18,-214,-214,-214,509,619,-214,-214,-214,2,52,1,620,98,2,52,1,621,98,1,139,-324,3,51,5,1,622,99,100,3,6,57,29,624,625,623,10,6,46,1,10,1,28,8,18,56,5,-215,384,98,-215,-215,-215,-215,-215,385,626,8,6,57,1,5,22,1,8,18,-214,-214,-214,516,627,-214,-214,-214,3,52,1,121,628,98,629,2,52,1,630,98,30,1,5,56,1,1,5,19,12,18,17,10,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,120,-329,-329,-329,-329,118,119,-329,-329,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,631,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,632,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,64,633,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,1,135,634,22,88,12,45,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,120,635,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,55,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,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,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,224,96,97,225,50,49,66,67,87,93,56,77,81,229,78,79,401,636,223,226,222,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,5,6,57,1,5,31,-143,-143,-143,-143,-143,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,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,-150,-150,96,97,225,50,49,66,67,87,93,56,77,-150,81,229,78,79,395,394,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,104,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,225,50,49,66,67,87,93,56,77,81,229,78,79,401,637,226,222,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,2,63,1,528,638,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-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,-206,-206,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,639,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,2,63,56,153,640,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,118,119,-252,-252,-252,-252,-252,-252,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,118,119,-254,-254,-254,-254,-254,-254,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,26,6,57,1,5,19,4,53,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,641,-113,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,642,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,55,1,5,50,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,20,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,17,42,8,1,1,1,1,1,1,1,21,8,10,1,1,1,2,1,249,94,95,251,98,252,235,99,100,253,544,643,254,246,247,248,255,23,6,36,8,1,1,1,1,1,1,1,6,1,5,9,8,6,3,1,1,1,1,2,1,-106,249,94,95,251,98,252,235,99,100,-106,-106,-106,253,544,-106,644,250,254,246,247,248,255,5,6,57,1,5,23,-108,-108,-108,-108,-108,6,6,57,1,5,18,5,-111,-111,-111,-111,645,-111,26,6,57,1,5,19,4,53,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,120,-115,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,646,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,6,6,57,1,5,18,5,-121,-121,-121,-121,-121,-121,22,88,12,45,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,120,647,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,9,6,57,1,5,10,1,1,11,24,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,57,1,5,10,1,1,11,24,-134,-134,-134,-134,-134,-134,-134,-134,-134,2,54,1,648,235,2,54,1,649,235,95,7,2,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,8,4,1,1,1,1,1,2,1,650,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,651,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,9,6,57,1,5,10,1,1,11,24,-131,-131,-131,-131,-131,-131,-131,-131,-131,9,6,57,1,5,10,1,1,11,24,-132,-132,-132,-132,-132,-132,-132,-132,-132,4,56,1,2,2,-57,-57,-57,-57,2,6,58,101,652,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-382,-382,-382,-382,-382,-382,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,653,-278,-278,-278,-278,-278,-278,-278,118,119,-278,-278,-278,654,-278,-278,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,655,-283,-283,-283,-283,-283,-283,-283,118,119,-283,-283,-283,-283,-283,-283,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,656,-287,-287,-287,-287,-287,-287,-287,118,119,-287,-287,-287,-287,-287,-287,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,657,-291,-291,-291,-291,-291,-291,-291,118,119,-291,-291,-291,-291,-291,-291,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,658,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,659,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,-294,-294,-294,-294,-294,-294,-294,-294,118,119,-294,-294,-294,-294,-294,-294,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,64,18,6,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-158,-158,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,1,82,660,1,82,661,22,82,6,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-63,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,59,1,5,50,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,17,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,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,662,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,51,1,5,50,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,20,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,100,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,229,78,79,663,61,39,40,84,85,228,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,308,227,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,307,96,97,50,49,66,67,87,93,56,77,81,229,78,79,306,61,39,40,84,85,228,664,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,41,42,62,43,44,45,47,48,5,6,57,1,5,49,-192,-192,-192,-192,-192,3,6,57,1,573,574,665,1,82,666,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,9,1,5,56,1,1,5,31,18,17,-166,-166,-166,-166,-166,-166,-166,-166,-166,6,6,57,1,5,49,3,-173,-173,-173,-173,-173,-173,8,6,57,1,5,22,1,8,18,-214,-214,-214,329,667,-214,-214,-214,2,63,56,153,583,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,7,3,1,10,1,3,1,1,2,20,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,-226,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,3,7,1,3,1,1,2,20,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,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,3,7,1,3,1,1,2,20,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,-241,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,94,7,2,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,8,4,1,1,1,1,1,2,1,668,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,669,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,94,7,2,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,8,4,1,1,1,1,1,2,1,670,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,94,7,2,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,8,4,1,1,1,1,1,2,1,671,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,94,7,2,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,8,4,1,1,1,1,1,2,1,672,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,24,63,25,5,26,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,674,673,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,676,675,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,2,63,56,153,677,1,64,678,4,6,58,78,12,679,-249,-249,-249,94,7,2,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,8,4,1,1,1,1,1,2,1,680,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,2,63,56,153,681,3,51,5,1,682,99,100,8,6,57,1,5,22,1,8,18,-214,-214,-214,509,683,-214,-214,-214,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,1,139,684,4,52,1,119,2,377,98,685,378,6,52,1,10,108,1,2,377,98,376,686,375,378,5,6,57,1,5,23,-315,-315,-315,-315,-315,3,6,57,1,616,617,687,5,6,57,1,5,23,-320,-320,-320,-320,-320,5,6,57,1,5,23,-322,-322,-322,-322,-322,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,14,1,5,56,1,1,5,31,18,17,4,6,1,10,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,688,-326,-326,-326,-326,4,52,1,121,5,384,98,385,689,6,52,1,10,111,3,2,384,98,383,385,690,382,5,6,57,1,5,23,-338,-338,-338,-338,-338,3,6,57,1,624,625,691,5,6,57,1,5,23,-343,-343,-343,-343,-343,5,6,57,1,5,23,-344,-344,-344,-344,-344,5,6,57,1,5,23,-346,-346,-346,-346,-346,30,1,5,56,1,1,5,19,12,18,17,10,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,120,-330,-330,-330,-330,118,119,-330,-330,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,692,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,50,1,5,50,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,20,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,50,1,5,50,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,20,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,9,6,57,1,5,22,1,8,9,9,-214,-214,-214,397,398,-214,-214,693,-214,5,6,57,1,5,31,-144,-144,-144,-144,-144,5,6,57,1,5,31,-145,-145,-145,-145,-145,1,82,694,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,14,36,16,1,23,1,1,7,4,5,5,2,25,37,2,289,145,98,147,148,146,93,695,696,77,149,188,288,187,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,697,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,5,6,57,1,5,23,-109,-109,-109,-109,-109,8,6,57,1,5,22,1,8,18,-214,-214,-214,414,698,-214,-214,-214,95,7,2,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,8,4,1,1,1,1,1,2,1,699,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,539,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,700,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,6,6,57,1,5,18,5,-122,-122,-122,-122,-122,-122,9,6,57,1,5,10,1,1,11,24,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,57,1,5,10,1,1,11,24,-136,-136,-136,-136,-136,-136,-136,-136,-136,22,82,6,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,701,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,702,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,62,703,94,7,2,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,8,4,1,1,1,1,1,2,1,704,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,705,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,706,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,707,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,708,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,709,-285,-285,-285,-285,-285,-285,-285,118,119,-285,-285,-285,-285,-285,-285,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,710,-289,-289,-289,-289,-289,-289,-289,118,119,-289,-289,-289,-289,-289,-289,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,59,1,5,50,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,17,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,50,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,17,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,1,82,711,5,6,57,1,5,49,-193,-193,-193,-193,-193,8,6,57,1,5,22,1,8,18,-214,-214,-214,451,712,-214,-214,-214,5,6,57,1,5,49,-194,-194,-194,-194,-194,59,1,5,50,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,17,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,3,6,57,1,467,468,713,24,63,25,31,26,1,9,1,1,4,23,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,714,117,118,119,90,91,715,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,24,63,25,5,26,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,717,716,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,718,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,719,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,720,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,94,7,2,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,8,4,1,1,1,1,1,2,1,721,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,94,7,2,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,8,4,1,1,1,1,1,2,1,722,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,64,723,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,3,64,78,12,-250,-250,-250,23,63,6,19,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,3,6,57,29,616,617,724,3,51,5,1,725,99,100,5,6,57,1,5,23,-316,-316,-316,-316,-316,8,6,57,1,5,22,1,8,18,-214,-214,-214,509,726,-214,-214,-214,5,6,57,1,5,23,-317,-317,-317,-317,-317,3,51,5,1,727,99,100,5,6,57,1,5,23,-339,-339,-339,-339,-339,8,6,57,1,5,22,1,8,18,-214,-214,-214,516,728,-214,-214,-214,5,6,57,1,5,23,-340,-340,-340,-340,-340,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,63,1,528,729,50,1,5,50,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,20,1,1,3,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,4,90,70,2,2,730,433,435,436,11,52,1,23,1,1,7,4,10,2,25,39,145,98,147,148,146,93,731,150,149,188,187,5,6,57,1,5,23,-114,-114,-114,-114,-114,3,6,57,1,541,542,732,26,6,57,1,5,19,4,53,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,120,-113,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,5,6,57,1,5,23,-116,-116,-116,-116,-116,9,6,57,1,5,10,1,1,11,24,-137,-137,-137,-137,-137,-137,-137,-137,-137,22,64,24,57,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,733,120,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,4,56,1,2,2,-58,-58,-58,-58,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-279,-279,-279,734,-279,-279,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,735,-280,-280,-280,-280,-280,-280,-280,118,119,-280,-280,-280,-280,-280,-280,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-284,-284,-284,-284,-284,-284,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,-288,-288,-288,-288,-288,-288,-288,-288,118,119,-288,-288,-288,-288,-288,-288,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,-292,-292,-292,-292,-292,-292,-292,-292,118,119,-292,-292,-292,-292,-292,-292,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,736,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,737,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,59,1,5,50,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,17,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,3,6,57,1,573,574,738,6,6,57,1,5,49,3,-174,-174,-174,-174,-174,-174,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,94,7,2,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,8,4,1,1,1,1,1,2,1,739,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,94,7,2,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,8,4,1,1,1,1,1,2,1,740,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,741,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,742,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,1,139,743,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,3,6,57,1,616,617,744,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,3,6,57,1,624,625,745,5,6,57,1,5,31,-146,-146,-146,-146,-146,94,7,2,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,8,4,1,1,1,1,1,2,1,746,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,90,747,5,6,57,1,5,23,-110,-110,-110,-110,-110,1,82,748,94,7,2,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,8,4,1,1,1,1,1,2,1,749,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,8,4,1,1,1,1,1,2,1,750,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,-286,-286,-286,-286,-286,-286,-286,-286,118,119,-286,-286,-286,-286,-286,-286,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,-290,-290,-290,-290,-290,-290,-290,-290,118,119,-290,-290,-290,-290,-290,-290,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,5,6,57,1,5,49,-195,-195,-195,-195,-195,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,751,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,23,63,25,31,26,1,9,1,1,27,1,4,1,1,1,1,1,1,1,1,1,1,1,1,153,120,752,117,118,119,90,91,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,3,51,5,1,753,99,100,5,6,57,1,5,23,-318,-318,-318,-318,-318,5,6,57,1,5,23,-341,-341,-341,-341,-341,43,1,5,56,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,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,756,-283,-283,-283,-283,754,-283,755,-283,-283,-283,-283,-283,-283,-283,118,119,-283,-283,-283,-283,-283,-283,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,94,7,2,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,8,4,1,1,1,1,1,2,1,757,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,9,6,57,1,5,10,1,1,11,24,-138,-138,-138,-138,-138,-138,-138,-138,-138,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,-281,-281,-281,-281,-281,-281,-281,-281,118,119,-281,-281,-281,-281,-281,-281,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,42,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,9,1,1,3,1,1,2,20,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,118,119,-282,-282,-282,-282,-282,-282,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,41,1,5,56,1,1,5,13,5,1,2,2,1,7,2,12,4,3,14,10,1,10,1,3,1,1,2,20,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,13,1,5,56,1,1,5,31,18,17,10,1,10,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,1,92,758,94,7,2,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,8,4,1,1,1,1,1,2,1,759,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,6,6,57,1,28,8,18,-215,-215,-215,-215,-215,-215,43,1,5,56,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,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,756,-285,-285,-285,-285,760,-285,761,-285,-285,-285,-285,-285,-285,-285,118,119,-285,-285,-285,-285,-285,-285,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,55,1,5,50,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,20,1,1,3,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,43,1,5,56,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,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,756,-284,-284,-284,-284,762,-284,-284,-284,-284,-284,-284,-284,-284,-284,118,119,-284,-284,-284,-284,-284,-284,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,1,92,763,94,7,2,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,8,4,1,1,1,1,1,2,1,764,156,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,30,31,32,33,34,35,36,37,38,68,69,70,71,72,73,74,75,94,95,86,98,99,100,96,97,50,49,66,67,87,93,56,77,81,78,79,61,160,161,84,85,80,82,83,76,63,59,60,51,88,52,89,53,57,54,90,91,55,92,46,58,64,65,162,163,164,43,44,45,47,48,1,92,765,55,1,5,50,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,20,1,1,3,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,43,1,5,56,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,20,1,4,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,756,-286,-286,-286,-286,766,-286,-286,-286,-286,-286,-286,-286,-286,-286,118,119,-286,-286,-286,-286,-286,-286,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,55,1,5,50,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,20,1,1,3,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,1,92,767,55,1,5,50,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,20,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],T=[],U=0,Y,A,$,W;while(U<F.length){Y=F[U++],A={},$=0,W=[];while(Y--)$+=F[U++],W.push($);for($ of W)A[$]=F[U++];T.push(A)}return T})(),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,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,42,1,42,1,52,1,54,1,51,1,51,3,58,1,58,2,60,3,60,5,60,2,60,1,44,1,44,3,68,3,68,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,33,1,33,1,33,1,75,1,75,1,75,3,75,3,75,4,75,6,75,4,75,6,75,4,75,5,75,7,75,3,75,3,75,4,75,6,77,10,77,12,77,11,77,13,77,4,95,0,95,1,95,3,95,4,95,6,96,1,96,1,96,3,96,5,96,3,96,5,98,1,98,1,98,1,86,1,86,3,86,4,86,1,97,2,97,2,103,1,103,1,103,1,103,1,103,1,103,2,103,2,103,2,103,2,103,3,103,3,103,4,103,6,76,2,76,3,76,4,108,1,108,3,108,4,108,4,108,6,110,1,110,2,109,1,109,2,107,1,107,2,112,1,112,2,113,1,113,1,36,5,83,3,83,2,83,2,83,1,30,6,30,3,15,5,15,2,31,5,31,2,122,1,122,1,117,0,117,1,117,3,117,4,117,6,125,1,125,3,125,2,125,1,126,1,126,1,126,1,126,1,127,2,37,2,37,2,37,3,37,2,37,2,105,2,105,4,129,1,129,3,129,4,129,4,129,6,111,1,111,1,111,1,111,1,130,1,130,3,39,1,39,1,78,2,40,3,40,4,40,6,41,3,41,3,119,2,119,3,35,3,35,5,91,0,91,1,10,2,10,4,10,1,28,2,28,4,29,1,29,2,29,4,29,3,140,3,140,5,143,3,143,5,22,1,22,3,22,1,22,3,22,3,22,3,22,3,23,2,23,3,23,4,23,5,148,3,148,3,148,2,26,5,26,7,26,4,26,6,152,1,152,2,153,3,153,4,155,2,155,4,155,2,155,4,24,2,24,2,24,2,24,1,158,2,158,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,165,1,165,3,89,1,89,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,12,2,12,4,12,4,12,5,12,7,12,6,12,9,171,1,171,3,171,4,171,4,171,6,172,1,172,3,172,1,172,3,169,1,170,3,13,3,13,5,13,2,13,2,13,4,13,5,13,6,13,3,13,5,13,4,13,5,13,7,177,1,177,3,177,4,177,4,177,6,179,1,179,3,179,3,179,1,179,3,32,2,32,2,32,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,38,2],ruleActions:(F,T,U,Y)=>{let A=T,$=T.length-1;switch(F){case 1:return["program"];case 2:return["program",...A[$]];case 3:case 55:case 107:case 147:case 151:case 171:case 191:case 200:case 247:case 297:case 314:case 337:return[A[$]];case 4:case 108:case 172:case 192:case 201:case 315:case 338:return[...A[$-2],A[$]];case 5:case 57:case 154:return A[$-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 60:case 61:case 83:case 84:case 85:case 86:case 87:case 112:case 117:case 118:case 119:case 120:case 123:case 126:case 127:case 128:case 129:case 130:case 142:case 168:case 169:case 175:case 179:case 180:case 181:case 182:case 196:case 197:case 198:case 214:case 215:case 229:case 231:case 258:case 295:case 319:case 321:case 323:case 342:case 345:return A[$];case 44:return"undefined";case 45:return"null";case 54:return["str",...A[$-1]];case 56:case 148:case 152:case 248:return[...A[$-1],A[$]];case 58:case 190:case 194:case 317:case 340:return A[$-2];case 59:return"";case 62:return["regex",A[$-1]];case 63:return["regex-index",A[$-2],A[$]];case 64:return["regex-index",A[$],null];case 65:return["=",A[$-2],A[$]];case 66:return["=",A[$-3],A[$]];case 67:return["=",A[$-4],A[$-1]];case 68:return["state",A[$-2],A[$]];case 69:return["state",A[$-3],A[$]];case 70:return["state",A[$-4],A[$-1]];case 71:return["computed",A[$-2],A[$]];case 72:return["computed",A[$-3],A[$]];case 73:return["computed",A[$-4],A[$-1]];case 74:return["readonly",A[$-2],A[$]];case 75:return["readonly",A[$-3],A[$]];case 76:return["readonly",A[$-4],A[$-1]];case 77:return["effect",A[$-2],A[$]];case 78:return["effect",A[$-3],A[$]];case 79:return["effect",A[$-4],A[$-1]];case 80:case 81:return["effect",null,A[$]];case 82:return["effect",null,A[$-1]];case 88:case 97:case 135:return[".",A[$-2],A[$]];case 89:case 98:case 136:return["?.",A[$-2],A[$]];case 90:case 92:case 99:case 137:return["[]",A[$-3],A[$-1]];case 91:case 93:case 100:case 138:return["[]",A[$-5],A[$-2]];case 94:return[A[$-1][0],A[$-3],...A[$-1].slice(1)];case 95:return["optindex",A[$-4],A[$-1]];case 96:return["optindex",A[$-6],A[$-2]];case 101:return["object-comprehension",A[$-8],A[$-6],[["for-of",A[$-4],A[$-2],!1]],[]];case 102:return["object-comprehension",A[$-10],A[$-8],[["for-of",A[$-6],A[$-4],!1]],[A[$-2]]];case 103:return["object-comprehension",A[$-9],A[$-7],[["for-of",A[$-4],A[$-2],!0]],[]];case 104:return["object-comprehension",A[$-11],A[$-9],[["for-of",A[$-6],A[$-4],!0]],[A[$-2]]];case 105:return["object",...A[$-2]];case 106:case 149:case 170:case 189:return[];case 109:case 173:case 193:case 316:case 339:return[...A[$-3],A[$]];case 110:case 174:case 195:case 318:case 341:return[...A[$-5],...A[$-2]];case 111:return[A[$],A[$],null];case 113:return[A[$-2],A[$],":"];case 114:return[A[$-4],A[$-1],":"];case 115:return[A[$-2],A[$],"="];case 116:return[A[$-4],A[$-1],"="];case 121:return["dynamicKey",A[$-1]];case 122:return["[]","this",A[$-1]];case 124:case 125:case 183:return["...",A[$]];case 131:case 187:return["super",...A[$]];case 132:case 133:case 134:case 185:case 188:return[A[$-1],...A[$]];case 139:return["array"];case 140:return["array",...A[$-1]];case 141:return["array",...A[$-2],...A[$-1]];case 143:return[...A[$-2],...A[$]];case 144:return[...A[$-3],...A[$]];case 145:return[...A[$-2],...A[$-1]];case 146:return[...A[$-5],...A[$-4],...A[$-2],...A[$-1]];case 150:return[...A[$]];case 153:return null;case 155:return"..";case 156:case 199:return"...";case 157:return[A[$-2],A[$-3],A[$-1]];case 158:case 364:case 366:case 367:case 381:case 383:return[A[$-1],A[$-2],A[$]];case 159:return[A[$],A[$-1],null];case 160:return[A[$-1],null,A[$]];case 161:return[A[$],null,null];case 162:return["def",A[$-4],A[$-2],A[$]];case 163:return["def",A[$-1],[],A[$]];case 164:case 166:return[A[$-1],A[$-3],A[$]];case 165:case 167:return[A[$-1],[],A[$]];case 176:case 296:return["default",A[$-2],A[$]];case 177:return["rest",A[$]];case 178:return["expansion"];case 184:return["tagged-template",A[$-1],A[$]];case 186:return["optcall",A[$-2],...A[$]];case 202:case 203:return"this";case 204:return[".","this",A[$]];case 205:return[".","super",A[$]];case 206:return["[]","super",A[$-1]];case 207:return["[]","super",A[$-2]];case 208:return[".","new",A[$]];case 209:return[".","import",A[$]];case 210:return["block"];case 211:return["block",...A[$-1]];case 212:return A[$-1].length===1?A[$-1][0]:["block",...A[$-1]];case 213:return A[$-2].length===1?A[$-2][0]:["block",...A[$-2]];case 216:return["return",A[$]];case 217:return["return",A[$-1]];case 218:return["return"];case 219:return["throw",A[$]];case 220:return["throw",A[$-1]];case 221:return["yield"];case 222:return["yield",A[$]];case 223:return["yield",A[$-1]];case 224:return["yield-from",A[$]];case 225:return["if",A[$-1],A[$]];case 226:return A[$-4].length===3?["if",A[$-4][1],A[$-4][2],["if",A[$-1],A[$]]]:[...A[$-4],["if",A[$-1],A[$]]];case 227:return["unless",A[$-1],A[$]];case 228:return["if",["!",A[$-3]],A[$-2],A[$]];case 230:return A[$-2].length===3?["if",A[$-2][1],A[$-2][2],A[$]]:[...A[$-2],A[$]];case 232:case 233:return["if",A[$],[A[$-2]]];case 234:case 235:return["unless",A[$],[A[$-2]]];case 236:return["try",A[$]];case 237:return["try",A[$-1],A[$]];case 238:return["try",A[$-2],A[$]];case 239:return["try",A[$-3],A[$-2],A[$]];case 240:case 241:case 347:case 350:case 352:return[A[$-1],A[$]];case 242:return[null,A[$]];case 243:return["switch",A[$-3],A[$-1],null];case 244:return["switch",A[$-5],A[$-3],A[$-1]];case 245:return["switch",null,A[$-1],null];case 246:return["switch",null,A[$-3],A[$-1]];case 249:return["when",A[$-1],A[$]];case 250:return["when",A[$-2],A[$-1]];case 251:return["while",A[$]];case 252:return["while",A[$-2],A[$]];case 253:return["until",A[$]];case 254:return["until",A[$-2],A[$]];case 255:return A[$-1].length===2?[A[$-1][0],A[$-1][1],A[$]]:[A[$-1][0],A[$-1][1],A[$-1][2],A[$]];case 256:case 257:return A[$].length===2?[A[$][0],A[$][1],[A[$-1]]]:[A[$][0],A[$][1],A[$][2],[A[$-1]]];case 259:return["loop",A[$]];case 260:return["loop",[A[$]]];case 261:return["for-in",A[$-3],A[$-1],null,null,A[$]];case 262:return["for-in",A[$-5],A[$-3],null,A[$-1],A[$]];case 263:return["for-in",A[$-5],A[$-3],A[$-1],null,A[$]];case 264:return["for-in",A[$-7],A[$-5],A[$-1],A[$-3],A[$]];case 265:return["for-in",A[$-7],A[$-5],A[$-3],A[$-1],A[$]];case 266:return["for-of",A[$-3],A[$-1],!1,null,A[$]];case 267:return["for-of",A[$-5],A[$-3],!1,A[$-1],A[$]];case 268:return["for-of",A[$-3],A[$-1],!0,null,A[$]];case 269:return["for-of",A[$-5],A[$-3],!0,A[$-1],A[$]];case 270:return["for-as",A[$-3],A[$-1],!1,null,A[$]];case 271:return["for-as",A[$-5],A[$-3],!1,A[$-1],A[$]];case 272:case 274:return["for-as",A[$-3],A[$-1],!0,null,A[$]];case 273:case 275:return["for-as",A[$-5],A[$-3],!0,A[$-1],A[$]];case 276:return["for-in",[],A[$-1],null,null,A[$]];case 277:return["for-in",[],A[$-3],A[$-1],null,A[$]];case 278:return["comprehension",A[$-4],[["for-in",A[$-2],A[$],null]],[]];case 279:return["comprehension",A[$-6],[["for-in",A[$-4],A[$-2],null]],[A[$]]];case 280:return["comprehension",A[$-6],[["for-in",A[$-4],A[$-2],A[$]]],[]];case 281:return["comprehension",A[$-8],[["for-in",A[$-6],A[$-4],A[$]]],[A[$-2]]];case 282:return["comprehension",A[$-8],[["for-in",A[$-6],A[$-4],A[$-2]]],[A[$]]];case 283:return["comprehension",A[$-4],[["for-of",A[$-2],A[$],!1]],[]];case 284:return["comprehension",A[$-6],[["for-of",A[$-4],A[$-2],!1]],[A[$]]];case 285:return["comprehension",A[$-5],[["for-of",A[$-2],A[$],!0]],[]];case 286:return["comprehension",A[$-7],[["for-of",A[$-4],A[$-2],!0]],[A[$]]];case 287:return["comprehension",A[$-4],[["for-as",A[$-2],A[$],!1,null]],[]];case 288:return["comprehension",A[$-6],[["for-as",A[$-4],A[$-2],!1,null]],[A[$]]];case 289:return["comprehension",A[$-5],[["for-as",A[$-2],A[$],!0,null]],[]];case 290:return["comprehension",A[$-7],[["for-as",A[$-4],A[$-2],!0,null]],[A[$]]];case 291:return["comprehension",A[$-4],[["for-as",A[$-2],A[$],!0,null]],[]];case 292:return["comprehension",A[$-6],[["for-as",A[$-4],A[$-2],!0,null]],[A[$]]];case 293:return["comprehension",A[$-2],[["for-in",[],A[$],null]],[]];case 294:return["comprehension",A[$-4],[["for-in",[],A[$-2],A[$]]],[]];case 298:case 320:case 322:case 343:case 344:case 346:return[A[$-2],A[$]];case 299:return["class",null,null];case 300:return["class",null,null,A[$]];case 301:return["class",null,A[$]];case 302:return["class",null,A[$-1],A[$]];case 303:return["class",A[$],null];case 304:return["class",A[$-1],null,A[$]];case 305:return["class",A[$-2],A[$]];case 306:return["class",A[$-3],A[$-1],A[$]];case 307:case 310:return["import","{}",A[$]];case 308:case 309:return["import",A[$-2],A[$]];case 311:return["import",A[$-4],A[$]];case 312:return["import",[A[$-4],A[$-2]],A[$]];case 313:return["import",[A[$-7],A[$-4]],A[$]];case 324:return["*",A[$]];case 325:return["export","{}"];case 326:return["export",A[$-2]];case 327:case 328:return["export",A[$]];case 329:return["export",["=",A[$-2],A[$]]];case 330:return["export",["=",A[$-3],A[$]]];case 331:return["export",["=",A[$-4],A[$-1]]];case 332:return["export-default",A[$]];case 333:return["export-default",A[$-1]];case 334:return["export-all",A[$]];case 335:return["export-from","{}",A[$]];case 336:return["export-from",A[$-4],A[$]];case 348:case 349:case 351:case 386:return["do-iife",A[$]];case 353:return["-",A[$]];case 354:return["+",A[$]];case 355:return["?",A[$-1]];case 356:return["await",A[$]];case 357:return["await",A[$-1]];case 358:return["--",A[$],!1];case 359:return["++",A[$],!1];case 360:return["--",A[$-1],!0];case 361:return["++",A[$-1],!0];case 362:return["+",A[$-2],A[$]];case 363:return["-",A[$-2],A[$]];case 365:return["**",A[$-2],A[$]];case 368:return["&",A[$-2],A[$]];case 369:return["^",A[$-2],A[$]];case 370:return["|",A[$-2],A[$]];case 371:case 372:case 373:case 374:case 375:case 376:return["control",A[$-1],A[$-2],A[$]];case 377:return["&&",A[$-2],A[$]];case 378:return["||",A[$-2],A[$]];case 379:return["??",A[$-2],A[$]];case 380:return["!?",A[$-2],A[$]];case 382:return["?:",A[$-4],A[$-2],A[$]];case 384:return[A[$-3],A[$-4],A[$-1]];case 385:return[A[$-2],A[$-3],A[$]]}},parseError(F,T){let U,Y,A,$,W,D,M;if(T.recoverable)return this.trace(F);else throw A=(T.line||0)+1,U=T.loc?.first_column||0,M=T.token?` (token: ${T.token})`:"",D=T.text?` near '${T.text}'`:"",$=`line ${A}, column ${U}`,W=`Parse error at ${$}${M}${D}: ${F}`,Y=Error(W),Y.hash=T,Y},parse(F){let T,U,Y,A,$,W,D,M,Z,Q,X,J,R,G,K,_,z,q,H,u,P,L,O,w,I,N,S,j;[P,O,Z]=[[0],[null],[]],[G,S,I,w,q]=[this.parseTable,"",0,0,0],[U,T]=[2,1],M=Object.create(this.lexer),H={yy:{}};for(let f in this.yy)if(Object.hasOwn(this.yy,f)){let V=this.yy[f];H.yy[f]=V}if(M.setInput(F,H.yy),[H.yy.lexer,H.yy.parser]=[M,this],M.yylloc==null)M.yylloc={};N=M.yylloc,Z.push(N),z=M.options?.ranges,this.parseError=typeof H.yy.parseError==="function"?H.yy.parseError:Object.getPrototypeOf(this).parseError,D=()=>{let f;if(f=M.lex()||T,typeof f!=="number")f=this.symbolIds[f]||f;return f},[L,K,u,Y,_,j,R,W,J,$]=[null,null,null,null,null,{},null,null,null,null];while(!0){if(u=P[P.length-1],L==null)L=D();if(Y=G[u]!=null?G[u][L]:void 0,Y==null){if(A="",!q)$=(()=>{let f=[];for(let V in G[u]){if(!Object.hasOwn(G[u],V))continue;if(this.tokenNames[V]&&V>U)f.push(`'${this.tokenNames[V]}'`)}return f})();throw A=(()=>{if(M.showPosition)return`Parse error on line ${I+1}:
|
|
10
|
+
${M.showPosition()}
|
|
11
|
+
Expecting ${$.join(", ")}, got '${this.tokenNames[L]||L}'`;else return`Parse error on line ${I+1}: Unexpected ${L===T?"end of input":`'${this.tokenNames[L]||L}'`}`,this.parseError(A,{text:M.match,token:this.tokenNames[L]||L,line:M.yylineno,loc:N,expected:$})})(),Error(A)}if(Y>0)if(P.push(L,Y),O.push(M.yytext),Z.push(M.yylloc),L=null,!K){if([w,S,I,N]=[M.yyleng,M.yytext,M.yylineno,M.yylloc],q>0)q--}else[L,K]=[K,null];else if(Y<0){if(W=this.ruleTable[-Y*2+1],j.$=O[O.length-W],[Q,X]=[Z[Z.length-(W||1)],Z[Z.length-1]],j._$={first_line:Q.first_line,last_line:X.last_line,first_column:Q.first_column,last_column:X.last_column},z)j._$.range=[Q.range[0],X.range[1]];if(_=this.ruleActions.apply(j,[-Y,O,Z,H.yy]),_!=null)j.$=_;if(W)P.length-=W*2,O.length-=W,Z.length-=W;P.push(this.ruleTable[-Y*2]),O.push(j.$),Z.push(j._$),J=G[P[P.length-2]][P[P.length-1]],P.push(J)}else if(Y===0)return O[O.length-1]}},trace(){},yy:{}},s1=(F={})=>{let T=Object.create(i1);return Object.defineProperty(T,"yy",{value:{...F},enumerable:!1,writable:!0,configurable:!0}),T},g=s1();var e1=g.parse.bind(g);var B=(F,T)=>F instanceof String?F[T]:void 0,E=(F)=>F instanceof String?F.valueOf():F,a1=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","!?","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]);function p(F){if(!Array.isArray(F)||F.length===0)return!1;let T=F[0]?.valueOf?.()??F[0];if(a1.has(T))return!0;return F.length<=4&&!F.some(Array.isArray)}function l(F){if(Array.isArray(F))return"(???)";if(typeof F==="number")return String(F);if(F===null)return"null";if(F==="")return'""';let T=String(F);if(T[0]==="/"&&T.indexOf(`
|
|
12
|
+
`)>=0){let U=T.match(/\/([gimsuvy]*)$/),Y=U?U[1]:"",A=T.slice(1);return A=Y?A.slice(0,-Y.length-1):A.slice(0,-1),`"/${A.split(`
|
|
13
|
+
`).map((D)=>D.replace(/#.*$/,"").trim()).join("")}/${Y}"`}return T}function h(F,T=0,U=!1){if(!Array.isArray(F))return l(F);if(U&&F[0]==="program"){let Z=F[1],X=[Array.isArray(Z)?"(program":"(program "+l(Z)],J=Array.isArray(Z)?1:2;for(let R=J;R<F.length;R++){let G=h(F[R],2,!1);X.push(G[0]==="("?" "+G:G)}return X.push(")"),X.join(`
|
|
14
|
+
`)}let Y=F[0];if(p(F)&&F.slice(1).every((Z)=>!Array.isArray(Z)||p(Z))){let Q=`(${F.map((X)=>Array.isArray(X)?h(X,0,!1):l(X)).join(" ")})`;if(!Q.includes(`
|
|
15
|
+
`))return" ".repeat(T)+Q}let $=" ".repeat(T),W;if(Array.isArray(Y)){if(W=h(Y,0,!1),W.includes(`
|
|
16
16
|
`))W=W.split(`
|
|
17
17
|
`).map((Q,X)=>X===0?Q:" ".repeat(T+2)+Q).join(`
|
|
18
|
-
`)}else W=l(
|
|
19
|
-
`)){
|
|
20
|
-
`)}class y{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"generateProgram","&&":"generateLogicalAnd","||":"generateLogicalOr","+":"generateBinaryOp","-":"generateBinaryOp","*":"generateBinaryOp","/":"generateBinaryOp","%":"generateBinaryOp","**":"generateBinaryOp","==":"generateBinaryOp","===":"generateBinaryOp","!=":"generateBinaryOp","!==":"generateBinaryOp","<":"generateBinaryOp",">":"generateBinaryOp","<=":"generateBinaryOp",">=":"generateBinaryOp","??":"generateBinaryOp","!?":"generateBinaryOp","&":"generateBinaryOp","|":"generateBinaryOp","^":"generateBinaryOp","<<":"generateBinaryOp",">>":"generateBinaryOp",">>>":"generateBinaryOp","%%":"generateModulo","//":"generateFloorDiv","//=":"generateFloorDivAssign","..":"generateRange","=":"generateAssignment","+=":"generateAssignment","-=":"generateAssignment","*=":"generateAssignment","/=":"generateAssignment","%=":"generateAssignment","**=":"generateAssignment","&&=":"generateAssignment","||=":"generateAssignment","??=":"generateAssignment","?=":"generateAssignment","&=":"generateAssignment","|=":"generateAssignment","^=":"generateAssignment","<<=":"generateAssignment",">>=":"generateAssignment",">>>=":"generateAssignment","...":"generateRange","!":"generateNot","~":"generateBitwiseNot","++":"generateIncDec","--":"generateIncDec","=~":"generateRegexMatch",instanceof:"generateInstanceof",in:"generateIn",of:"generateOf",typeof:"generateTypeof",delete:"generateDelete",new:"generateNew",array:"generateArray",object:"generateObject",block:"generateBlock",".":"generatePropertyAccess","?.":"generateOptionalProperty","[]":"generateIndexAccess",optindex:"generateOptIndex",optcall:"generateOptCall","regex-index":"generateRegexIndex",def:"generateDef","->":"generateThinArrow","=>":"generateFatArrow",return:"generateReturn",state:"generateState",computed:"generateComputed",readonly:"generateReadonly",effect:"generateEffect",break:"generateBreak","break-if":"generateBreakIf",continue:"generateContinue","continue-if":"generateContinueIf","?":"generateExistential","?:":"generateTernary",loop:"generateLoop",await:"generateAwait",yield:"generateYield","yield-from":"generateYieldFrom",if:"generateIf",unless:"generateIf","for-in":"generateForIn","for-of":"generateForOf","for-as":"generateForAs",while:"generateWhile",until:"generateUntil",try:"generateTry",throw:"generateThrow",control:"generateControl",switch:"generateSwitch",when:"generateWhen",comprehension:"generateComprehension","object-comprehension":"generateObjectComprehension",class:"generateClass",super:"generateSuper",import:"generateImport",export:"generateExport","export-default":"generateExportDefault","export-all":"generateExportAll","export-from":"generateExportFrom","do-iife":"generateDoIIFE",regex:"generateRegex","tagged-template":"generateTaggedTemplate",str:"generateString"};constructor(
|
|
21
|
-
`))return`\`${W.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let
|
|
22
|
-
`),Q=!1;if(
|
|
18
|
+
`)}else W=l(Y);let D=[`${$}(${W}`],M=Y==="block";for(let Z=1;Z<F.length;Z++){let Q=F[Z];if(!Array.isArray(Q))D[D.length-1]+=" "+l(Q);else{let X=p(Q)&&Q.every((J)=>!Array.isArray(J)||p(J));if(!M&&X){let J=h(Q,0,!1);if(!J.includes(`
|
|
19
|
+
`)){D[D.length-1]+=" "+J;continue}}D.push(h(Q,T+2,!1))}}return D[D.length-1]+=")",D.join(`
|
|
20
|
+
`)}class y{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"generateProgram","&&":"generateLogicalAnd","||":"generateLogicalOr","+":"generateBinaryOp","-":"generateBinaryOp","*":"generateBinaryOp","/":"generateBinaryOp","%":"generateBinaryOp","**":"generateBinaryOp","==":"generateBinaryOp","===":"generateBinaryOp","!=":"generateBinaryOp","!==":"generateBinaryOp","<":"generateBinaryOp",">":"generateBinaryOp","<=":"generateBinaryOp",">=":"generateBinaryOp","??":"generateBinaryOp","!?":"generateBinaryOp","&":"generateBinaryOp","|":"generateBinaryOp","^":"generateBinaryOp","<<":"generateBinaryOp",">>":"generateBinaryOp",">>>":"generateBinaryOp","%%":"generateModulo","//":"generateFloorDiv","//=":"generateFloorDivAssign","..":"generateRange","=":"generateAssignment","+=":"generateAssignment","-=":"generateAssignment","*=":"generateAssignment","/=":"generateAssignment","%=":"generateAssignment","**=":"generateAssignment","&&=":"generateAssignment","||=":"generateAssignment","??=":"generateAssignment","?=":"generateAssignment","&=":"generateAssignment","|=":"generateAssignment","^=":"generateAssignment","<<=":"generateAssignment",">>=":"generateAssignment",">>>=":"generateAssignment","...":"generateRange","!":"generateNot","~":"generateBitwiseNot","++":"generateIncDec","--":"generateIncDec","=~":"generateRegexMatch",instanceof:"generateInstanceof",in:"generateIn",of:"generateOf",typeof:"generateTypeof",delete:"generateDelete",new:"generateNew",array:"generateArray",object:"generateObject",block:"generateBlock",".":"generatePropertyAccess","?.":"generateOptionalProperty","[]":"generateIndexAccess",optindex:"generateOptIndex",optcall:"generateOptCall","regex-index":"generateRegexIndex",def:"generateDef","->":"generateThinArrow","=>":"generateFatArrow",return:"generateReturn",state:"generateState",computed:"generateComputed",readonly:"generateReadonly",effect:"generateEffect",break:"generateBreak","break-if":"generateBreakIf",continue:"generateContinue","continue-if":"generateContinueIf","?":"generateExistential","?:":"generateTernary",loop:"generateLoop",await:"generateAwait",yield:"generateYield","yield-from":"generateYieldFrom",if:"generateIf",unless:"generateIf","for-in":"generateForIn","for-of":"generateForOf","for-as":"generateForAs",while:"generateWhile",until:"generateUntil",try:"generateTry",throw:"generateThrow",control:"generateControl",switch:"generateSwitch",when:"generateWhen",comprehension:"generateComprehension","object-comprehension":"generateObjectComprehension",class:"generateClass",super:"generateSuper",import:"generateImport",export:"generateExport","export-default":"generateExportDefault","export-all":"generateExportAll","export-from":"generateExportFrom","do-iife":"generateDoIIFE",regex:"generateRegex","tagged-template":"generateTaggedTemplate",str:"generateString"};constructor(F={}){if(this.options=F,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=F.dataSection,F.reactiveVars)this.reactiveVars=new Set(F.reactiveVars)}compile(F){return this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.collectProgramVariables(F),this.generate(F)}collectProgramVariables(F){if(!Array.isArray(F))return;let[T,...U]=F;if(T=E(T),Array.isArray(T)){F.forEach((Y)=>this.collectProgramVariables(Y));return}if(T==="export"||T==="export-default"||T==="export-all"||T==="export-from")return;if(T==="state"||T==="computed"){let[Y]=U,A=E(Y)??Y;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(A);return}if(T==="readonly")return;if(y.ASSIGNMENT_OPS.has(T)){let[Y,A]=U;if(typeof Y==="string"||Y instanceof String){let $=E(Y);if(!this.reactiveVars?.has($))this.programVars.add($)}else if(Array.isArray(Y)&&Y[0]==="array")this.collectVarsFromArray(Y,this.programVars);else if(Array.isArray(Y)&&Y[0]==="object")this.collectVarsFromObject(Y,this.programVars);this.collectProgramVariables(A);return}if(T==="def"||T==="->"||T==="=>")return;if(T==="if"){let[Y,A,$]=U;if(this.collectProgramVariables(Y),this.collectProgramVariables(A),$)this.collectProgramVariables($);return}if(T==="unless"){let[Y,A]=U;this.collectProgramVariables(Y),this.collectProgramVariables(A);return}if(T==="try"){if(this.collectProgramVariables(U[0]),U.length>=2&&Array.isArray(U[1])&&U[1].length===2&&U[1][0]!=="block"){let[Y,A]=U[1];if(Y&&Array.isArray(Y)&&Y[0]==="object")Y.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(Y&&Array.isArray(Y)&&Y[0]==="array")Y.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(A)}if(U.length===3)this.collectProgramVariables(U[2]);else if(U.length===2&&(!Array.isArray(U[1])||U[1][0]==="block"))this.collectProgramVariables(U[1]);return}U.forEach((Y)=>this.collectProgramVariables(Y))}collectFunctionVariables(F){let T=new Set,U=(Y)=>{if(!Array.isArray(Y))return;let[A,...$]=Y;if(A=E(A),Array.isArray(A)){Y.forEach((W)=>U(W));return}if(y.ASSIGNMENT_OPS.has(A)){let[W,D]=$;if(typeof W==="string")T.add(W);else if(Array.isArray(W)&&W[0]==="array")this.collectVarsFromArray(W,T);else if(Array.isArray(W)&&W[0]==="object")this.collectVarsFromObject(W,T);U(D);return}if(A==="def"||A==="->"||A==="=>")return;if(A==="try"){if(U($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[W,D]=$[1];if(W&&Array.isArray(W)&&W[0]==="object")W.slice(1).forEach((M)=>{if(Array.isArray(M)&&M.length===2&&typeof M[1]==="string")T.add(M[1])});else if(W&&Array.isArray(W)&&W[0]==="array")W.slice(1).forEach((M)=>{if(typeof M==="string")T.add(M)});U(D)}if($.length===3)U($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))U($[1]);return}$.forEach((W)=>U(W))};return U(F),T}generate(F,T="statement"){if(F instanceof String){if(B(F,"await")===!0)return`await ${E(F)}()`;if(B(F,"predicate"))return`(${E(F)} != null)`;if(B(F,"delimiter")==="///"&&B(F,"heregex")){let D=E(F),M=D.match(/^\/(.*)\/([gimsuvy]*)$/s);if(M){let[,Z,Q]=M;return`/${this.processHeregex(Z)}/${Q}`}return D}let W=B(F,"quote");if(W){let D=E(F);if(W==='"""'||W==="'''"){let Z=this.extractStringContent(F);return Z=Z.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${Z}\``}if(D[0]===W)return D;let M=D.slice(1,-1);return`${W}${M}${W}`}F=E(F)}if(typeof F==="string"){if(F.startsWith('"')||F.startsWith("'")||F.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",F);let W=F.slice(1,-1);if(W.includes(`
|
|
21
|
+
`))return`\`${W.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let D=W.includes("'")&&!W.includes('"')?'"':"'",M=W.replace(new RegExp(D,"g"),`\\${D}`);return`${D}${M}${D}`}if(this.reactiveVars?.has(F)&&!this.suppressReactiveUnwrap)return`${F}.value`;return F}if(typeof F==="number")return String(F);if(F===null||F===void 0)return"null";if(!Array.isArray(F))throw Error(`Invalid s-expression: ${JSON.stringify(F)}`);let[U,...Y]=F,A=B(U,"await");U=E(U);let $=y.GENERATORS[U];if($)return this[$](U,Y,T,F);if(typeof U==="string"&&!U.startsWith('"')&&!U.startsWith("'")){if(y.NUMBER_START_RE.test(U))return U;if(U==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor"){let Q=Y.map((X)=>this.unwrap(this.generate(X,"value"))).join(", ");return`super.${this.currentMethodName}(${Q})`}if(T==="statement"&&Y.length===1){let Q=this.findPostfixConditional(Y[0]);if(Q){let X=this.rebuildWithoutConditional(Q),J=this.generate(U,"value"),R=this.generate(Q.condition,"value"),G=this.generate(X,"value"),K=`${J}(${G})`;return Q.type==="unless"?`if (!${R}) ${K}`:`if (${R}) ${K}`}}let W=A===!0,D=this.generate(U,"value"),M=Y.map((Q)=>this.unwrap(this.generate(Q,"value"))).join(", "),Z=`${D}(${M})`;return W?`await ${Z}`:Z}if(Array.isArray(U)&&typeof U[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","unless","return","throw"].includes(U[0]))return`(${F.map((M)=>this.generate(M,"value")).join(", ")})`}if(Array.isArray(U)){if(U[0]==="."&&(U[2]==="new"||E(U[2])==="new")){let Q=U[1],X=this.generate(Q,"value"),J=Y.map((G)=>this.unwrap(this.generate(G,"value"))).join(", ");return`new ${Array.isArray(Q)?`(${X})`:X}(${J})`}if(T==="statement"&&Y.length===1){let Q=this.findPostfixConditional(Y[0]);if(Q){let X=this.rebuildWithoutConditional(Q),J=this.generate(U,"value"),R=this.generate(Q.condition,"value"),G=this.generate(X,"value"),K=`${J}(${G})`;return Q.type==="unless"?`if (!${R}) ${K}`:`if (${R}) ${K}`}}let W=!1,D;if(U[0]==="."&&B(U[2],"await")===!0){W=!0;let[Q,X]=U.slice(1),J=this.generate(Q,"value");D=`${y.NUMBER_LITERAL_RE.test(J)||Array.isArray(Q)&&(Q[0]==="object"||Q[0]==="await"||Q[0]==="yield")?`(${J})`:J}.${E(X)}`}else D=this.generate(U,"value");let M=Y.map((Q)=>this.unwrap(this.generate(Q,"value"))).join(", "),Z=`${D}(${M})`;return W?`await ${Z}`:Z}throw Error(`Unknown s-expression type: ${U}`)}generateProgram(F,T,U,Y){let A="",$=[],W=[],D=[];for(let X of T){if(!Array.isArray(X)){D.push(X);continue}let J=X[0];if(J==="import")$.push(X);else if(J==="export"||J==="export-default"||J==="export-all"||J==="export-from")W.push(X);else D.push(X)}let M=["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try"],Z=D.map((X,J)=>{let R=D.length===1&&$.length===0&&W.length===0,G=Array.isArray(X)&&X[0]==="object",K=G&&X.length===2&&Array.isArray(X[1])&&Array.isArray(X[1][1])&&X[1][1][0]==="comprehension",_=Array.isArray(X)&&(X[0]==="comprehension"||X[0]==="object-comprehension"||X[0]==="do-iife"),z=this.programVars.size===0,q=R&&G&&z&&!_&&!K,u=J===D.length-1&&_,P;if(q)P=`(${this.generate(X,"value")})`;else if(u)P=this.generate(X,"value");else P=this.generate(X,"statement");if(P&&!P.endsWith(";")){let L=Array.isArray(X)?X[0]:null;if(!M.includes(L)||!P.endsWith("}"))return P+";"}return P}).join(`
|
|
22
|
+
`),Q=!1;if($.length>0)A+=$.map((X)=>this.addSemicolon(X,this.generate(X,"statement"))).join(`
|
|
23
23
|
`),Q=!0;if(this.programVars.size>0){let X=Array.from(this.programVars).sort().join(", ");if(Q)A+=`
|
|
24
24
|
`;A+=`let ${X};
|
|
25
25
|
`,Q=!0}if(this.helpers.has("slice"))A+=`const slice = [].slice;
|
|
@@ -47,194 +47,194 @@ _setDataSection();
|
|
|
47
47
|
|
|
48
48
|
function _setDataSection() {
|
|
49
49
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
50
|
-
}`;return A}generateBinaryOp(
|
|
51
|
-
${this.withIndent(()=>this.formatStatements(
|
|
50
|
+
}`;return A}generateBinaryOp(F,T,U,Y){if((F==="+"||F==="-")&&T.length===1)return`(${F}${this.generate(T[0],"value")})`;let[A,$]=T;if(F==="!?"){let W=this.generate(A,"value"),D=this.generate($,"value");return`(${W} !== undefined ? ${W} : ${D})`}if(F==="==")F="===";if(F==="!=")F="!==";return`(${this.generate(A,"value")} ${F} ${this.generate($,"value")})`}generateModulo(F,T){let[U,Y]=T;return this.helpers.add("modulo"),`modulo(${this.generate(U,"value")}, ${this.generate(Y,"value")})`}generateFloorDiv(F,T){let[U,Y]=T;return`Math.floor(${this.generate(U,"value")} / ${this.generate(Y,"value")})`}generateFloorDivAssign(F,T){let[U,Y]=T,A=this.generate(U,"value"),$=this.generate(Y,"value");return`${A} = Math.floor(${A} / ${$})`}generateAssignment(F,T,U,Y){let[A,$]=T,W=F==="?="?"??=":F,D=Array.isArray($)&&($[0]==="->"||$[0]==="=>"||$[0]==="def");if(A instanceof String&&B(A,"await")!==void 0&&!D){let K=B(A,"await")===!0?"!":"&";throw Error(`Cannot use ${K} sigil in variable declaration '${E(A)}'.`)}if(A instanceof String&&B(A,"await")===!0&&D)this.nextFunctionIsVoid=!0;let M=Array.isArray(A)&&A[0]==="array"&&A.length===1,Z=Array.isArray(A)&&A[0]==="object"&&A.length===1;if(M||Z){let K=this.generate($,"value");return Z&&U==="statement"?`(${K})`:K}if(Array.isArray($)&&W==="="&&$[0]==="control"){let[,K,_,z]=$,q=E(K),H=z[0]==="return",u=this.generate(A,"value");if(typeof A==="string")this.programVars.add(A);let P=this.generate(_,"value"),L=z.length>1?z[1]:null,O=H?L?`return ${this.generate(L,"value")}`:"return":L?`throw ${this.generate(L,"value")}`:"throw new Error()";if(U==="value"){if(q==="??")return`(() => { const __v = ${P}; if (__v == null) ${O}; return (${u} = __v); })()`;if(q==="||")return`(() => { const __v = ${P}; if (!__v) ${O}; return (${u} = __v); })()`;return`(() => { const __v = ${P}; if (__v) ${O}; return (${u} = __v); })()`}if(q==="??")return`if ((${u} = ${P}) == null) ${O}`;if(q==="||")return`if (!(${u} = ${P})) ${O}`;return`if ((${u} = ${P})) ${O}`}if(Array.isArray(A)&&A[0]==="array"){let K=A.slice(1).findIndex((_)=>Array.isArray(_)&&_[0]==="..."||_==="...");if(K!==-1&&K<A.length-2){let _=A.slice(1),z=_.slice(K+1),q=z.length;if(q>0){let H=this.generate($,"value"),P=_.slice(0,K).map((N)=>N===","?"":typeof N==="string"?N:this.generate(N,"value")).join(", "),L=z.map((N)=>N===","?"":typeof N==="string"?N:this.generate(N,"value")).join(", ");this.helpers.add("slice"),_.forEach((N)=>{if(N===","||N==="...")return;if(typeof N==="string")this.programVars.add(N);else if(Array.isArray(N)&&N[0]==="..."&&typeof N[1]==="string")this.programVars.add(N[1])});let O=_[K],w=Array.isArray(O)&&O[0]==="..."?O[1]:null,I=[];if(P)I.push(`[${P}] = ${H}`);if(w)I.push(`[...${w}] = ${H}.slice(${K}, -${q})`);return I.push(`[${L}] = slice.call(${H}, -${q})`),I.join(", ")}}}if(U==="statement"&&F==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[K,_,z]=$;if(Array.isArray(z)&&(z[0]==="unless"||z[0]==="if")&&z.length===3){let[q,H,u]=z,P=Array.isArray(u)&&u.length===1?u[0]:u,L=[K,_,P],O=this.generate(A,"value"),w=this.generate(H,"value"),I=this.generate(L,"value");return q==="unless"?`if (!${w}) ${O} = ${I}`:`if (${w}) ${O} = ${I}`}}if(U==="statement"&&F==="="&&Array.isArray($)&&$.length===3){let[K,_,z]=$,q=Array.isArray(z)&&z.length===1&&(!Array.isArray(z[0])||z[0][0]!=="block");if((K==="unless"||K==="if")&&q){let H=Array.isArray(z)&&z.length===1?z[0]:z,u=this.generate(A,"value"),P=this.unwrapLogical(this.generate(_,"value")),L=this.generate(H,"value");if(K==="unless"){if(P.includes(" ")||/[<>=&|]/.test(P))P=`(${P})`;return`if (!${P}) ${u} = ${L}`}return`if (${P}) ${u} = ${L}`}}let Q;if(A instanceof String&&B(A,"await")!==void 0)Q=E(A);else if(typeof A==="string"&&this.reactiveVars?.has(A))Q=`${A}.value`;else this.suppressReactiveUnwrap=!0,Q=this.generate(A,"value"),this.suppressReactiveUnwrap=!1;let X=this.generate($,"value");if(!(Array.isArray($)&&$[0]==="object"))X=this.unwrap(X);let R=U==="value",G=U==="statement"&&Array.isArray(A)&&A[0]==="object";if(R||G)return`(${Q} ${W} ${X})`;return`${Q} ${W} ${X}`}generatePropertyAccess(F,T,U,Y){let[A,$]=T;this.suppressReactiveUnwrap=!0;let W=this.generate(A,"value");this.suppressReactiveUnwrap=!1;let M=y.NUMBER_LITERAL_RE.test(W)||Array.isArray(A)&&(A[0]==="object"||A[0]==="await"||A[0]==="yield")?`(${W})`:W;if(B($,"await")===!0)return`await ${M}.${E($)}()`;if(B($,"predicate"))return`(${M}.${E($)} != null)`;return`${M}.${E($)}`}generateOptionalProperty(F,T){let[U,Y]=T;return`${this.generate(U,"value")}?.${Y}`}generateRegexIndex(F,T){let[U,Y,A]=T;this.helpers.add("toSearchable"),this.programVars.add("_");let $=this.generate(U,"value"),W=this.generate(Y,"value"),D=A!==null?this.generate(A,"value"):"0",M=W.includes("/m")?", true":"";return`(_ = toSearchable(${$}${M}).match(${W})) && _[${D}]`}generateIndexAccess(F,T){let[U,Y]=T;if(Array.isArray(Y)&&(Y[0]===".."||Y[0]==="...")){let A=Y[0]==="..",$=this.generate(U,"value"),[W,D]=Y.slice(1);if(W===null&&D===null)return`${$}.slice()`;if(W===null){if(A&&this.isNegativeOneLiteral(D))return`${$}.slice(0)`;let Q=this.generate(D,"value");return A?`${$}.slice(0, +${Q} + 1 || 9e9)`:`${$}.slice(0, ${Q})`}if(D===null)return`${$}.slice(${this.generate(W,"value")})`;let M=this.generate(W,"value");if(A&&this.isNegativeOneLiteral(D))return`${$}.slice(${M})`;let Z=this.generate(D,"value");return A?`${$}.slice(${M}, +${Z} + 1 || 9e9)`:`${$}.slice(${M}, ${Z})`}return`${this.generate(U,"value")}[${this.unwrap(this.generate(Y,"value"))}]`}generateOptIndex(F,T){let[U,Y]=T;return`${this.generate(U,"value")}?.[${this.generate(Y,"value")}]`}generateOptCall(F,T){let[U,...Y]=T;return`${this.generate(U,"value")}?.(${Y.map((A)=>this.generate(A,"value")).join(", ")})`}generateDef(F,T,U,Y){let[A,$,W]=T,D=B(A,"await")===!0,M=E(A),Z=this.generateParamList($),Q=this.generateFunctionBody(W,$,D),X=this.containsAwait(W),J=this.containsYield(W);return`${X?"async ":""}function${J?"*":""} ${M}(${Z}) ${Q}`}generateThinArrow(F,T,U,Y){let[A,$]=T,W=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let D=this.generateParamList(A),M=this.generateFunctionBody($,A,W),Z=this.containsAwait($),Q=this.containsYield($),X=`${Z?"async ":""}function${Q?"*":""}(${D}) ${M}`;return U==="value"?`(${X})`:X}generateFatArrow(F,T,U,Y){let[A,$]=T,W=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let D=this.generateParamList(A),Z=A.length===1&&typeof A[0]==="string"&&!D.includes("=")&&!D.includes("...")&&!D.includes("[")&&!D.includes("{")?D:`(${D})`,X=this.containsAwait($)?"async ":"";if(!W){if(Array.isArray($)&&$[0]==="block"&&$.length===2){let R=$[1];if(!Array.isArray(R)||R[0]!=="return")return`${X}${Z} => ${this.generate(R,"value")}`}if(!Array.isArray($)||$[0]!=="block")return`${X}${Z} => ${this.generate($,"value")}`}let J=this.generateFunctionBody($,A,W);return`${X}${Z} => ${J}`}generateReturn(F,T,U,Y){if(T.length===0)return"return";let[A]=T;if(this.sideEffectOnly)return"return";if(Array.isArray(A)&&A[0]==="unless"){let[,$,W]=A,D=Array.isArray(W)&&W.length===1?W[0]:W;return`if (!${this.generate($,"value")}) return ${this.generate(D,"value")}`}if(Array.isArray(A)&&A[0]==="if"){let[,$,W,...D]=A;if(D.length===0){let M=Array.isArray(W)&&W.length===1?W[0]:W;return`if (${this.generate($,"value")}) return ${this.generate(M,"value")}`}}if(Array.isArray(A)&&A[0]==="new"&&Array.isArray(A[1])&&A[1][0]==="unless"){let[,$]=A,[,W,D]=$,M=Array.isArray(D)&&D.length===1?D[0]:D;return`if (!${this.generate(W,"value")}) return ${this.generate(["new",M],"value")}`}return`return ${this.generate(A,"value")}`}generateState(F,T){let[U,Y]=T;this.usesReactivity=!0;let A=E(U)??U;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(A),`const ${A} = __state(${this.generate(Y,"value")})`}generateComputed(F,T){let[U,Y]=T;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let A=E(U)??U;return this.reactiveVars.add(A),`const ${A} = __computed(() => ${this.generate(Y,"value")})`}generateReadonly(F,T){let[U,Y]=T;return`const ${E(U)??U} = ${this.generate(Y,"value")}`}generateEffect(F,T){let[U,Y]=T;this.usesReactivity=!0;let A;if(Array.isArray(Y)&&Y[0]==="block")A=`{
|
|
51
|
+
${this.withIndent(()=>this.formatStatements(Y.slice(1))).join(`
|
|
52
52
|
`)}
|
|
53
|
-
${this.indent()}}`;else if(Array.isArray(
|
|
54
|
-
${
|
|
53
|
+
${this.indent()}}`;else if(Array.isArray(Y)&&(Y[0]==="->"||Y[0]==="=>")){let W=this.generate(Y,"value");if(U)return`const ${E(U)??this.generate(U,"value")} = __effect(${W})`;return`__effect(${W})`}else A=`{ ${this.generate(Y,"value")}; }`;let $=`__effect(() => ${A})`;if(U)return`const ${E(U)??this.generate(U,"value")} = ${$}`;return $}generateBreak(){return"break"}generateBreakIf(F,T){return`if (${this.generate(T[0],"value")}) break`}generateContinue(){return"continue"}generateContinueIf(F,T){return`if (${this.generate(T[0],"value")}) continue`}generateExistential(F,T){return`(${this.generate(T[0],"value")} != null)`}generateTernary(F,T){let[U,Y,A]=T;return`(${this.unwrap(this.generate(U,"value"))} ? ${this.generate(Y,"value")} : ${this.generate(A,"value")})`}generateLoop(F,T){return`while (true) ${this.generateLoopBody(T[0])}`}generateAwait(F,T){return`await ${this.generate(T[0],"value")}`}generateYield(F,T){return T.length===0?"yield":`yield ${this.generate(T[0],"value")}`}generateYieldFrom(F,T){return`yield* ${this.generate(T[0],"value")}`}generateIf(F,T,U,Y){if(F==="unless"){let[D,M]=T;if(Array.isArray(M)&&M.length===1&&(!Array.isArray(M[0])||M[0][0]!=="block"))M=M[0];if(U==="value")return`(!${this.generate(D,"value")} ? ${this.extractExpression(M)} : undefined)`;let Z=this.unwrap(this.generate(D,"value"));if(/[ <>=&|]/.test(Z))Z=`(${Z})`;return`if (!${Z}) `+this.generate(M,"statement")}let[A,$,...W]=T;return U==="value"?this.generateIfAsExpression(A,$,W):this.generateIfAsStatement(A,$,W)}generateForIn(F,T,U,Y){let[A,$,W,D,M]=T;if(U==="value"&&this.comprehensionDepth===0){let _=["for-in",A,$,W];return this.generate(["comprehension",M,[_],D?[D]:[]],U)}let Z=Array.isArray(A)?A:[A],Q=Z.length===0,[X,J]=Q?["_i",null]:Z,R=Array.isArray(X)&&(X[0]==="array"||X[0]==="object")?this.generateDestructuringPattern(X):X;if(W&&W!==null){let _=this.generate($,"value"),z=J||"_i",q=this.generate(W,"value"),H=this.isNegativeStep(W),u=H&&(W[1]==="1"||W[1]===1||E(W[1])==="1"),P=!H&&(W==="1"||W===1||E(W)==="1"),L;if(u)L=`for (let ${z} = ${_}.length - 1; ${z} >= 0; ${z}--) `;else if(P)L=`for (let ${z} = 0; ${z} < ${_}.length; ${z}++) `;else if(H)L=`for (let ${z} = ${_}.length - 1; ${z} >= 0; ${z} += ${q}) `;else L=`for (let ${z} = 0; ${z} < ${_}.length; ${z} += ${q}) `;if(Array.isArray(M)&&M[0]==="block"){let O=M.slice(1);this.indentLevel++;let w=[];if(!Q)w.push(`const ${R} = ${_}[${z}];`);if(D)w.push(`if (${this.generate(D,"value")}) {`),this.indentLevel++,w.push(...this.formatStatements(O)),this.indentLevel--,w.push(this.indent()+"}");else w.push(...O.map((I)=>this.addSemicolon(I,this.generate(I,"statement"))));return this.indentLevel--,L+`{
|
|
54
|
+
${w.map((I)=>this.indent()+I).join(`
|
|
55
55
|
`)}
|
|
56
|
-
${this.indent()}}`}if(Q)return
|
|
57
|
-
`,this.indentLevel++,
|
|
58
|
-
`,
|
|
59
|
-
`,this.indentLevel++,
|
|
56
|
+
${this.indent()}}`}if(Q)return D?L+`{ if (${this.generate(D,"value")}) ${this.generate(M,"statement")}; }`:L+`{ ${this.generate(M,"statement")}; }`;return D?L+`{ const ${R} = ${_}[${z}]; if (${this.generate(D,"value")}) ${this.generate(M,"statement")}; }`:L+`{ const ${R} = ${_}[${z}]; ${this.generate(M,"statement")}; }`}if(J){let _=this.generate($,"value"),z=`for (let ${J} = 0; ${J} < ${_}.length; ${J}++) `;if(Array.isArray(M)&&M[0]==="block"){if(z+=`{
|
|
57
|
+
`,this.indentLevel++,z+=this.indent()+`const ${R} = ${_}[${J}];
|
|
58
|
+
`,D)z+=this.indent()+`if (${this.unwrap(this.generate(D,"value"))}) {
|
|
59
|
+
`,this.indentLevel++,z+=this.formatStatements(M.slice(1)).join(`
|
|
60
60
|
`)+`
|
|
61
|
-
`,this.indentLevel--,
|
|
62
|
-
`;else
|
|
61
|
+
`,this.indentLevel--,z+=this.indent()+`}
|
|
62
|
+
`;else z+=this.formatStatements(M.slice(1)).join(`
|
|
63
63
|
`)+`
|
|
64
|
-
`;this.indentLevel--,
|
|
65
|
-
${
|
|
64
|
+
`;this.indentLevel--,z+=this.indent()+"}"}else z+=D?`{ const ${R} = ${_}[${J}]; if (${this.unwrap(this.generate(D,"value"))}) ${this.generate(M,"statement")}; }`:`{ const ${R} = ${_}[${J}]; ${this.generate(M,"statement")}; }`;return z}let G=Array.isArray($)&&$[0];if(G instanceof String)G=E(G);if(G===".."||G==="..."){let _=G==="...",[z,q]=$.slice(1),H=(u)=>typeof u==="number"||typeof u==="string"&&!u.includes("(")||u instanceof String&&!E(u).includes("(")||Array.isArray(u)&&u[0]===".";if(H(z)&&H(q)){let u=this.generate(z,"value"),P=this.generate(q,"value"),L=_?"<":"<=",O=W?`${R} += ${this.generate(W,"value")}`:`${R}++`,w=`for (let ${R} = ${u}; ${R} ${L} ${P}; ${O}) `;return w+=D?this.generateLoopBodyWithGuard(M,D):this.generateLoopBody(M),w}}let K=`for (const ${R} of ${this.generate($,"value")}) `;return K+=D?this.generateLoopBodyWithGuard(M,D):this.generateLoopBody(M),K}generateForOf(F,T,U,Y){let[A,$,W,D,M]=T,[Z,Q]=Array.isArray(A)?A:[A],X=this.generate($,"value"),J=`for (const ${Z} in ${X}) `;if(W&&!Q&&!D){if(Array.isArray(M)&&M[0]==="block"){this.indentLevel++;let R=[`if (!Object.hasOwn(${X}, ${Z})) continue;`,...M.slice(1).map((G)=>this.addSemicolon(G,this.generate(G,"statement")))];return this.indentLevel--,J+`{
|
|
65
|
+
${R.map((G)=>this.indent()+G).join(`
|
|
66
66
|
`)}
|
|
67
|
-
${this.indent()}}`}return J+`{ if (!Object.hasOwn(${X}, ${Z})) continue; ${this.generate(
|
|
68
|
-
${
|
|
67
|
+
${this.indent()}}`}return J+`{ if (!Object.hasOwn(${X}, ${Z})) continue; ${this.generate(M,"statement")}; }`}if(Q){if(Array.isArray(M)&&M[0]==="block"){let G=M.slice(1);this.indentLevel++;let K=[];if(W)K.push(`if (!Object.hasOwn(${X}, ${Z})) continue;`);if(K.push(`const ${Q} = ${X}[${Z}];`),D)K.push(`if (${this.generate(D,"value")}) {`),this.indentLevel++,K.push(...G.map((_)=>this.addSemicolon(_,this.generate(_,"statement")))),this.indentLevel--,K.push(this.indent()+"}");else K.push(...G.map((_)=>this.addSemicolon(_,this.generate(_,"statement"))));return this.indentLevel--,J+`{
|
|
68
|
+
${K.map((_)=>this.indent()+_).join(`
|
|
69
69
|
`)}
|
|
70
|
-
${this.indent()}}`}let
|
|
71
|
-
${
|
|
70
|
+
${this.indent()}}`}let R="";if(W)R+=`if (!Object.hasOwn(${X}, ${Z})) continue; `;if(R+=`const ${Q} = ${X}[${Z}]; `,D)R+=`if (${this.generate(D,"value")}) `;return R+=`${this.generate(M,"statement")};`,J+`{ ${R} }`}return J+=D?this.generateLoopBodyWithGuard(M,D):this.generateLoopBody(M),J}generateForAs(F,T,U,Y){let A=Array.isArray(T[0])?T[0]:[T[0]],[$]=A,W=T[1],D=T[2],M=T[3],Z=T[4],Q=!1,X=[];if(Array.isArray($)&&$[0]==="array"){let _=$.slice(1),z=_.findIndex((q)=>Array.isArray(q)&&q[0]==="..."||q==="...");if(z!==-1&&z<_.length-1){Q=!0;let q=_.slice(z+1),H=q.length,u=_.slice(0,z),P=_[z],L=Array.isArray(P)&&P[0]==="..."?P[1]:"_rest",O=u.map((N)=>N===","?"":typeof N==="string"?N:this.generate(N,"value")).join(", "),w=O?`${O}, ...${L}`:`...${L}`,I=q.map((N)=>N===","?"":typeof N==="string"?N:this.generate(N,"value")).join(", ");X.push(`[${w}] = _item`),X.push(`[${I}] = ${L}.splice(-${H})`),this.helpers.add("slice"),_.forEach((N)=>{if(N===","||N==="...")return;if(typeof N==="string")this.programVars.add(N);else if(Array.isArray(N)&&N[0]==="..."&&typeof N[1]==="string")this.programVars.add(N[1])})}}let J=this.generate(W,"value"),R=D?"await ":"",G;if(Q)G="_item";else if(Array.isArray($)&&($[0]==="array"||$[0]==="object"))G=this.generateDestructuringPattern($);else G=$;let K=`for ${R}(const ${G} of ${J}) `;if(Q&&X.length>0){let _=this.unwrapBlock(Z),z=this.withIndent(()=>[...X.map((q)=>this.indent()+q+";"),...this.formatStatements(_)]);K+=`{
|
|
71
|
+
${z.join(`
|
|
72
72
|
`)}
|
|
73
|
-
${this.indent()}}`}else
|
|
73
|
+
${this.indent()}}`}else K+=M?this.generateLoopBodyWithGuard(Z,M):this.generateLoopBody(Z);return K}generateWhile(F,T){let U=T[0],Y=T.length===3?T[1]:null,A=T[T.length-1];return`while (${this.unwrap(this.generate(U,"value"))}) `+(Y?this.generateLoopBodyWithGuard(A,Y):this.generateLoopBody(A))}generateUntil(F,T){let[U,Y]=T;return`while (!(${this.unwrap(this.generate(U,"value"))})) `+this.generateLoopBody(Y)}generateRange(F,T){if(F==="..."){if(T.length===1)return`...${this.generate(T[0],"value")}`;let[W,D]=T,M=this.generate(W,"value"),Z=this.generate(D,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${M}, ${Z})`}let[U,Y]=T,A=this.generate(U,"value"),$=this.generate(Y,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${A}, ${$})`}generateNot(F,T){let[U]=T;if(typeof U==="string"||U instanceof String)return`!${this.generate(U,"value")}`;if(Array.isArray(U)){if([".","?.","[]","optindex","optcall"].includes(U[0]))return`!${this.generate(U,"value")}`}let Y=this.generate(U,"value");return Y.startsWith("(")?`!${Y}`:`(!${Y})`}generateBitwiseNot(F,T){return`(~${this.generate(T[0],"value")})`}generateIncDec(F,T){let[U,Y]=T,A=this.generate(U,"value");return Y?`(${A}${F})`:`(${F}${A})`}generateTypeof(F,T){return`typeof ${this.generate(T[0],"value")}`}generateDelete(F,T){return`(delete ${this.generate(T[0],"value")})`}generateInstanceof(F,T,U,Y){let[A,$]=T,W=B(Y[0],"invert"),D=`(${this.generate(A,"value")} instanceof ${this.generate($,"value")})`;return W?`(!${D})`:D}generateIn(F,T,U,Y){let[A,$]=T,W=this.generate(A,"value"),D=B(Y[0],"invert");if(Array.isArray($)&&$[0]==="object"){let Q=`(${W} in ${this.generate($,"value")})`;return D?`(!${Q})`:Q}let M=this.generate($,"value"),Z=`(Array.isArray(${M}) || typeof ${M} === 'string' ? ${M}.includes(${W}) : (${W} in ${M}))`;return D?`(!${Z})`:Z}generateOf(F,T,U,Y){let[A,$]=T,W=this.generate(A,"value"),D=this.generate($,"value"),M=B(Y[0],"invert"),Z=`(${W} in ${D})`;return M?`(!${Z})`:Z}generateRegexMatch(F,T){let[U,Y]=T;this.helpers.add("toSearchable"),this.programVars.add("_");let A=this.generate(Y,"value"),$=A.includes("/m")?", true":"";return`(_ = toSearchable(${this.generate(U,"value")}${$}).match(${A}))`}generateNew(F,T){let[U]=T;if(Array.isArray(U)&&(U[0]==="."||U[0]==="?.")){let[Y,A,$]=U;if(Array.isArray(A)&&!A[0].startsWith)return`(${this.generate(["new",A],"value")}).${$}`;return`new ${this.generate(A,"value")}.${$}`}if(Array.isArray(U)){let[Y,...A]=U;return`new ${this.generate(Y,"value")}(${A.map(($)=>this.unwrap(this.generate($,"value"))).join(", ")})`}return`new ${this.generate(U,"value")}()`}generateLogicalAnd(F,T,U,Y){let A=this.flattenBinaryChain(Y).slice(1);if(A.length===0)return"true";if(A.length===1)return this.generate(A[0],"value");return`(${A.map(($)=>this.generate($,"value")).join(" && ")})`}generateLogicalOr(F,T,U,Y){let A=this.flattenBinaryChain(Y).slice(1);if(A.length===0)return"true";if(A.length===1)return this.generate(A[0],"value");return`(${A.map(($)=>this.generate($,"value")).join(" || ")})`}generateArray(F,T){let U=T.length>0&&T[T.length-1]===",",Y=T.map((A)=>{if(A===",")return"";if(A==="...")return"";if(Array.isArray(A)&&A[0]==="...")return`...${this.generate(A[1],"value")}`;return this.generate(A,"value")}).join(", ");return U?`[${Y},]`:`[${Y}]`}generateObject(F,T,U){if(T.length===1&&Array.isArray(T[0])&&Array.isArray(T[0][1])&&T[0][1][0]==="comprehension"){let[A,$]=T[0],[,W,D,M]=$;return this.generate(["object-comprehension",A,W,D,M],U)}return`{${T.map((A)=>{if(Array.isArray(A)&&A[0]==="...")return`...${this.generate(A[1],"value")}`;let[$,W,D]=A,M;if(Array.isArray($)&&$[0]==="dynamicKey")M=`[${this.generate($[1],"value")}]`;else if(Array.isArray($)&&$[0]==="str")M=`[${this.generate($,"value")}]`;else M=this.generate($,"value");let Z=this.generate(W,"value");if(D==="=")return`${M} = ${Z}`;if(D===":")return`${M}: ${Z}`;if(M===Z&&!Array.isArray($))return M;return`${M}: ${Z}`}).join(", ")}}`}generateBlock(F,T,U){if(U==="statement")return`{
|
|
74
74
|
${this.withIndent(()=>this.formatStatements(T)).join(`
|
|
75
75
|
`)}
|
|
76
|
-
${this.indent()}}`;if(T.length===0)return"undefined";if(T.length===1)return this.generate(T[0],
|
|
77
|
-
${this.withIndent(()
|
|
76
|
+
${this.indent()}}`;if(T.length===0)return"undefined";if(T.length===1)return this.generate(T[0],U);let Y=T[T.length-1];if(Array.isArray(Y)&&["break","continue","return","throw"].includes(Y[0])){let $=T.map((W)=>this.addSemicolon(W,this.generate(W,"statement")));return`{
|
|
77
|
+
${this.withIndent(()=>$.map((W)=>this.indent()+W).join(`
|
|
78
78
|
`))}
|
|
79
|
-
${this.indent()}}`}return`(${T.map((
|
|
79
|
+
${this.indent()}}`}return`(${T.map(($)=>this.generate($,"value")).join(", ")})`}generateTry(F,T,U){let Y=U==="value",A="try ",$=T[0];if(A+=Y&&Array.isArray($)&&$[0]==="block"?this.generateBlockWithReturns($):this.generate($,"statement"),T.length>=2&&Array.isArray(T[1])&&T[1].length===2&&T[1][0]!=="block"){let[W,D]=T[1];if(A+=" catch",W&&Array.isArray(W)&&(W[0]==="object"||W[0]==="array")){A+=" (error)";let M=`(${this.generate(W,"value")} = error)`;D=Array.isArray(D)&&D[0]==="block"?["block",M,...D.slice(1)]:["block",M,D]}else if(W)A+=` (${W})`;A+=" "+(Y&&Array.isArray(D)&&D[0]==="block"?this.generateBlockWithReturns(D):this.generate(D,"statement"))}else if(T.length===2)A+=" finally "+this.generate(T[1],"statement");if(T.length===3)A+=" finally "+this.generate(T[2],"statement");if(Y)return`(${this.containsAwait(T[0])||T[1]&&this.containsAwait(T[1])?"async ":""}() => { ${A} })()`;return A}generateThrow(F,T,U){let[Y]=T;if(Array.isArray(Y)){let $=Y,W=null;if(Y[0]==="new"&&Array.isArray(Y[1])&&(Y[1][0]==="if"||Y[1][0]==="unless"))W="new",$=Y[1];else if(Y[0]==="if"||Y[0]==="unless")$=Y;if($[0]==="if"||$[0]==="unless"){let[D,M,Z]=$,Q=Array.isArray(Z)&&Z.length===1?Z[0]:Z;Y=W==="new"?["new",Q]:Q;let X=this.generate(M,"value"),J=`throw ${this.generate(Y,"value")}`;return D==="unless"?`if (!(${X})) {
|
|
80
80
|
${this.indent()} ${J};
|
|
81
81
|
${this.indent()}}`:`if (${X}) {
|
|
82
82
|
${this.indent()} ${J};
|
|
83
|
-
${this.indent()}}`}}let A=`throw ${this.generate(
|
|
84
|
-
`;this.indentLevel++;for(let
|
|
85
|
-
`}this.indentLevel++,W+=this.generateSwitchCaseBody(Z,
|
|
86
|
-
`,this.indentLevel++,W+=this.generateSwitchCaseBody(
|
|
87
|
-
`;this.indentLevel++,this.comprehensionDepth++,
|
|
88
|
-
`;for(let Q of A){let[X,J,
|
|
89
|
-
`,this.indentLevel++}else{let O=this.generate(
|
|
90
|
-
`:this.indent()+`for (let ${
|
|
91
|
-
`,this.indentLevel++,!
|
|
92
|
-
`}}else if(H){let
|
|
93
|
-
`,this.indentLevel++,
|
|
94
|
-
`}else
|
|
95
|
-
`,this.indentLevel++}else if(X==="for-of"){let
|
|
96
|
-
`,this.indentLevel++,
|
|
97
|
-
`;if(
|
|
98
|
-
`}else if(X==="for-as"){let
|
|
99
|
-
`,this.indentLevel++}}for(let Q of
|
|
100
|
-
`,this.indentLevel++;let
|
|
101
|
-
`;else if(Array.isArray(X)&&Z.includes(X[0]))
|
|
102
|
-
`;else
|
|
103
|
-
`}else if(
|
|
104
|
-
`;else if(Array.isArray(
|
|
105
|
-
`;else
|
|
106
|
-
`;for(let Q=0;Q
|
|
107
|
-
`;for(let Q=0;Q<A.length;Q++)this.indentLevel--,
|
|
108
|
-
`;return
|
|
109
|
-
`,this.indentLevel--,this.comprehensionDepth--,
|
|
110
|
-
`;this.indentLevel++,
|
|
111
|
-
`;for(let
|
|
112
|
-
`,this.indentLevel++,J)
|
|
113
|
-
`;if(G)
|
|
114
|
-
`}}for(let
|
|
115
|
-
`,this.indentLevel++;
|
|
116
|
-
`;for(let
|
|
117
|
-
`;for(let
|
|
118
|
-
`;return
|
|
119
|
-
`,this.indentLevel--,
|
|
120
|
-
|
|
121
|
-
`}else if(G)W+=this.indent()+`static ${_} = ${this.generate(
|
|
122
|
-
`;else W+=this.indent()+`${_} = ${this.generate(
|
|
123
|
-
`}this.indentLevel--}else if(Z){let Q=
|
|
124
|
-
`}else if(G)W+=this.indent()+`static ${
|
|
125
|
-
`;else W+=this.indent()+`${
|
|
126
|
-
`}for(let J of X)if(Array.isArray(J)&&J[0]==="class"){let[,
|
|
83
|
+
${this.indent()}}`}}let A=`throw ${this.generate(Y,"value")}`;return U==="value"?`(() => { ${A}; })()`:A}generateControl(F,T,U){let[Y,A,$]=T,W=E(Y),D=$[0]==="return",M=this.generate(A,"value"),Z=$.length>1?$[1]:null,Q=D?Z?`return ${this.generate(Z,"value")}`:"return":Z?`throw ${this.generate(Z,"value")}`:"throw new Error()",X=this.wrapForCondition(M);if(U==="value"){if(W==="??")return`(() => { const __v = ${M}; if (__v == null) ${Q}; return __v; })()`;if(W==="||")return`(() => { const __v = ${M}; if (!__v) ${Q}; return __v; })()`;return`(() => { const __v = ${M}; if (__v) ${Q}; return __v; })()`}if(W==="??")return`if (${X} == null) ${Q}`;if(W==="||")return`if (!${X}) ${Q}`;return`if (${X}) ${Q}`}generateSwitch(F,T,U){let[Y,A,$]=T;if(Y===null)return this.generateSwitchAsIfChain(A,$,U);let W=`switch (${this.generate(Y,"value")}) {
|
|
84
|
+
`;this.indentLevel++;for(let D of A){let[,M,Z]=D;for(let Q of M){let X=E(Q)??Q,J;if(Array.isArray(X))J=this.generate(X,"value");else if(typeof X==="string"&&(X.startsWith('"')||X.startsWith("'")))J=`'${X.slice(1,-1)}'`;else J=this.generate(X,"value");W+=this.indent()+`case ${J}:
|
|
85
|
+
`}this.indentLevel++,W+=this.generateSwitchCaseBody(Z,U),this.indentLevel--}if($)W+=this.indent()+`default:
|
|
86
|
+
`,this.indentLevel++,W+=this.generateSwitchCaseBody($,U),this.indentLevel--;if(this.indentLevel--,W+=this.indent()+"}",U==="value")return`(${A.some((M)=>this.containsAwait(M[2]))||$&&this.containsAwait($)?"async ":""}() => { ${W} })()`;return W}generateWhen(){throw Error("when clause should be handled by switch")}generateComprehension(F,T,U){let[Y,A,$]=T;if(U==="statement")return this.generateComprehensionAsLoop(Y,A,$);if(this.comprehensionTarget)return this.generateComprehensionWithTarget(Y,A,$,this.comprehensionTarget);let D=`(${this.containsAwait(Y)?"async ":""}() => {
|
|
87
|
+
`;this.indentLevel++,this.comprehensionDepth++,D+=this.indent()+`const result = [];
|
|
88
|
+
`;for(let Q of A){let[X,J,R,G]=Q;if(X==="for-in"){let K=G,_=Array.isArray(J)?J:[J],z=_.length===0,[q,H]=z?["_i",null]:_,u=Array.isArray(q)&&(q[0]==="array"||q[0]==="object")?this.generateDestructuringPattern(q):q;if(K&&K!==null){let P=Array.isArray(R)&&R[0];if(P instanceof String)P=E(P);if(P===".."||P==="..."){let O=P==="...",[w,I]=R.slice(1),N=this.generate(w,"value"),S=this.generate(I,"value"),j=this.generate(K,"value");D+=this.indent()+`for (let ${u} = ${N}; ${u} ${O?"<":"<="} ${S}; ${u} += ${j}) {
|
|
89
|
+
`,this.indentLevel++}else{let O=this.generate(R,"value"),w=H||"_i",I=this.generate(K,"value"),N=this.isNegativeStep(K);if(D+=N?this.indent()+`for (let ${w} = ${O}.length - 1; ${w} >= 0; ${w} += ${I}) {
|
|
90
|
+
`:this.indent()+`for (let ${w} = 0; ${w} < ${O}.length; ${w} += ${I}) {
|
|
91
|
+
`,this.indentLevel++,!z)D+=this.indent()+`const ${u} = ${O}[${w}];
|
|
92
|
+
`}}else if(H){let P=this.generate(R,"value");D+=this.indent()+`for (let ${H} = 0; ${H} < ${P}.length; ${H}++) {
|
|
93
|
+
`,this.indentLevel++,D+=this.indent()+`const ${u} = ${P}[${H}];
|
|
94
|
+
`}else D+=this.indent()+`for (const ${u} of ${this.generate(R,"value")}) {
|
|
95
|
+
`,this.indentLevel++}else if(X==="for-of"){let K=G,_=Array.isArray(J)?J:[J],[z,q]=_,H=Array.isArray(z)&&(z[0]==="array"||z[0]==="object")?this.generateDestructuringPattern(z):z,u=this.generate(R,"value");if(D+=this.indent()+`for (const ${H} in ${u}) {
|
|
96
|
+
`,this.indentLevel++,K)D+=this.indent()+`if (!Object.hasOwn(${u}, ${H})) continue;
|
|
97
|
+
`;if(q)D+=this.indent()+`const ${q} = ${u}[${H}];
|
|
98
|
+
`}else if(X==="for-as"){let K=Q[3],_=Array.isArray(J)?J:[J],[z]=_,q=Array.isArray(z)&&(z[0]==="array"||z[0]==="object")?this.generateDestructuringPattern(z):z;D+=this.indent()+`for ${K?"await ":""}(const ${q} of ${this.generate(R,"value")}) {
|
|
99
|
+
`,this.indentLevel++}}for(let Q of $)D+=this.indent()+`if (${this.generate(Q,"value")}) {
|
|
100
|
+
`,this.indentLevel++;let M=(Q)=>{if(typeof Q==="string"&&(Q==="break"||Q==="continue"))return!0;if(!Array.isArray(Q))return!1;if(["break","continue","break-if","continue-if","return","throw"].includes(Q[0]))return!0;if(Q[0]==="if"||Q[0]==="unless")return Q.slice(1).some(M);return Q.some(M)},Z=["for-in","for-of","for-as","while","until","loop"];if(Array.isArray(Y)&&Y[0]==="block")for(let Q=0;Q<Y.length-1;Q++){let X=Y[Q+1];if(Q!==Y.length-2||M(X))D+=this.indent()+this.generate(X,"statement")+`;
|
|
101
|
+
`;else if(Array.isArray(X)&&Z.includes(X[0]))D+=this.indent()+this.generate(X,"statement")+`;
|
|
102
|
+
`;else D+=this.indent()+`result.push(${this.generate(X,"value")});
|
|
103
|
+
`}else if(M(Y))D+=this.indent()+this.generate(Y,"statement")+`;
|
|
104
|
+
`;else if(Array.isArray(Y)&&Z.includes(Y[0]))D+=this.indent()+this.generate(Y,"statement")+`;
|
|
105
|
+
`;else D+=this.indent()+`result.push(${this.generate(Y,"value")});
|
|
106
|
+
`;for(let Q=0;Q<$.length;Q++)this.indentLevel--,D+=this.indent()+`}
|
|
107
|
+
`;for(let Q=0;Q<A.length;Q++)this.indentLevel--,D+=this.indent()+`}
|
|
108
|
+
`;return D+=this.indent()+`return result;
|
|
109
|
+
`,this.indentLevel--,this.comprehensionDepth--,D+=this.indent()+"})()",D}generateObjectComprehension(F,T,U){let[Y,A,$,W]=T,D=`(() => {
|
|
110
|
+
`;this.indentLevel++,D+=this.indent()+`const result = {};
|
|
111
|
+
`;for(let M of $){let[Z,Q,X,J]=M;if(Z==="for-of"){let[R,G]=Q,K=this.generate(X,"value");if(D+=this.indent()+`for (const ${R} in ${K}) {
|
|
112
|
+
`,this.indentLevel++,J)D+=this.indent()+`if (!Object.hasOwn(${K}, ${R})) continue;
|
|
113
|
+
`;if(G)D+=this.indent()+`const ${G} = ${K}[${R}];
|
|
114
|
+
`}}for(let M of W)D+=this.indent()+`if (${this.generate(M,"value")}) {
|
|
115
|
+
`,this.indentLevel++;D+=this.indent()+`result[${this.generate(Y,"value")}] = ${this.generate(A,"value")};
|
|
116
|
+
`;for(let M=0;M<W.length;M++)this.indentLevel--,D+=this.indent()+`}
|
|
117
|
+
`;for(let M=0;M<$.length;M++)this.indentLevel--,D+=this.indent()+`}
|
|
118
|
+
`;return D+=this.indent()+`return result;
|
|
119
|
+
`,this.indentLevel--,D+=this.indent()+"})()",D}generateClass(F,T,U){let[Y,A,...$]=T,W=Y?`class ${Y}`:"class";if(A)W+=` extends ${this.generate(A,"value")}`;if(W+=` {
|
|
120
|
+
`,$.length>0&&Array.isArray($[0])){let D=$[0];if(D[0]==="block"){let M=D.slice(1),Z=M.length>0&&Array.isArray(M[0])&&M[0][0]==="object";if(Z&&M.length===1){let Q=M[0].slice(1);this.indentLevel++;let X=[];for(let[J,R]of Q){let G=this.isStaticMember(J),K=this.isComputedMember(J),_=this.extractMemberName(J);if(this.isBoundMethod(R)&&!G&&!K&&_!=="constructor")X.push(_)}for(let[J,R]of Q){let G=this.isStaticMember(J),K=this.isComputedMember(J),_=this.extractMemberName(J);if(Array.isArray(R)&&(R[0]==="->"||R[0]==="=>")){let[,z,q]=R,H=this.containsAwait(q),u=this.containsYield(q),P=z,L=[];if(_==="constructor"){P=z.map((I)=>{if(Array.isArray(I)&&I[0]==="."&&I[1]==="this")return L.push(`this.${I[2]} = ${I[2]}`),I[2];return I});for(let I of X)L.unshift(`this.${I} = this.${I}.bind(this)`)}let O=this.generateParamList(P),w=(G?"static ":"")+(H?"async ":"")+(u?"*":"");if(W+=this.indent()+`${w}${_}(${O}) `,!K)this.currentMethodName=_;W+=this.generateMethodBody(q,L,_==="constructor",P),this.currentMethodName=null,W+=`
|
|
121
|
+
`}else if(G)W+=this.indent()+`static ${_} = ${this.generate(R,"value")};
|
|
122
|
+
`;else W+=this.indent()+`${_} = ${this.generate(R,"value")};
|
|
123
|
+
`}this.indentLevel--}else if(Z){let Q=M[0].slice(1),X=M.slice(1);this.indentLevel++;for(let[J,R]of Q){let G=this.isStaticMember(J),K=this.extractMemberName(J);if(Array.isArray(R)&&(R[0]==="->"||R[0]==="=>")){let[,_,z]=R,q=this.generateParamList(_),H=(G?"static ":"")+(this.containsAwait(z)?"async ":"")+(this.containsYield(z)?"*":"");W+=this.indent()+`${H}${K}(${q}) `,this.currentMethodName=K,W+=this.generateMethodBody(z,[],K==="constructor",_),this.currentMethodName=null,W+=`
|
|
124
|
+
`}else if(G)W+=this.indent()+`static ${K} = ${this.generate(R,"value")};
|
|
125
|
+
`;else W+=this.indent()+`${K} = ${this.generate(R,"value")};
|
|
126
|
+
`}for(let J of X)if(Array.isArray(J)&&J[0]==="class"){let[,R,G,...K]=J;if(Array.isArray(R)&&R[0]==="."&&R[1]==="this")W+=this.indent()+`static ${R[2]} = ${this.generate(["class",null,G,...K],"value")};
|
|
127
127
|
`}else W+=this.indent()+this.generate(J,"statement")+`;
|
|
128
|
-
`;this.indentLevel--}else{this.indentLevel++;for(let Q of
|
|
128
|
+
`;this.indentLevel--}else{this.indentLevel++;for(let Q of M)if(Array.isArray(Q)&&Q[0]==="="&&Array.isArray(Q[1])&&Q[1][0]==="."&&Q[1][1]==="this")W+=this.indent()+`static ${Q[1][2]} = ${this.generate(Q[2],"value")};
|
|
129
129
|
`;else W+=this.indent()+this.generate(Q,"statement")+`;
|
|
130
|
-
`;this.indentLevel--}}}return W+=this.indent()+"}",W}generateSuper(
|
|
131
|
-
export default ${
|
|
132
|
-
`;if(X.size>0)
|
|
133
|
-
`;let _=A.length>0&&G.length>0&&Array.isArray(G[0])&&G[0][0]==="super",
|
|
134
|
-
`;return}if(
|
|
135
|
-
`;return}}}let O
|
|
136
|
-
`;else
|
|
137
|
-
`})};if(_){if(G.length===1
|
|
138
|
-
`;else
|
|
139
|
-
`;for(let H of A)
|
|
140
|
-
`;
|
|
141
|
-
`;
|
|
142
|
-
`}return this.indentLevel--,
|
|
143
|
-
${this.withIndent(()=>T.map((
|
|
130
|
+
`;this.indentLevel--}}}return W+=this.indent()+"}",W}generateSuper(F,T){if(T.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let U=T.map((Y)=>this.unwrap(this.generate(Y,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${U})`;return`super(${U})`}generateImport(F,T,U,Y){if(T.length===1){let D=`import(${this.generate(T[0],"value")})`;if(B(Y[0],"await")===!0)return`(await ${D})`;return D}let[A,$]=T,W=this.addJsExtensionAndAssertions($);if(typeof A==="string")return`import ${A} from ${W}`;if(Array.isArray(A)){if(A[0]==="*"&&A.length===2)return`import * as ${A[1]} from ${W}`;if(typeof A[0]==="string"&&Array.isArray(A[1])){let M=A[0],Z=A[1];if(Z[0]==="*"&&Z.length===2)return`import ${M}, * as ${Z[1]} from ${W}`;let Q=(Array.isArray(Z)?Z:[Z]).map((X)=>Array.isArray(X)&&X.length===2?`${X[0]} as ${X[1]}`:X).join(", ");return`import ${M}, { ${Q} } from ${W}`}return`import { ${A.map((M)=>Array.isArray(M)&&M.length===2?`${M[0]} as ${M[1]}`:M).join(", ")} } from ${W}`}return`import ${this.generate(A,"value")} from ${W}`}generateExport(F,T){let[U]=T;if(Array.isArray(U)&&U.every((Y)=>typeof Y==="string"))return`export { ${U.join(", ")} }`;if(Array.isArray(U)&&U[0]==="=")return`export const ${U[1]} = ${this.generate(U[2],"value")}`;return`export ${this.generate(U,"statement")}`}generateExportDefault(F,T){let[U]=T;if(Array.isArray(U)&&U[0]==="=")return`const ${U[1]} = ${this.generate(U[2],"value")};
|
|
131
|
+
export default ${U[1]}`;return`export default ${this.generate(U,"statement")}`}generateExportAll(F,T){return`export * from ${this.addJsExtensionAndAssertions(T[0])}`}generateExportFrom(F,T){let[U,Y]=T,A=this.addJsExtensionAndAssertions(Y);if(Array.isArray(U))return`export { ${U.map((W)=>Array.isArray(W)&&W.length===2?`${W[0]} as ${W[1]}`:W).join(", ")} } from ${A}`;return`export ${U} from ${A}`}generateDoIIFE(F,T){return`(${this.generate(T[0],"statement")})()`}generateRegex(F,T){return T.length===0?F:this.generate(T[0],"value")}generateTaggedTemplate(F,T){let[U,Y]=T,A=this.generate(U,"value"),$=this.generate(Y,"value");if($.startsWith("`"))return`${A}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${A}\`${$.slice(1,-1)}\``;return`${A}\`${$}\``}generateString(F,T){let U="`";for(let Y of T)if(Y instanceof String)U+=this.extractStringContent(Y);else if(typeof Y==="string")if(Y.startsWith('"')||Y.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",Y);U+=Y.slice(1,-1)}else U+=Y;else if(Array.isArray(Y))if(Y.length===1&&typeof Y[0]==="string"&&!Array.isArray(Y[0])){let A=Y[0];U+=/^[\d"']/.test(A)?"${"+this.generate(A,"value")+"}":"${"+A+"}"}else{let A=Y.length===1&&Array.isArray(Y[0])?Y[0]:Y;U+="${"+this.generate(A,"value")+"}"}return U+"`"}findPostfixConditional(F){if(!Array.isArray(F))return null;let T=F[0];if((T==="unless"||T==="if")&&F.length===3)return{type:T,condition:F[1],value:F[2]};if(T==="+"||T==="-"||T==="*"||T==="/")for(let U=1;U<F.length;U++){let Y=this.findPostfixConditional(F[U]);if(Y)return Y.parentOp=T,Y.operandIndex=U,Y.otherOperands=F.slice(1).filter((A,$)=>$!==U-1),Y}return null}rebuildWithoutConditional(F){let T=Array.isArray(F.value)&&F.value.length===1?F.value[0]:F.value;if(F.parentOp)return[F.parentOp,...F.otherOperands,T];return T}generateDestructuringPattern(F){return this.formatParam(F)}generateParamList(F){let T=F.findIndex((Y)=>Array.isArray(Y)&&Y[0]==="expansion");if(T!==-1){let Y=F.slice(0,T),A=F.slice(T+1),$=Y.map((W)=>this.formatParam(W)).join(", ");return this.expansionAfterParams=A,$?`${$}, ..._rest`:"..._rest"}let U=F.findIndex((Y)=>Array.isArray(Y)&&Y[0]==="rest");if(U!==-1&&U<F.length-1){let Y=F.slice(0,U),A=F[U],$=F.slice(U+1),W=Y.map((D)=>this.formatParam(D));return this.restMiddleParam={restName:A[1],afterParams:$,beforeCount:Y.length},W.length>0?`${W.join(", ")}, ...${A[1]}`:`...${A[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,F.map((Y)=>this.formatParam(Y)).join(", ")}formatParam(F){if(typeof F==="string")return F;if(Array.isArray(F)&&F[0]==="rest")return`...${F[1]}`;if(Array.isArray(F)&&F[0]==="default")return`${F[1]} = ${this.generate(F[2],"value")}`;if(Array.isArray(F)&&F[0]==="."&&F[1]==="this")return F[2];if(Array.isArray(F)&&F[0]==="array")return`[${F.slice(1).map((U)=>{if(U===",")return"";if(U==="...")return"";if(Array.isArray(U)&&U[0]==="...")return`...${U[1]}`;if(Array.isArray(U)&&U[0]==="="&&typeof U[1]==="string")return`${U[1]} = ${this.generate(U[2],"value")}`;if(typeof U==="string")return U;return this.formatParam(U)}).join(", ")}]`;if(Array.isArray(F)&&F[0]==="object")return`{${F.slice(1).map((U)=>{if(Array.isArray(U)&&U[0]==="...")return`...${U[1]}`;if(Array.isArray(U)&&U[0]==="default")return`${U[1]} = ${this.generate(U[2],"value")}`;let[Y,A]=U;if(Y===A)return Y;return`${Y}: ${A}`}).join(", ")}}`;return JSON.stringify(F)}generateBodyWithReturns(F,T=[],U={}){let{sideEffectOnly:Y=!1,autoAssignments:A=[],isConstructor:$=!1,hasExpansionParams:W=!1}=U,D=this.sideEffectOnly;this.sideEffectOnly=Y;let M=new Set,Z=(G)=>{if(typeof G==="string")M.add(G);else if(Array.isArray(G)){if(G[0]==="rest"||G[0]==="..."){if(typeof G[1]==="string")M.add(G[1])}else if(G[0]==="default"){if(typeof G[1]==="string")M.add(G[1])}else if(G[0]==="array"||G[0]==="object")this.collectVarsFromArray(G,M)}};if(Array.isArray(T))T.forEach(Z);let Q=this.collectFunctionVariables(F),X=new Set([...Q].filter((G)=>!this.programVars.has(G)&&!this.reactiveVars?.has(G)&&!M.has(G))),J=["return","throw","break","continue"],R=["for-in","for-of","for-as","while","until","loop"];if(Array.isArray(F)&&F[0]==="block"){let G=this.unwrapBlock(F);if(W&&this.expansionAfterParams?.length>0)G=[...this.expansionAfterParams.map((H,u)=>{return`const ${typeof H==="string"?H:JSON.stringify(H)} = _rest[_rest.length - ${this.expansionAfterParams.length-u}]`}),...G],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:q,afterParams:H}=this.restMiddleParam,u=H.length,P=[];if(H.forEach((L,O)=>{let w=typeof L==="string"?L:Array.isArray(L)&&L[0]==="default"?L[1]:JSON.stringify(L);P.push(`const ${w} = ${q}[${q}.length - ${u-O}]`)}),u>0)P.push(`${q} = ${q}.slice(0, -${u})`);G=[...P,...G],this.restMiddleParam=null}this.indentLevel++;let K=`{
|
|
132
|
+
`;if(X.size>0)K+=this.indent()+`let ${Array.from(X).sort().join(", ")};
|
|
133
|
+
`;let _=A.length>0&&G.length>0&&Array.isArray(G[0])&&G[0][0]==="super",z=(q)=>{q.forEach((H,u)=>{let P=u===q.length-1,L=Array.isArray(H)?H[0]:null;if(!P&&L==="comprehension"){let[,N,S,j]=H;K+=this.indent()+this.generateComprehensionAsLoop(N,S,j)+`
|
|
134
|
+
`;return}if(!$&&!Y&&P&&(L==="if"||L==="unless")){let[N,S,...j]=H.slice(1),f=(V)=>Array.isArray(V)&&V[0]==="block"&&V.length>2;if(f(S)||j.some(f)){K+=this.generateIfElseWithEarlyReturns(H);return}}if(!$&&!Y&&P&&L==="="){let[N,S]=H.slice(1);if(typeof N==="string"&&Array.isArray(S)){let j=S[0];if(j==="comprehension"||j==="for-in"){this.comprehensionTarget=N,K+=this.generate(S,"value"),this.comprehensionTarget=null,K+=this.indent()+`return ${N};
|
|
135
|
+
`;return}}}let O=!$&&!Y&&P&&!J.includes(L)&&!R.includes(L)&&!this.hasExplicitControlFlow(H),w=O?"value":"statement",I=this.generate(H,w);if(O)K+=this.indent()+"return "+I+`;
|
|
136
|
+
`;else K+=this.indent()+this.addSemicolon(H,I)+`
|
|
137
|
+
`})};if(_){if(G.length===1&&!$)K+=this.indent()+"return "+this.generate(G[0],"value")+`;
|
|
138
|
+
`;else K+=this.indent()+this.generate(G[0],"statement")+`;
|
|
139
|
+
`;for(let H of A)K+=this.indent()+H+`;
|
|
140
|
+
`;z(G.slice(1))}else{for(let q of A)K+=this.indent()+q+`;
|
|
141
|
+
`;z(G)}if(Y&&G.length>0){let q=Array.isArray(G[G.length-1])?G[G.length-1][0]:null;if(!J.includes(q))K+=this.indent()+`return;
|
|
142
|
+
`}return this.indentLevel--,K+=this.indent()+"}",this.sideEffectOnly=D,K}if(this.sideEffectOnly=D,$||this.hasExplicitControlFlow(F))return`{ ${this.generate(F,"statement")}; }`;if(Array.isArray(F)&&(J.includes(F[0])||R.includes(F[0])))return`{ ${this.generate(F,"statement")}; }`;if(Y)return`{ ${this.generate(F,"statement")}; return; }`;return`{ return ${this.generate(F,"value")}; }`}generateFunctionBody(F,T=[],U=!1){return this.generateBodyWithReturns(F,T,{sideEffectOnly:U,hasExpansionParams:this.expansionAfterParams?.length>0})}generateMethodBody(F,T=[],U=!1,Y=[]){return this.generateBodyWithReturns(F,Y,{autoAssignments:T,isConstructor:U})}generateBlockWithReturns(F){if(!Array.isArray(F)||F[0]!=="block")return this.generate(F,"statement");let T=this.unwrapBlock(F);return`{
|
|
143
|
+
${this.withIndent(()=>T.map((Y,A)=>{let $=A===T.length-1,W=Array.isArray(Y)?Y[0]:null,D=$&&!["return","throw","break","continue"].includes(W),M=this.generate(Y,D?"value":"statement");return D?this.indent()+"return "+M+";":this.indent()+M+";"})).join(`
|
|
144
144
|
`)}
|
|
145
|
-
${this.indent()}}`}generateLoopBody(
|
|
146
|
-
${this.withIndent(()=>T.map((
|
|
145
|
+
${this.indent()}}`}generateLoopBody(F){if(!Array.isArray(F))return`{ ${this.generate(F,"statement")}; }`;if(F[0]==="block"||Array.isArray(F[0])){let T=F[0]==="block"?F.slice(1):F;return`{
|
|
146
|
+
${this.withIndent(()=>T.map((Y)=>{if(Array.isArray(Y)&&Y[0]==="comprehension"){let[,A,$,W]=Y;return this.indent()+this.generateComprehensionAsLoop(A,$,W)}return this.indent()+this.addSemicolon(Y,this.generate(Y,"statement"))})).join(`
|
|
147
147
|
`)}
|
|
148
|
-
${this.indent()}}`}return`{ ${this.generate(
|
|
149
|
-
`,W=this.withIndent(()=>{this.indentLevel++;let
|
|
150
|
-
${A}${
|
|
148
|
+
${this.indent()}}`}return`{ ${this.generate(F,"statement")}; }`}generateLoopBodyWithGuard(F,T){let U=this.unwrap(this.generate(T,"value"));if(!Array.isArray(F))return`{ if (${U}) ${this.generate(F,"statement")}; }`;if(F[0]==="block"||Array.isArray(F[0])){let Y=F[0]==="block"?F.slice(1):F,A=this.withIndent(()=>this.indent()),$=`if (${U}) {
|
|
149
|
+
`,W=this.withIndent(()=>{this.indentLevel++;let M=this.formatStatements(Y);return this.indentLevel--,M}),D=this.withIndent(()=>this.indent()+"}");return`{
|
|
150
|
+
${A}${$}${W.join(`
|
|
151
151
|
`)}
|
|
152
|
-
${
|
|
153
|
-
${this.indent()}}`}return`{ if (${this.generate(T,"value")}) ${this.generate(
|
|
154
|
-
`;let
|
|
155
|
-
`}else{let
|
|
156
|
-
`:this.indent()+`for (let ${H} = 0; ${H} < ${
|
|
157
|
-
`,this.indentLevel++,!J)A+=this.indent()+`const ${
|
|
158
|
-
`}}else A+=this.indent()+`for (const ${
|
|
159
|
-
`;if(this.indentLevel++,
|
|
160
|
-
`,this.indentLevel++;if(A+=this.indent()+`${
|
|
161
|
-
`,
|
|
152
|
+
${D}
|
|
153
|
+
${this.indent()}}`}return`{ if (${this.generate(T,"value")}) ${this.generate(F,"statement")}; }`}generateComprehensionWithTarget(F,T,U,Y){let A="";A+=this.indent()+`${Y} = [];
|
|
154
|
+
`;let $=Array.isArray(F)&&F[0]==="block"&&F.length===2?F[1]:F;if(T.length===1){let[W,D,M,Z]=T[0];if(W==="for-in"){let Q=Z,X=Array.isArray(D)?D:[D],J=X.length===0,[R,G]=J?["_i",null]:X,K=Array.isArray(R)&&(R[0]==="array"||R[0]==="object")?this.generateDestructuringPattern(R):R;if(Q&&Q!==null){let _=Array.isArray(M)&&M[0];if(_ instanceof String)_=E(_);if(_===".."||_==="..."){let q=_==="...",[H,u]=M.slice(1);A+=this.indent()+`for (let ${K} = ${this.generate(H,"value")}; ${K} ${q?"<":"<="} ${this.generate(u,"value")}; ${K} += ${this.generate(Q,"value")}) {
|
|
155
|
+
`}else{let q=this.generate(M,"value"),H=G||"_i",u=this.generate(Q,"value"),P=this.isNegativeStep(Q);if(A+=P?this.indent()+`for (let ${H} = ${q}.length - 1; ${H} >= 0; ${H} += ${u}) {
|
|
156
|
+
`:this.indent()+`for (let ${H} = 0; ${H} < ${q}.length; ${H} += ${u}) {
|
|
157
|
+
`,this.indentLevel++,!J)A+=this.indent()+`const ${K} = ${q}[${H}];
|
|
158
|
+
`}}else A+=this.indent()+`for (const ${K} of ${this.generate(M,"value")}) {
|
|
159
|
+
`;if(this.indentLevel++,U&&U.length>0)A+=this.indent()+`if (${U.map((_)=>this.generate(_,"value")).join(" && ")}) {
|
|
160
|
+
`,this.indentLevel++;if(A+=this.indent()+`${Y}.push(${this.unwrap(this.generate($,"value"))});
|
|
161
|
+
`,U&&U.length>0)this.indentLevel--,A+=this.indent()+`}
|
|
162
162
|
`;return this.indentLevel--,A+=this.indent()+`}
|
|
163
|
-
`,A}}return this.indent()+`${
|
|
164
|
-
`}generateComprehensionAsLoop(
|
|
165
|
-
`,this.indentLevel++,!Q)
|
|
166
|
-
`}if(
|
|
167
|
-
`,this.indentLevel++,
|
|
168
|
-
`,this.indentLevel++,
|
|
169
|
-
`,this.indentLevel--,
|
|
170
|
-
`,this.indentLevel--,
|
|
171
|
-
`,this.indentLevel++,
|
|
172
|
-
`,this.indentLevel--,
|
|
173
|
-
`+this.indent()+"}";return
|
|
174
|
-
`,this.indentLevel++,
|
|
175
|
-
`}else{if(
|
|
176
|
-
`,this.indentLevel++,
|
|
177
|
-
`,this.indentLevel++,
|
|
178
|
-
`,this.indentLevel--,
|
|
179
|
-
`,this.indentLevel--,
|
|
180
|
-
`,this.indentLevel++,
|
|
181
|
-
`,this.indentLevel--,
|
|
182
|
-
`,this.indentLevel++,
|
|
183
|
-
`,this.indentLevel--,
|
|
184
|
-
`;else U+=this.indent()+this.generate($,"statement")+`;
|
|
185
|
-
`;return this.indentLevel--,U+=this.indent()+"}",U}if(A==="for-as"){let D=Array.isArray(F)?F:[F],[Z]=D,Q=Array.isArray(Z)&&(Z[0]==="array"||Z[0]==="object")?this.generateDestructuringPattern(Z):Z;if(U+=`for (const ${Q} of ${this.generate(W,"value")}) `,Y?.length)U+=`{
|
|
186
|
-
`,this.indentLevel++,U+=this.indent()+`if (${Y.map((X)=>this.generate(X,"value")).join(" && ")}) {
|
|
187
|
-
`,this.indentLevel++,U+=this.indent()+this.generate($,"statement")+`;
|
|
188
|
-
`,this.indentLevel--,U+=this.indent()+`}
|
|
189
|
-
`,this.indentLevel--,U+=this.indent()+"}";else U+=`{
|
|
190
|
-
`,this.indentLevel++,U+=this.indent()+this.generate($,"statement")+`;
|
|
191
|
-
`,this.indentLevel--,U+=this.indent()+"}";return U}if(A==="for-of"){let D=Array.isArray(F)?F:[F],[Z,Q]=D,X=M,J=this.generate(W,"value");if(U+=`for (const ${Z} in ${J}) {
|
|
192
|
-
`,this.indentLevel++,X&&!Q&&!Y?.length)U+=this.indent()+`if (!Object.hasOwn(${J}, ${Z})) continue;
|
|
193
|
-
`,U+=this.indent()+this.generate($,"statement")+`;
|
|
194
|
-
`;else if(X&&Q&&Y?.length)U+=this.indent()+`if (Object.hasOwn(${J}, ${Z})) {
|
|
195
|
-
`,this.indentLevel++,U+=this.indent()+`const ${Q} = ${J}[${Z}];
|
|
196
|
-
`,U+=this.indent()+`if (${Y.map((z)=>this.generate(z,"value")).join(" && ")}) {
|
|
197
|
-
`,this.indentLevel++,U+=this.indent()+this.generate($,"statement")+`;
|
|
198
|
-
`,this.indentLevel--,U+=this.indent()+`}
|
|
199
|
-
`,this.indentLevel--,U+=this.indent()+`}
|
|
200
|
-
`;else if(X&&Q)U+=this.indent()+`if (Object.hasOwn(${J}, ${Z})) {
|
|
201
|
-
`,this.indentLevel++,U+=this.indent()+`const ${Q} = ${J}[${Z}];
|
|
202
|
-
`,U+=this.indent()+this.generate($,"statement")+`;
|
|
203
|
-
`,this.indentLevel--,U+=this.indent()+`}
|
|
204
|
-
`;else if(Q&&Y?.length)U+=this.indent()+`const ${Q} = ${J}[${Z}];
|
|
205
|
-
`,U+=this.indent()+`if (${Y.map((z)=>this.generate(z,"value")).join(" && ")}) {
|
|
206
|
-
`,this.indentLevel++,U+=this.indent()+this.generate($,"statement")+`;
|
|
207
|
-
`,this.indentLevel--,U+=this.indent()+`}
|
|
208
|
-
`;else if(Q)U+=this.indent()+`const ${Q} = ${J}[${Z}];
|
|
209
|
-
`,U+=this.indent()+this.generate($,"statement")+`;
|
|
210
|
-
`;else if(Y?.length)U+=this.indent()+`if (${Y.map((z)=>this.generate(z,"value")).join(" && ")}) {
|
|
211
|
-
`,this.indentLevel++,U+=this.indent()+this.generate($,"statement")+`;
|
|
212
|
-
`,this.indentLevel--,U+=this.indent()+`}
|
|
213
|
-
`;else U+=this.indent()+this.generate($,"statement")+`;
|
|
214
|
-
`;return this.indentLevel--,U+=this.indent()+"}",U}}return this.generate(["comprehension",$,T,Y],"value")}generateIfElseWithEarlyReturns($){let[T,Y,U,...A]=$,F="",W=T==="unless"?`!${this.generate(Y,"value")}`:this.generate(Y,"value");F+=this.indent()+`if (${W}) {
|
|
215
|
-
`,F+=this.withIndent(()=>this.generateBranchWithReturn(U)),F+=this.indent()+"}";for(let M of A)if(F+=" else ",Array.isArray(M)&&M[0]==="if"){let[,D,Z,...Q]=M;F+=`if (${this.generate(D,"value")}) {
|
|
216
|
-
`,F+=this.withIndent(()=>this.generateBranchWithReturn(Z)),F+=this.indent()+"}";for(let X of Q)F+=` else {
|
|
217
|
-
`,F+=this.withIndent(()=>this.generateBranchWithReturn(X)),F+=this.indent()+"}"}else F+=`{
|
|
218
|
-
`,F+=this.withIndent(()=>this.generateBranchWithReturn(M)),F+=this.indent()+"}";return F}generateBranchWithReturn($){let T=this.unwrapBlock($),Y="";for(let U=0;U<T.length;U++){let A=U===T.length-1,F=T[U],W=Array.isArray(F)?F[0]:null;if(A&&!(W==="return"||W==="throw"||W==="break"||W==="continue"))Y+=this.indent()+`return ${this.generate(F,"value")};
|
|
163
|
+
`,A}}return this.indent()+`${Y} = (() => { /* complex comprehension */ })();
|
|
164
|
+
`}generateComprehensionAsLoop(F,T,U){let Y="";if(T.length===1){let[A,$,W,D]=T[0];if(A==="for-in"){let M=D,Z=Array.isArray($)?$:[$],Q=Z.length===0,[X,J]=Q?["_i",null]:Z,R=Array.isArray(X)&&(X[0]==="array"||X[0]==="object")?this.generateDestructuringPattern(X):X;if(M&&M!==null){let G=Array.isArray(W)&&W[0];if(G instanceof String)G=E(G);let K=G===".."||G==="...";if(K){let _=G==="...",[z,q]=W.slice(1);Y+=`for (let ${R} = ${this.generate(z,"value")}; ${R} ${_?"<":"<="} ${this.generate(q,"value")}; ${R} += ${this.generate(M,"value")}) `}else{let _=this.generate(W,"value"),z=J||"_i",q=this.generate(M,"value"),H=this.isNegativeStep(M),u=H&&(M[1]==="1"||M[1]===1||E(M[1])==="1"),P=!H&&(M==="1"||M===1||E(M)==="1");if(u)Y+=`for (let ${z} = ${_}.length - 1; ${z} >= 0; ${z}--) `;else if(P)Y+=`for (let ${z} = 0; ${z} < ${_}.length; ${z}++) `;else if(H)Y+=`for (let ${z} = ${_}.length - 1; ${z} >= 0; ${z} += ${q}) `;else Y+=`for (let ${z} = 0; ${z} < ${_}.length; ${z} += ${q}) `;if(Y+=`{
|
|
165
|
+
`,this.indentLevel++,!Q)Y+=this.indent()+`const ${R} = ${_}[${z}];
|
|
166
|
+
`}if(U?.length){if(!K)Y+=this.indent();Y+=`{
|
|
167
|
+
`,this.indentLevel++,Y+=this.indent()+`if (${U.map((_)=>this.generate(_,"value")).join(" && ")}) {
|
|
168
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
169
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
170
|
+
`,this.indentLevel--,Y+=this.indent()+"}"}else{if(!K)Y+=this.indent();Y+=`{
|
|
171
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
172
|
+
`,this.indentLevel--,Y+=this.indent()+"}"}if(!K)this.indentLevel--,Y+=`
|
|
173
|
+
`+this.indent()+"}";return Y}if(J){let G=this.generate(W,"value");Y+=`for (let ${J} = 0; ${J} < ${G}.length; ${J}++) `,Y+=`{
|
|
174
|
+
`,this.indentLevel++,Y+=this.indent()+`const ${R} = ${G}[${J}];
|
|
175
|
+
`}else{if(Y+=`for (const ${R} of ${this.generate(W,"value")}) `,U?.length)Y+=`{
|
|
176
|
+
`,this.indentLevel++,Y+=this.indent()+`if (${U.map((G)=>this.generate(G,"value")).join(" && ")}) {
|
|
177
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
178
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
179
|
+
`,this.indentLevel--,Y+=this.indent()+"}";else Y+=`{
|
|
180
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
181
|
+
`,this.indentLevel--,Y+=this.indent()+"}";return Y}if(U?.length)Y+=this.indent()+`if (${U.map((G)=>this.generate(G,"value")).join(" && ")}) {
|
|
182
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
183
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
219
184
|
`;else Y+=this.indent()+this.generate(F,"statement")+`;
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
`,
|
|
229
|
-
`;else
|
|
230
|
-
|
|
231
|
-
`,
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
185
|
+
`;return this.indentLevel--,Y+=this.indent()+"}",Y}if(A==="for-as"){let M=Array.isArray($)?$:[$],[Z]=M,Q=Array.isArray(Z)&&(Z[0]==="array"||Z[0]==="object")?this.generateDestructuringPattern(Z):Z;if(Y+=`for (const ${Q} of ${this.generate(W,"value")}) `,U?.length)Y+=`{
|
|
186
|
+
`,this.indentLevel++,Y+=this.indent()+`if (${U.map((X)=>this.generate(X,"value")).join(" && ")}) {
|
|
187
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
188
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
189
|
+
`,this.indentLevel--,Y+=this.indent()+"}";else Y+=`{
|
|
190
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
191
|
+
`,this.indentLevel--,Y+=this.indent()+"}";return Y}if(A==="for-of"){let M=Array.isArray($)?$:[$],[Z,Q]=M,X=D,J=this.generate(W,"value");if(Y+=`for (const ${Z} in ${J}) {
|
|
192
|
+
`,this.indentLevel++,X&&!Q&&!U?.length)Y+=this.indent()+`if (!Object.hasOwn(${J}, ${Z})) continue;
|
|
193
|
+
`,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
194
|
+
`;else if(X&&Q&&U?.length)Y+=this.indent()+`if (Object.hasOwn(${J}, ${Z})) {
|
|
195
|
+
`,this.indentLevel++,Y+=this.indent()+`const ${Q} = ${J}[${Z}];
|
|
196
|
+
`,Y+=this.indent()+`if (${U.map((R)=>this.generate(R,"value")).join(" && ")}) {
|
|
197
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
198
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
199
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
200
|
+
`;else if(X&&Q)Y+=this.indent()+`if (Object.hasOwn(${J}, ${Z})) {
|
|
201
|
+
`,this.indentLevel++,Y+=this.indent()+`const ${Q} = ${J}[${Z}];
|
|
202
|
+
`,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
203
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
204
|
+
`;else if(Q&&U?.length)Y+=this.indent()+`const ${Q} = ${J}[${Z}];
|
|
205
|
+
`,Y+=this.indent()+`if (${U.map((R)=>this.generate(R,"value")).join(" && ")}) {
|
|
206
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
207
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
208
|
+
`;else if(Q)Y+=this.indent()+`const ${Q} = ${J}[${Z}];
|
|
209
|
+
`,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
210
|
+
`;else if(U?.length)Y+=this.indent()+`if (${U.map((R)=>this.generate(R,"value")).join(" && ")}) {
|
|
211
|
+
`,this.indentLevel++,Y+=this.indent()+this.generate(F,"statement")+`;
|
|
212
|
+
`,this.indentLevel--,Y+=this.indent()+`}
|
|
213
|
+
`;else Y+=this.indent()+this.generate(F,"statement")+`;
|
|
214
|
+
`;return this.indentLevel--,Y+=this.indent()+"}",Y}}return this.generate(["comprehension",F,T,U],"value")}generateIfElseWithEarlyReturns(F){let[T,U,Y,...A]=F,$="",W=T==="unless"?`!${this.generate(U,"value")}`:this.generate(U,"value");$+=this.indent()+`if (${W}) {
|
|
215
|
+
`,$+=this.withIndent(()=>this.generateBranchWithReturn(Y)),$+=this.indent()+"}";for(let D of A)if($+=" else ",Array.isArray(D)&&D[0]==="if"){let[,M,Z,...Q]=D;$+=`if (${this.generate(M,"value")}) {
|
|
216
|
+
`,$+=this.withIndent(()=>this.generateBranchWithReturn(Z)),$+=this.indent()+"}";for(let X of Q)$+=` else {
|
|
217
|
+
`,$+=this.withIndent(()=>this.generateBranchWithReturn(X)),$+=this.indent()+"}"}else $+=`{
|
|
218
|
+
`,$+=this.withIndent(()=>this.generateBranchWithReturn(D)),$+=this.indent()+"}";return $}generateBranchWithReturn(F){let T=this.unwrapBlock(F),U="";for(let Y=0;Y<T.length;Y++){let A=Y===T.length-1,$=T[Y],W=Array.isArray($)?$[0]:null;if(A&&!(W==="return"||W==="throw"||W==="break"||W==="continue"))U+=this.indent()+`return ${this.generate($,"value")};
|
|
219
|
+
`;else U+=this.indent()+this.generate($,"statement")+`;
|
|
220
|
+
`}return U}generateIfAsExpression(F,T,U){if(this.isMultiStatementBlock(T)||this.hasStatementInBranch(T)||U.some((D)=>this.isMultiStatementBlock(D)||this.hasStatementInBranch(D)||this.hasNestedMultiStatement(D))){let D=this.containsAwait(F)||this.containsAwait(T)||U.some((Z)=>this.containsAwait(Z)),M=`${D?"await ":""}(${D?"async ":""}() => { `;M+=`if (${this.generate(F,"value")}) `,M+=this.generateBlockWithReturns(T);for(let Z of U)if(M+=" else ",Array.isArray(Z)&&Z[0]==="if"){let[Q,X,J,...R]=Z;M+=`if (${this.generate(X,"value")}) `,M+=this.generateBlockWithReturns(J);for(let G of R)if(M+=" else ",Array.isArray(G)&&G[0]==="if"){let[K,_,z,...q]=G;M+=`if (${this.generate(_,"value")}) `,M+=this.generateBlockWithReturns(z),U.push(...q)}else M+=this.generateBlockWithReturns(G)}else M+=this.generateBlockWithReturns(Z);return M+" })()"}let A=this.extractExpression(this.unwrapIfBranch(T)),$=this.buildTernaryChain(U),W=this.generate(F,"value");if(Array.isArray(F)&&(F[0]==="yield"||F[0]==="await"))W=`(${W})`;return`(${W} ? ${A} : ${$})`}generateIfAsStatement(F,T,U){let Y=`if (${this.unwrap(this.generate(F,"value"))}) `;Y+=this.generate(this.unwrapIfBranch(T),"statement");for(let A of U)Y+=" else "+this.generate(this.unwrapIfBranch(A),"statement");return Y}generateSwitchCaseBody(F,T){let U="";if(this.hasExplicitControlFlow(F))for(let A of this.unwrapBlock(F))U+=this.indent()+this.generate(A,"statement")+`;
|
|
221
|
+
`;else if(T==="value")if(Array.isArray(F)&&F[0]==="block"&&F.length>2){let A=F.slice(1);for(let $=0;$<A.length;$++)if($===A.length-1)U+=this.indent()+`return ${this.generate(A[$],"value")};
|
|
222
|
+
`;else U+=this.indent()+this.generate(A[$],"statement")+`;
|
|
223
|
+
`}else U+=this.indent()+`return ${this.extractExpression(F)};
|
|
224
|
+
`;else{if(Array.isArray(F)&&F[0]==="block"&&F.length>1)for(let A of F.slice(1))U+=this.indent()+this.generate(A,"statement")+`;
|
|
225
|
+
`;else U+=this.indent()+this.generate(F,"statement")+`;
|
|
226
|
+
`;U+=this.indent()+`break;
|
|
227
|
+
`}return U}generateSwitchAsIfChain(F,T,U){let Y="";for(let A=0;A<F.length;A++){let[,$,W]=F[A],D=Array.isArray($)?$[0]:$;if(Y+=(A===0?"":" else ")+`if (${this.generate(D,"value")}) {
|
|
228
|
+
`,this.indentLevel++,U==="value")Y+=this.indent()+`return ${this.extractExpression(W)};
|
|
229
|
+
`;else for(let M of this.unwrapBlock(W))Y+=this.indent()+this.generate(M,"statement")+`;
|
|
230
|
+
`;this.indentLevel--,Y+=this.indent()+"}"}if(T){if(Y+=` else {
|
|
231
|
+
`,this.indentLevel++,U==="value")Y+=this.indent()+`return ${this.extractExpression(T)};
|
|
232
|
+
`;else for(let A of this.unwrapBlock(T))Y+=this.indent()+this.generate(A,"statement")+`;
|
|
233
|
+
`;this.indentLevel--,Y+=this.indent()+"}"}return U==="value"?`(() => { ${Y} })()`:Y}extractExpression(F){let T=this.unwrapBlock(F);return T.length>0?this.generate(T[T.length-1],"value"):"undefined"}unwrapBlock(F){if(!Array.isArray(F))return[F];if(F[0]==="block")return F.slice(1);if(Array.isArray(F[0]))return F;return[F]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(F,T){if(!T||T.endsWith(";"))return!1;if(!T.endsWith("}"))return!0;let U=Array.isArray(F)?F[0]:null;return!["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try"].includes(U)}addSemicolon(F,T){return T+(this.needsSemicolon(F,T)?";":"")}formatStatements(F,T="statement"){return F.map((U)=>this.indent()+this.addSemicolon(U,this.generate(U,T)))}wrapForCondition(F){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(F))return F;if(F.startsWith("(")&&F.endsWith(")"))return F;return`(${F})`}hasExplicitControlFlow(F){if(!Array.isArray(F))return!1;let T=F[0];if(T==="return"||T==="throw"||T==="break"||T==="continue")return!0;if(T==="block")return F.slice(1).some((U)=>Array.isArray(U)&&["return","throw","break","continue"].includes(U[0]));if(T==="switch"){let[,,U]=F;return U?.some((Y)=>{return this.unwrapBlock(Y[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(T==="if"||T==="unless"){let[,,U,Y]=F;return this.branchHasControlFlow(U)&&Y&&this.branchHasControlFlow(Y)}return!1}branchHasControlFlow(F){if(!Array.isArray(F))return!1;let T=this.unwrapBlock(F);if(T.length===0)return!1;let U=T[T.length-1];return Array.isArray(U)&&["return","throw","break","continue"].includes(U[0])}withIndent(F){this.indentLevel++;let T=F();return this.indentLevel--,T}isNegativeStep(F){if(!Array.isArray(F)||F.length!==2)return!1;return(E(F[0])??F[0])==="-"}isNegativeOneLiteral(F){return Array.isArray(F)&&F[0]==="-"&&F.length===2&&(F[1]==="1"||F[1]===1||E(F[1])==="1")}unwrap(F){if(typeof F!=="string")return F;while(F.startsWith("(")&&F.endsWith(")")){let T=0,U=0,Y=!0,A=!1;for(let $=0;$<F.length;$++){if(F[$]==="(")T++;if(F[$]===")")T--;if(F[$]==="["||F[$]==="{")U++;if(F[$]==="]"||F[$]==="}")U--;if(F[$]===","&&T===1&&U===0)A=!0;if(T===0&&$<F.length-1){Y=!1;break}}if(A)Y=!1;if(Y)F=F.slice(1,-1);else break}return F}unwrapLogical(F){if(typeof F!=="string")return F;while(F.startsWith("(")&&F.endsWith(")")){let T=0,U=1/0;for(let Y=1;Y<F.length-1;Y++){if(F[Y]==="(")T++;if(F[Y]===")")T--;U=Math.min(U,T)}if(U>=0)F=F.slice(1,-1);else break}return F}unwrapIfBranch(F){if(Array.isArray(F)&&F.length===1&&(!Array.isArray(F[0])||F[0][0]!=="block"))return F[0];return F}flattenBinaryChain(F){if(!Array.isArray(F)||F.length<3)return F;let[T,...U]=F;if(T!=="&&"&&T!=="||")return F;let Y=[],A=($)=>{if(Array.isArray($)&&$[0]===T)for(let W=1;W<$.length;W++)A($[W]);else Y.push($)};for(let $ of U)A($);return[T,...Y]}hasStatementInBranch(F){if(!Array.isArray(F))return!1;let T=F[0];if(T==="return"||T==="throw"||T==="break"||T==="continue")return!0;if(T==="block")return F.slice(1).some((U)=>this.hasStatementInBranch(U));return!1}isMultiStatementBlock(F){return Array.isArray(F)&&F[0]==="block"&&F.length>2}hasNestedMultiStatement(F){if(!Array.isArray(F))return!1;if(F[0]==="if"){let[T,U,Y,...A]=F;return this.isMultiStatementBlock(Y)||A.some(($)=>this.hasNestedMultiStatement($))}return!1}buildTernaryChain(F){if(F.length===0)return"undefined";if(F.length===1)return this.extractExpression(this.unwrapIfBranch(F[0]));let T=F[0];if(Array.isArray(T)&&T[0]==="if"){let[U,Y,A,...$]=T,W=this.extractExpression(this.unwrapIfBranch(A)),D=this.buildTernaryChain([...$,...F.slice(1)]);return`(${this.generate(Y,"value")} ? ${W} : ${D})`}return this.extractExpression(this.unwrapIfBranch(T))}collectVarsFromArray(F,T){F.slice(1).forEach((U)=>{if(U===","||U==="...")return;if(typeof U==="string"){T.add(U);return}if(Array.isArray(U)){if(U[0]==="..."&&typeof U[1]==="string")T.add(U[1]);else if(U[0]==="array")this.collectVarsFromArray(U,T);else if(U[0]==="object")this.collectVarsFromObject(U,T)}})}collectVarsFromObject(F,T){F.slice(1).forEach((U)=>{if(!Array.isArray(U))return;if(U[0]==="..."&&typeof U[1]==="string"){T.add(U[1]);return}if(U.length>=2){let[Y,A,$]=U;if($==="="){if(typeof Y==="string")T.add(Y)}else if(typeof A==="string")T.add(A);else if(Array.isArray(A)){if(A[0]==="array")this.collectVarsFromArray(A,T);else if(A[0]==="object")this.collectVarsFromObject(A,T)}}})}extractStringContent(F){let T=E(F).slice(1,-1),U=B(F,"indent");if(U)T=T.replace(new RegExp(`\\n${U}`,"g"),`
|
|
234
|
+
`);if(B(F,"initialChunk")&&T.startsWith(`
|
|
235
|
+
`))T=T.slice(1);if(B(F,"finalChunk")&&T.endsWith(`
|
|
236
|
+
`))T=T.slice(0,-1);return T}processHeregex(F){let T="",U=!1,Y=0,A=()=>{let $=0,W=Y-1;while(W>=0&&F[W]==="\\")$++,W--;return $%2===1};while(Y<F.length){let $=F[Y];if($==="["&&!A()){U=!0,T+=$,Y++;continue}if($==="]"&&U&&!A()){U=!1,T+=$,Y++;continue}if(U){T+=$,Y++;continue}if(/\s/.test($)){Y++;continue}if($==="#"){if(A()){T+=$,Y++;continue}let W=Y-1;while(W>=0&&F[W]==="\\")W--;if(W<Y-1){T+=$,Y++;continue}while(Y<F.length&&F[Y]!==`
|
|
237
|
+
`)Y++;continue}T+=$,Y++}return T}addJsExtensionAndAssertions(F){if(F instanceof String)F=E(F);if(typeof F!=="string")return F;let U=F.startsWith('"')||F.startsWith("'")?F.slice(1,-1):F,Y=U.startsWith("./")||U.startsWith("../"),A=U,$="";if(Y){let W=U.lastIndexOf("/"),D=W>=0?U.substring(W+1):U;if(D.includes(".")){if(D.endsWith(".json"))$=" with { type: 'json' }"}else A=U+".js"}return`'${A}'`+$}containsAwait(F){if(!F)return!1;if(F instanceof String&&B(F,"await")===!0)return!0;if(typeof F!=="object")return!1;if(Array.isArray(F)&&F[0]==="await")return!0;if(Array.isArray(F)&&F[0]==="for-as"&&F[3]===!0)return!0;if(Array.isArray(F)&&(F[0]==="def"||F[0]==="->"||F[0]==="=>"||F[0]==="class"))return!1;if(Array.isArray(F))return F.some((T)=>this.containsAwait(T));return!1}containsYield(F){if(!F)return!1;if(typeof F!=="object")return!1;if(Array.isArray(F)&&(F[0]==="yield"||F[0]==="yield-from"))return!0;if(Array.isArray(F)&&(F[0]==="def"||F[0]==="->"||F[0]==="=>"||F[0]==="class"))return!1;if(Array.isArray(F))return F.some((T)=>this.containsYield(T));return!1}isStaticMember(F){return Array.isArray(F)&&F[0]==="."&&F[1]==="this"}isComputedMember(F){return Array.isArray(F)&&F[0]==="computed"}extractMemberName(F){if(this.isStaticMember(F))return F[2];if(this.isComputedMember(F))return`[${this.generate(F[1],"value")}]`;return F}isBoundMethod(F){return Array.isArray(F)&&F[0]==="=>"}getReactiveRuntime(){return`// ============================================================================
|
|
238
238
|
// Rip Reactive Runtime
|
|
239
239
|
// A minimal, fine-grained reactivity system
|
|
240
240
|
//
|
|
@@ -442,8 +442,8 @@ function __catchErrors(fn) {
|
|
|
442
442
|
}
|
|
443
443
|
|
|
444
444
|
// === End Reactive Runtime ===
|
|
445
|
-
`}}class
|
|
446
|
-
`),U
|
|
445
|
+
`}}class i{constructor(F={}){this.options={showTokens:!1,showSExpr:!1,...F}}compile(F){let T=null,U=F.split(`
|
|
446
|
+
`),Y=U.findIndex((Z)=>Z==="__DATA__");if(Y!==-1){let Z=U.slice(Y+1);T=Z.length>0?Z.join(`
|
|
447
447
|
`)+`
|
|
448
|
-
`:""
|
|
449
|
-
`)}let
|
|
448
|
+
`:"",F=U.slice(0,Y).join(`
|
|
449
|
+
`)}let $=new x().tokenize(F);if(this.options.showTokens)$.forEach((Z)=>console.log(`${Z[0].padEnd(12)} ${JSON.stringify(Z[1])}`)),console.log();g.lexer={tokens:$,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let Z=this.tokens[this.pos++],Q=Z[1];if(Z.data)Q=new String(Q),Object.assign(Q,Z.data);return this.yytext=Q,this.yylloc=Z.loc,Z[0]}};let W;try{W=g.parse(F)}catch(Z){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(F)||/\?\s+\w+\s+\?\s+/.test(F))throw Error("Nested ternary operators are not supported. Use if/else statements instead.");throw Z}if(this.options.showSExpr)console.log(h(W,0,!0)),console.log();let D=new y({dataSection:T,skipReactiveRuntime:this.options.skipReactiveRuntime,reactiveVars:this.options.reactiveVars}),M=D.compile(W);return{tokens:$,sexpr:W,code:M,data:T,reactiveVars:D.reactiveVars}}compileToJS(F){return this.compile(F).code}compileToSExpr(F){return this.compile(F).sexpr}}function o1(F,T={}){return new i(T).compile(F)}function s(F,T={}){return new i(T).compileToJS(F)}var Y2="3.0.1",U2="2026-02-07@15:19:02GMT",d1=(F)=>{let T=F.match(/^[ \t]*(?=\S)/gm),U=Math.min(...(T||[]).map((Y)=>Y.length));return F.replace(RegExp(`^[ ]{${U}}`,"gm"),"").trim()};async function M1(){let F=document.querySelectorAll('script[type="text/rip"]');for(let T of F){if(T.hasAttribute("data-rip-processed"))continue;try{let U=d1(T.textContent),Y=s(U);(0,eval)(Y),T.setAttribute("data-rip-processed","true")}catch(U){console.error("Error compiling Rip script:",U),console.error("Script content:",T.textContent)}}}if(typeof document<"u")if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",M1);else M1();function r1(F){try{let U=s(F).replace(/^let\s+[^;]+;\s*\n\s*/m,"");U=U.replace(/^const\s+/gm,"var ");let Y=(0,eval)(U);if(Y!==void 0)globalThis._=Y;return Y}catch(T){console.error("Rip compilation error:",T.message);return}}if(typeof globalThis<"u")globalThis.rip=r1;export{r1 as rip,M1 as processRipScripts,g as parser,h as formatSExpr,s as compileToJS,o1 as compile,Y2 as VERSION,x as Lexer,i as Compiler,y as CodeGenerator,U2 as BUILD_DATE};
|