rip-lang 2.8.1 → 2.8.3
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/README.md +1 -1
- package/docs/dist/rip.browser.js +56 -33
- package/docs/dist/rip.browser.min.js +213 -213
- package/docs/dist/rip.browser.min.js.br +0 -0
- package/package.json +1 -1
- package/src/compiler.js +1 -1
- package/src/lexer.js +34 -3
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
var
|
|
2
|
-
`)[U]
|
|
3
|
-
${
|
|
4
|
-
${
|
|
5
|
-
${_}`,this.chunkLine--,(E=this.locTweaks)[0]==null)E[0]=0;this.locTweaks[0]-=1}return _.replace(/\r/g,(A
|
|
6
|
-
`).map(function(C,l){var f,
|
|
7
|
-
${C}`;return}return
|
|
8
|
-
`);if(J!=null||!l){if(!(f>-1))return null}else if(f==null)f=-1;return C.length-1-f}
|
|
9
|
-
`)))return 0;if(
|
|
10
|
-
`),
|
|
11
|
-
`)
|
|
12
|
-
`),
|
|
13
|
-
`)}stringToken(){var _,E
|
|
14
|
-
`,{offset:
|
|
15
|
-
`,{offset:_,length:0});return this}suppressNewlines(){var _=this.prev();if(_[1]==="\\"){if(_.comments&&this.tokens.length>1)
|
|
16
|
-
`)
|
|
17
|
-
`),E=this.chunkColumn
|
|
18
|
-
`),[R]=d.call(M,-1),E=R.length,Y=this.getLocationDataCompensation(this.chunkOffset,this.chunkOffset+_-E),Y<0)Y=0;$=this.getLocationDataCompensation(this.chunkOffset+_+Y-E,this.chunkOffset+_+Y)}else E+=F.length,$=A;return[this.chunkLine+X,E+$,this.chunkOffset+_+A]}makeLocationData({offsetInChunk:_,length:E}){var $,A,R;return R={range:[]},[R.first_line,R.first_column,R.range[0]]=this.getLineAndColumnFromChunk(_),A=E>0?E-1:0,[R.last_line,R.last_column,$]=this.getLineAndColumnFromChunk(_+A),[R.last_line_exclusive,R.last_column_exclusive]=this.getLineAndColumnFromChunk(_+A+(E>0?1:0)),R.range[1]=E>0?$+1:$,R}makeToken(_,E,{offset:$=0,length:A=E.length,origin:R,generated:X,indentSize:Y}={}){var M=[_,E,this.makeLocationData({offsetInChunk:$,length:A})];if(R)M.origin=R;if(X)M.generated=!0;if(Y!=null)M.indentSize=Y;return M}token(_,E,{offset:$,length:A,origin:R,data:X,generated:Y,indentSize:M}={}){var F=this.makeToken(_,E,{offset:$,length:A,origin:R,generated:Y,indentSize:M});if(X)n(F,X);return this.tokens.push(F),F}tag(){var _,E;return _=this.tokens,[E]=d.call(_,-1),E!=null?E[0]:void 0}value(_=!1){var E,$;if(E=this.tokens,[$]=d.call(E,-1),_&&($!=null?$.origin:void 0)!=null)return $.origin[1];else return $!=null?$[1]:void 0}prev(){return this.tokens[this.tokens.length-1]}unfinished(){var _;return G2.test(this.chunk)||(_=this.tag(),B.call(X1,_)>=0)}validateUnicodeCodePointEscapes(_,E){return d2(_,x2(E,{error:this.error}))}validateEscapes(_,E={}){var $,A,R,X,Y,M,F,G,D,J;if(X=E.isRegex?q2:B2,Y=X.exec(_),!Y)return;return Y[0],$=Y[1],F=Y[2],A=Y[3],J=Y[4],D=Y[5],M=F?"octal escape sequences are not allowed":"invalid escape sequence",R=`\\${F||A||J||D}`,this.error(`${M} ${R}`,{offset:((G=E.offsetInChunk)!=null?G:0)+Y.index+$.length,length:R.length})}suppressSemicolons(){var _,E,$;$=[];while(this.value()===";")if(this.tokens.pop(),_=(E=this.prev())!=null?E[0]:void 0,B.call(["=",...X1],_)>=0)$.push(this.error("unexpected ;"));else $.push(void 0);return $}error(_,E={}){var $,A,R,X,Y;return R="first_line"in E?E:([A,$]=this.getLineAndColumnFromChunk((X=E.offset)!=null?X:0),{first_line:A,first_column:$,last_column:$+((Y=E.length)!=null?Y:1)-1}),m2(_,R)}},r2=function(U,_=U){switch(!1){case B.call([...W1,...s],U)<0:return`keyword '${_}' can't be assigned`;case B.call(g1,U)<0:return`'${_}' can't be assigned`;case B.call(O1,U)<0:return`reserved word '${_}' can't be assigned`;default:return!1}};u2=function(U){var _;if(U[0]==="IDENTIFIER")return!0;else if(U[0]==="FOR")return!1;else if((_=U[1])==="{"||_==="["||_===","||_===":")return!1;else return!0};n=function(U,_){return Object.assign(U.data!=null?U.data:U.data={},_)};W1=["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"];s=["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def"];b1={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"};h1=function(){var U=[];for(A1 in b1)U.push(A1);return U}();s=s.concat(h1);O1=["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"];g1=["arguments","eval"];var R3=W1.concat(O1).concat(g1);r1=65279;$2=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+!?)([^\n\S]*:(?![=:]))?/;Q2=/^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;W2=/^(?:<=>|[-=]>|~>|~=|:=|=!|===|!==|!\?|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/;y1=/^[^\n\S]+/;a1=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/;n1=/^[-=]>/;Z2=/^(?:\n[^\n\S]*)+/;M2=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/;U2=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/;w2=/^(?:'''|"""|'|")/;I2=/^(?:[^\\']|\\[\s\S])*/;L2=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/;R2=/^(?:[^\\']|\\[\s\S]|'(?!''))*/;e1=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/;A2=/\n+([^\n\S]*)(?=\S)/g;K2=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/;H2=/^\w*/;y2=/^(?!.*(.).*\1)[gimsuy]*$/;_2=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/;E2=/(\s+)(#(?!{).*)/gm;N2=/^(\/|\/{3}\s*)(\*)/;O2=/^\/=?\s/;t1=/\*\//;G2=/^\s*(?:,|\??\.(?![.\d])|\??::)/;B2=/((?:^|[^\\])(?:\\\\)*)\\(?:(0\d|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/;q2=/((?:^|[^\\])(?:\\\\)*)\\(?:(0\d)|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/;j2=/\s+$/;L1=["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="];V1=["NEW","TYPEOF","DELETE"];V2=["!","~"];P2=["<<",">>",">>>"];o1=["==","!=","===","!==","<",">","<=",">=","=~"];D2=["*","/","%","//","%%"];z2=["IN","OF","INSTANCEOF"];f2=["TRUE","FALSE"];$1=["IDENTIFIER","PROPERTY",")","]","?","@","THIS","SUPER","DYNAMIC_IMPORT","?."];f1=$1.concat(["NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::","?."]);h2=["IDENTIFIER",")","]","NUMBER"];J2=f1.concat(["++","--"]);F2=["INDENT","OUTDENT","TERMINATOR"];Y2=[")","}","]"];R1=function(U,_){var E,$,A,R,X;if(!U.comments)return;if(_.comments&&_.comments.length!==0){X=[],R=U.comments;for($=0,A=R.length;$<A;$++)if(E=R[$],E.unshift)X.push(E);else _.comments.push(E);_.comments=X.concat(_.comments)}else _.comments=U.comments;return delete U.comments};x=function(U,_,E,$){var A=[U,_];if(A.generated=!0,E)A.origin=E;if($)R1($,A);return A};S2=function(){class U{rewrite(_){var E,$,A;if(this.tokens=_,typeof process<"u"&&process!==null?(E=process.env)!=null?E.DEBUG_TOKEN_STREAM:void 0:void 0){if(process.env.DEBUG_REWRITTEN_TOKEN_STREAM)console.log("Initial token stream:");console.log(function(){var R,X,Y,M;Y=this.tokens,M=[];for(R=0,X=Y.length;R<X;R++)A=Y[R],M.push(A[0]+"/"+A[1]+(A.comments?"*":""));return M}.call(this).join(" "))}if(this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.convertLegacyExistential(),this.convertPostfixSpreadRest(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.rescueStowawayComments(),this.addLocationDataToGeneratedTokens(),this.fixIndentationLocationData(),this.exposeTokenDataToGrammar(),typeof process<"u"&&process!==null?($=process.env)!=null?$.DEBUG_REWRITTEN_TOKEN_STREAM:void 0:void 0){if(process.env.DEBUG_TOKEN_STREAM)console.log("Rewritten token stream:");console.log(function(){var R,X,Y,M;Y=this.tokens,M=[];for(R=0,X=Y.length;R<X;R++)A=Y[R],M.push(A[0]+"/"+A[1]+(A.comments?"*":""));return M}.call(this).join(" "))}return this.tokens}scanTokens(_){var E,$,A;({tokens:A}=this),E=0;while($=A[E])E+=_.call(this,$,E,A);return!0}detectEnd(_,E,$,A={}){var R,X,Y,M,F;({tokens:F}=this),R=0;while(M=F[_]){if(R===0&&E.call(this,M,_))return $.call(this,M,_);if(X=M[0],B.call(m,X)>=0)R+=1;else if(Y=M[0],B.call(k,Y)>=0)R-=1;if(R<0){if(A.returnOnNegativeLevel)return;return $.call(this,M,_)}_+=1}return _-1}removeLeadingNewlines(){var _,E,$,A,R,X,Y,M,F;Y=this.tokens;for(_=E=0,R=Y.length;E<R;_=++E)if([F]=Y[_],F!=="TERMINATOR")break;if(_===0)return;M=this.tokens.slice(0,_);for($=0,X=M.length;$<X;$++)A=M[$],R1(A,this.tokens[_]);return this.tokens.splice(0,_)}closeOpenCalls(){var _,E;return E=function($,A){var R;return(R=$[0])===")"||R==="CALL_END"},_=function($,A){return $[0]="CALL_END"},this.scanTokens(function($,A){if($[0]==="CALL_START")this.detectEnd(A+1,E,_);return 1})}closeOpenIndexes(){var _,E,$;return $=null,E=function(A,R){var X;return(X=A[0])==="]"||X==="INDEX_END"},_=function(A,R){if(this.tokens.length>=R&&this.tokens[R+1][0]===":")return $[0]="[",A[0]="]";else return A[0]="INDEX_END"},this.scanTokens(function(A,R){if(A[0]==="INDEX_START")$=A,this.detectEnd(R+1,E,_);return 1})}indexOfTag(_,...E){var $,A,R,X,Y;$=0;for(A=R=0,X=E.length;0<=X?R<X:R>X;A=0<=X?++R:--R){if(E[A]==null)continue;if(typeof E[A]==="string")E[A]=[E[A]];if(Y=this.tag(_+A+$),B.call(E[A],Y)<0)return-1}return _+A+$-1}looksObjectish(_){var E,$;if(this.indexOfTag(_,"@",null,":")!==-1||this.indexOfTag(_,null,":")!==-1)return!0;if($=this.indexOfTag(_,m),$!==-1){if(E=null,this.detectEnd($+1,function(A){var R;return R=A[0],B.call(k,R)>=0},function(A,R){return E=R}),this.tag(E+1)===":")return!0}return!1}findTagsBackwards(_,E){var $,A,R,X,Y,M,F;$=[];while(_>=0&&($.length||(X=this.tag(_),B.call(E,X)<0)&&((Y=this.tag(_),B.call(m,Y)<0)||this.tokens[_].generated)&&(M=this.tag(_),B.call(U1,M)<0))){if(A=this.tag(_),B.call(k,A)>=0)$.push(this.tag(_));if((R=this.tag(_),B.call(m,R)>=0)&&$.length)$.pop();_-=1}return F=this.tag(_),B.call(E,F)>=0}addImplicitBracesAndParens(){var _,E,$;return _=[],E=null,$=!1,this.scanTokens(function(A,R,X){var Y,M,F,G,D,J,Q,Z,O,K,H,W,q,N,z,S,L,I,T,j,w,P,V,v,C,l,f,o,g,M1,q1,F1,G1,D1,h,k1,z1,c1,t,l1,e,u;if([u]=A,[w]=P=R>0?X[R-1]:[],[S]=L=R<X.length-1?X[R+1]:[],h=function(){return _[_.length-1]},k1=R,F=function(y){return R-k1+y},H=function(y){var b;return y!=null?(b=y[2])!=null?b.ours:void 0:void 0},q=function(y){return H(y)&&(y!=null?y[0]:void 0)==="{"},W=function(y){return H(y)&&(y!=null?y[0]:void 0)==="("},Q=function(){return H(h())},Z=function(){return W(h())},K=function(){return q(h())},O=function(){var y;return Q()&&((y=h())!=null?y[0]:void 0)==="CONTROL"},z1=function(y){return _.push(["(",y,{ours:!0}]),X.splice(y,0,x("CALL_START","(",["","implicit function call",A[2]],P))},Y=function(){return _.pop(),X.splice(R,0,x("CALL_END",")",["","end of input",A[2]],P)),R+=1},c1=function(y,{startsLine:b=!0,continuationLineIndent:i}={}){var p;return _.push(["{",y,{sameLine:!0,startsLine:b,ours:!0,continuationLineIndent:i}]),p=new String("{"),p.generated=!0,X.splice(y,0,x("{",p,A,P))},M=function(y){return y=y!=null?y:R,_.pop(),X.splice(y,0,x("}","}",A,P)),R+=1},G=(y)=>{var b=null;if(this.detectEnd(y,function(i){return i[0]==="TERMINATOR"},function(i,p){return b=p},{returnOnNegativeLevel:!0}),b==null)return!1;return this.looksObjectish(b+1)},(Z()||K())&&B.call(u1,u)>=0||K()&&w===":"&&u==="FOR")return _.push(["CONTROL",R,{ours:!0}]),F(1);if(u==="INDENT"&&Q()){if(w!=="=>"&&w!=="->"&&w!=="["&&w!=="("&&w!==","&&w!=="{"&&w!=="ELSE"&&w!=="=")while(Z()||K()&&w!==":")if(Z())Y();else M();if(O())_.pop();return _.push([u,R]),F(1)}if(B.call(m,u)>=0)return _.push([u,R]),F(1);if(B.call(k,u)>=0){while(Q())if(Z())Y();else if(K())M();else _.pop();E=_.pop()}if(J=()=>{var y,b,i,p;if(i=this.findTagsBackwards(R,["FOR"])&&this.findTagsBackwards(R,["FORIN","FOROF","FORFROM"]),y=i||this.findTagsBackwards(R,["WHILE","UNTIL","LOOP","LEADING_WHEN"]),!y)return!1;return b=!1,p=A[2].first_line,this.detectEnd(R,function(p1,m1){var E1;return E1=p1[0],B.call(U1,E1)>=0},function(p1,m1){var E1;return[w,,{first_line:E1}]=X[m1-1]||[],b=p===E1&&(w==="->"||w==="=>")},{returnOnNegativeLevel:!0}),b},(B.call(w1,u)>=0&&A.spaced||u==="?"&&R>0&&!X[R-1].spaced)&&(B.call(I1,S)>=0||S==="..."&&(V=this.tag(R+2),B.call(I1,V)>=0)&&!this.findTagsBackwards(R,["INDEX_START","["])||B.call(C1,S)>=0&&!L.spaced&&!L.newLine)&&!J()&&!((u==="]"||u==="}")&&(S==="->"||S==="=>"))){if(u==="?")u=A[0]="FUNC_EXIST";return z1(R+1),F(2)}if(B.call(w1,u)>=0&&this.indexOfTag(R+1,"INDENT")>-1&&this.looksObjectish(R+2)&&!this.findTagsBackwards(R,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"])&&!(((v=g=(C=h())!=null?C[0]:void 0)==="{"||v==="[")&&!H(h())&&this.findTagsBackwards(R,g)))return z1(R+1),_.push(["INDENT",R+2]),F(3);if(u==="SPACE?")$=!0;if(u===":"){if($)return $=!1,F(1);if(g=function(){var y;switch(!1){case(y=this.tag(R-1),B.call(k,y)<0):if([l1,t]=E,l1==="["&&t>0&&this.tag(t-1)==="@"&&!X[t-1].spaced)return t-1;else return t;break;case this.tag(R-2)!=="@":return R-2;default:return R-1}}.call(this),e=g<=0||(l=this.tag(g-1),B.call(U1,l)>=0)||X[g-1].newLine,h()){if([D1,q1]=h(),G1=_[_.length-2],(D1==="{"||D1==="INDENT"&&(G1!=null?G1[0]:void 0)==="{"&&!H(G1)&&this.findTagsBackwards(q1-1,["{"]))&&(e||this.tag(g-1)===","||this.tag(g-1)==="{")&&(f=this.tag(g-1),B.call(X1,f)<0))return F(1)}return j=R>1?X[R-2]:[],c1(g,{startsLine:!!e,continuationLineIndent:j.continuationLineIndent}),F(2)}if(B.call(U1,u)>=0)for(N=_.length-1;N>=0;N+=-1){if(F1=_[N],!H(F1))break;if(q(F1))F1[2].sameLine=!1}if(u==="TERMINATOR"&&A.endsContinuationLineIndentation){({preContinuationLineIndent:T}=A.endsContinuationLineIndentation);while(K()&&(D=h()[2].continuationLineIndent)!=null&&D>T)M()}if(z=w==="OUTDENT"||P.newLine,B.call(v1,u)>=0||B.call(J1,u)>=0&&z||(u===".."||u==="...")&&this.findTagsBackwards(R,["INDEX_START"]))while(Q())if([D1,q1,{sameLine:M1,startsLine:e}]=h(),Z()&&w!==","||w===","&&u==="TERMINATOR"&&S==null)Y();else if(K()&&M1&&u!=="TERMINATOR"&&w!==":"&&!((u==="POST_IF"||u==="FOR"||u==="WHILE"||u==="UNTIL")&&e&&G(R+1)))M();else if(K()&&u==="TERMINATOR"&&w!==","&&!(e&&this.looksObjectish(R+1)))M();else if(O()&&X[h()[1]][0]==="CLASS"&&u==="TERMINATOR")_.pop();else break;if(u===","&&!this.looksObjectish(R+1)&&K()&&!((o=this.tag(R+2))==="FOROF"||o==="FORIN")&&(S!=="TERMINATOR"||!this.looksObjectish(R+2))){I=S==="OUTDENT"?1:0;while(K())M(R+I)}return F(1)})}addImplicitCallCommas(){var _,E,$,A,R,X;X=this.tokens,_=0,E=0;while(E<X.length){if(R=X[E][0],$=E>0?X[E-1][0]:null,R==="CALL_START"||R==="(")_++;else if(R==="CALL_END"||R===")")_--;if(_>0&&(R==="->"||R==="=>")&&(A=$,B.call(X2,A)>=0))X.splice(E,0,x(",",",",X[E],X[E-1])),E++;E++}}rescueStowawayComments(){var _,E,$,A;return E=function(R,X,Y,M){if(Y[X][0]!=="TERMINATOR")Y[M](x("TERMINATOR",`
|
|
19
|
-
`,Y[X]));return Y[M](x("JS","",Y[X],R))},_=function(R,X){var Y,M;Y=R+1;while(Y!==X.length&&(M=X[Y][0],B.call(r,M)>=0)){if(X[Y][0]==="INTERPOLATION_END")return!0;Y++}return!1},A=function(R,X,Y){var M,F,G,D,J,Q,Z;F=X;while(F!==Y.length&&(J=Y[F][0],B.call(r,J)>=0))F++;if(!(F===Y.length||(Q=Y[F][0],B.call(r,Q)>=0))){Z=R.comments;for(G=0,D=Z.length;G<D;G++)M=Z[G],M.unshift=!0;return R1(R,Y[F]),1}else return F=Y.length-1,E(R,F,Y,"push"),1},$=function(R,X,Y){var M,F,G;M=X;while(M!==-1&&(F=Y[M][0],B.call(r,F)>=0))M--;if(!(M===-1||(G=Y[M][0],B.call(r,G)>=0)))return R1(R,Y[M]),1;else return E(R,0,Y,"unshift"),3},this.scanTokens(function(R,X,Y){var M,F,G,D,J;if(!R.comments)return 1;if(J=1,G=R[0],B.call(r,G)>=0){M={comments:[]},F=R.comments.length-1;while(F!==-1){if(R.comments[F].newLine===!1&&R.comments[F].here===!1)M.comments.unshift(R.comments[F]),R.comments.splice(F,1);F--}if(M.comments.length!==0)J=$(M,X-1,Y);if(R.comments.length!==0)A(R,X,Y)}else if(!_(X,Y)){M={comments:[]},F=R.comments.length-1;while(F!==-1){if(R.comments[F].newLine&&!R.comments[F].unshift&&!(R[0]==="JS"&&R.generated))M.comments.unshift(R.comments[F]),R.comments.splice(F,1);F--}if(M.comments.length!==0)J=A(M,X+1,Y)}if(((D=R.comments)!=null?D.length:void 0)===0)delete R.comments;return J})}addLocationDataToGeneratedTokens(){return this.scanTokens(function(_,E,$){var A,R,X,Y,M,F,G;if(_[2])return 1;if(!(_.generated||_.explicit))return 1;if(_.fromThen&&_[0]==="INDENT")return _[2]=_.origin[2],1;if(_[0]==="{"&&(X=(F=$[E+1])!=null?F[2]:void 0))({first_line:R,first_column:A,range:[M]}=X);else if(Y=(G=$[E-1])!=null?G[2]:void 0)({last_line:R,last_column:A,range:[,M]}=Y),A+=1;else R=A=0,M=0;return _[2]={first_line:R,first_column:A,last_line:R,last_column:A,last_line_exclusive:R,last_column_exclusive:A,range:[M,M]},1})}fixIndentationLocationData(){var _;if(this.allComments==null)this.allComments=c2(this.tokens);return _=(E,{afterPosition:$,indentSize:A,first:R,indented:X})=>{var Y,M,F,G,D,J,Q,Z;if(Z=E[2].range[0],D=function(O){if(O.outdented){if(!(A!=null&&O.indentSize>A))return!1}if(X&&!O.indented)return!1;if(!(O.locationData.range[0]<Z))return!1;if(!(O.locationData.range[0]>$))return!1;return!0},R){G=null,J=this.allComments;for(M=J.length-1;M>=0;M+=-1)if(Y=J[M],D(Y))G=Y;else if(G)return G;return G}Q=this.allComments;for(F=Q.length-1;F>=0;F+=-1)if(Y=Q[F],D(Y))return Y;return null},this.scanTokens(function(E,$,A){var R,X,Y,M,F,G,D,J,Q,Z;if(!((D=E[0])==="INDENT"||D==="OUTDENT"||E.generated&&E[0]==="CALL_END"&&!((J=E.data)!=null?J.closingTagNameToken:void 0)||E.generated&&E[0]==="}"))return 1;if(R=E[0]==="INDENT",G=(Q=E.prevToken)!=null?Q:A[$-1],F=G[2],Z=E.explicit||E.generated,Z){X=E,Y=$;while((X.explicit||X.generated)&&Y!==A.length-1)X=A[Y++]}if(M=_(Z?X:E,{afterPosition:F.range[0],indentSize:E.indentSize,first:R,indented:Z}),R){if(!(M!=null?M.newLine:void 0))return 1}if(E.generated&&E[0]==="CALL_END"&&(M!=null?M.indented:void 0))return 1;if(M!=null)F=M.locationData;return E[2]={first_line:M!=null?F.first_line:F.last_line,first_column:M!=null?R?0:F.first_column:F.last_column,last_line:F.last_line,last_column:F.last_column,last_line_exclusive:F.last_line_exclusive,last_column_exclusive:F.last_column_exclusive,range:R&&M!=null?[F.range[0]-M.indentSize,F.range[1]]:F.range},1})}normalizeLines(){var _,E,$,A,R,X,Y,M,F;return F=R=M=null,Y=null,X=null,A=[],$=function(G,D){var J,Q,Z,O;return G[1]!==";"&&(J=G[0],B.call(T2,J)>=0)&&!(G[0]==="TERMINATOR"&&(Q=this.tag(D+1),B.call(B1,Q)>=0))&&!(G[0]==="ELSE"&&(F!=="THEN"||(X||Y)))&&!(((Z=G[0])==="CATCH"||Z==="FINALLY")&&(F==="->"||F==="=>"))||(O=G[0],B.call(J1,O)>=0)&&(this.tokens[D-1].newLine||this.tokens[D-1][0]==="OUTDENT")},_=function(G,D){if(G[0]==="ELSE"&&F==="THEN")A.pop();return this.tokens.splice(this.tag(D-1)===","?D-1:D,0,M)},E=(G,D)=>{var J,Q,Z;if(Z=A.length,!(Z>0))return D;return J=A.pop(),[,Q]=this.indentation(G[J]),Q[1]=Z*2,G.splice(D,0,Q),Q[1]=2,G.splice(D+1,0,Q),this.detectEnd(D+2,function(O,K){var H;return(H=O[0])==="OUTDENT"||H==="TERMINATOR"},function(O,K){if(this.tag(K)==="OUTDENT"&&this.tag(K+1)==="OUTDENT")return G.splice(K,2)}),D+2},this.scanTokens(function(G,D,J){var Q,Z,O,K,H,W,q;if([q]=G,Q=(q==="->"||q==="=>")&&this.findTagsBackwards(D,["IF","WHILE","FOR","UNTIL","SWITCH","WHEN","LEADING_WHEN","[","INDEX_START"])&&!this.findTagsBackwards(D,["THEN","..","..."]),q==="TERMINATOR"){if(this.tag(D+1)==="ELSE"&&this.tag(D-1)!=="OUTDENT")return J.splice(D,1,...this.indentation()),1;if(K=this.tag(D+1),B.call(B1,K)>=0){if(G[1]===";"&&this.tag(D+1)==="OUTDENT")J[D+1].prevToken=G,R1(G,J[D+1]);return J.splice(D,1),0}}if(q==="CATCH")for(Z=O=1;O<=2;Z=++O){if(!((H=this.tag(D+Z))==="OUTDENT"||H==="TERMINATOR"||H==="FINALLY"))continue;return J.splice(D+Z,0,...this.indentation()),2+Z}if((q==="->"||q==="=>")&&((W=this.tag(D+1))===","||W==="]"||this.tag(D+1)==="."&&G.newLine))return[R,M]=this.indentation(J[D]),J.splice(D+1,0,R,M),1;if(B.call(j1,q)>=0&&this.tag(D+1)!=="INDENT"&&!(q==="ELSE"&&this.tag(D+1)==="IF")&&!Q){if(F=q,[R,M]=this.indentation(J[D]),F==="THEN")R.fromThen=!0;if(q==="THEN")Y=this.findTagsBackwards(D,["LEADING_WHEN"])&&this.tag(D+1)==="IF",X=this.findTagsBackwards(D,["IF"])&&this.tag(D+1)==="IF";if(q==="THEN"&&this.findTagsBackwards(D,["IF"]))A.push(D);if(q==="ELSE"&&this.tag(D-1)!=="OUTDENT")D=E(J,D);if(J.splice(D+1,0,R),this.detectEnd(D+2,$,_),q==="THEN")J.splice(D,1);return 1}return 1})}convertLegacyExistential(){return this.scanTokens(function(_,E,$){var A,R,X,Y,M;if(_[0]!=="SPACE?")return 1;A=!1,X=0;for(R=E+1;R<$.length;R++){if(M=$[R][0],Y=M,B.call(m,Y)>=0)X++;else if(Y=M,B.call(k,Y)>=0)X--;if(M===":"&&X===0){A=!0;break}if(X===0&&(M==="TERMINATOR"||M==="INDENT"||M==="OUTDENT"))break}if(!A)_[0]="??",_[1]="??";return 1})}convertPostfixSpreadRest(){return this.scanTokens(function(_,E,$){var A,R,X,Y,M,F,G,D,J,Q;if(_[0]!=="..."&&_[0]!=="..")return 1;let Z=0;for(let O=E-1;O>=0;O--){if($[O][0]==="INDEX_END")Z++;if($[O][0]==="INDEX_START")Z--}if(R=Z<0,R)return 1;if(G=$[E-1],M=$[E+1],!G||!M)return 1;if(D=G[0],F=M[0],D===","&&F===",")return 1;if(D==="NUMBER")return 1;if(Q=["IDENTIFIER","PROPERTY",")","]","THIS","@"],J=D,B.call(Q,J)>=0){if(A=[",","]",")","}","CALL_END","INDEX_END","PARAM_END","TERMINATOR","OUTDENT"],J=F,B.call(A,J)>=0)return $[E-1]=_,$[E]=G,1}return 1})}tagPostfixConditionals(){var _,E,$;return $=null,E=function(A,R){var X,Y;return[Y]=A,[X]=this.tokens[R-1],Y==="TERMINATOR"||Y==="INDENT"&&B.call(j1,X)<0},_=function(A,R){if(A[0]!=="INDENT"||A.generated&&!A.fromThen)return $[0]="POST_"+$[0]},this.scanTokens(function(A,R){if(A[0]!=="IF"&&A[0]!=="UNLESS")return 1;return $=A,this.detectEnd(R+1,E,_),1})}exposeTokenDataToGrammar(){return this.scanTokens(function(_,E){var $,A,R;if(_.generated||_.data&&Object.keys(_.data).length!==0){_[1]=new String(_[1]),A=($=_.data)!=null?$:{};for(A1 in A){if(!b2.call(A,A1))continue;R=A[A1],_[1][A1]=R}if(_.generated)_[1].generated=!0}return 1})}indentation(_){var E,$;if(E=["INDENT",2],$=["OUTDENT",2],_)E.generated=$.generated=!0,E.origin=$.origin=_;else E.explicit=$.explicit=!0;return[E,$]}tag(_){var E;return(E=this.tokens[_])!=null?E[0]:void 0}}return U.prototype.generate=x,U}.call(null);T1=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["INTERPOLATION_START","INTERPOLATION_END"],["REGEX_START","REGEX_END"]];Q1={};m=[];k=[];for(Z1=0,s1=T1.length;Z1<s1;Z1++)[S1,P1]=T1[Z1],m.push(Q1[P1]=S1),k.push(Q1[S1]=P1);B1=["CATCH","THEN","ELSE","FINALLY"].concat(k);w1=["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"];I1=["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","@","->","=>","[","(","{","--","++"];C1=["+","-"];v1=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"];X2=["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}"];j1=["ELSE","->","=>","TRY","FINALLY","THEN"];T2=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"];U1=["TERMINATOR","INDENT","OUTDENT"];J1=[".","?.","::","?::"];u1=["IF","TRY","FINALLY","CATCH","CLASS","SWITCH"];r=["(",")","[","]","{","}",":",".","..","...",",","=","++","--","?","AS","AWAIT","CALL_START","CALL_END","DEFAULT","DO","DO_IIFE","ELSE","EXTENDS","EXPORT","FORIN","FOROF","FORFROM","IMPORT","INDENT","INDEX_SOAK","INTERPOLATION_START","INTERPOLATION_END","LEADING_WHEN","OUTDENT","PARAM_END","REGEX_START","REGEX_END","RETURN","STRING_END","THROW","UNARY","YIELD"].concat(C1.concat(v1.concat(J1.concat(u1))));X1=["\\",".","?.","?::","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","SPACE?","EXTENDS"];var n2={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,ReactAssign:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Throw:28,Yield:29,Def:30,DEF:31,Identifier:32,CALL_START:33,ParamList:34,CALL_END:35,Block:36,Assignable:37,REACTIVE_ASSIGN:38,INDENT:39,OUTDENT:40,COMPUTED_ASSIGN:41,READONLY_ASSIGN:42,REACT_ASSIGN:43,CodeLine:44,OperationLine:45,YIELD:46,Object:47,FROM:48,IDENTIFIER:49,Property:50,PROPERTY:51,AlphaNumeric:52,NUMBER:53,String:54,STRING:55,STRING_START:56,Interpolations:57,STRING_END:58,InterpolationChunk:59,INTERPOLATION_START:60,INTERPOLATION_END:61,Regex:62,REGEX:63,REGEX_START:64,Invocation:65,REGEX_END:66,RegexWithIndex:67,",":68,Literal:69,JS:70,UNDEFINED:71,NULL:72,BOOL:73,INFINITY:74,NAN:75,"=":76,AssignObj:77,ObjAssignable:78,ObjRestValue:79,":":80,SimpleObjAssignable:81,ThisProperty:82,"[":83,"]":84,"@":85,"...":86,ObjSpreadExpr:87,Parenthetical:88,Super:89,This:90,SUPER:91,OptFuncExist:92,Arguments:93,DYNAMIC_IMPORT:94,".":95,"?.":96,"::":97,"?::":98,INDEX_START:99,INDEX_END:100,INDEX_SOAK:101,RETURN:102,PARAM_START:103,PARAM_END:104,FuncGlyph:105,"->":106,"=>":107,OptComma:108,Param:109,ParamVar:110,Array:111,Splat:112,SimpleAssignable:113,Slice:114,ES6_OPTIONAL_INDEX:115,Range:116,DoIife:117,MetaProperty:118,NEW_TARGET:119,IMPORT_META:120,"{":121,FOR:122,ForVariables:123,FOROF:124,"}":125,WHEN:126,OWN:127,AssignList:128,CLASS:129,EXTENDS:130,IMPORT:131,ImportDefaultSpecifier:132,ImportNamespaceSpecifier:133,ImportSpecifierList:134,ImportSpecifier:135,AS:136,DEFAULT:137,IMPORT_ALL:138,EXPORT:139,ExportSpecifierList:140,EXPORT_ALL:141,ExportSpecifier:142,ES6_OPTIONAL_CALL:143,FUNC_EXIST:144,ArgList:145,THIS:146,Elisions:147,ArgElisionList:148,OptElisions:149,RangeDots:150,"..":151,Arg:152,ArgElision:153,Elision:154,SimpleArgs:155,TRY:156,Catch:157,FINALLY:158,CATCH:159,THROW:160,"(":161,")":162,WhileSource:163,WHILE:164,UNTIL:165,Loop:166,LOOP:167,FORIN:168,BY:169,FORFROM:170,AWAIT:171,ForValue:172,SWITCH:173,Whens:174,ELSE:175,When:176,LEADING_WHEN:177,IfBlock:178,IF:179,UnlessBlock:180,UNLESS:181,POST_IF:182,POST_UNLESS:183,UNARY:184,DO:185,DO_IIFE:186,UNARY_MATH:187,"-":188,"+":189,"--":190,"++":191,"?":192,MATH:193,"**":194,SHIFT:195,COMPARE:196,"&":197,"^":198,"|":199,"&&":200,"||":201,"??":202,"!?":203,RELATION:204,"SPACE?":205,COMPOUND_ASSIGN:206},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",31:"DEF",33:"CALL_START",35:"CALL_END",38:"REACTIVE_ASSIGN",39:"INDENT",40:"OUTDENT",41:"COMPUTED_ASSIGN",42:"READONLY_ASSIGN",43:"REACT_ASSIGN",46:"YIELD",48:"FROM",49:"IDENTIFIER",51:"PROPERTY",53:"NUMBER",55:"STRING",56:"STRING_START",58:"STRING_END",60:"INTERPOLATION_START",61:"INTERPOLATION_END",63:"REGEX",64:"REGEX_START",66:"REGEX_END",68:",",70:"JS",71:"UNDEFINED",72:"NULL",73:"BOOL",74:"INFINITY",75:"NAN",76:"=",80:":",83:"[",84:"]",85:"@",86:"...",91:"SUPER",94:"DYNAMIC_IMPORT",95:".",96:"?.",97:"::",98:"?::",99:"INDEX_START",100:"INDEX_END",101:"INDEX_SOAK",102:"RETURN",103:"PARAM_START",104:"PARAM_END",106:"->",107:"=>",115:"ES6_OPTIONAL_INDEX",119:"NEW_TARGET",120:"IMPORT_META",121:"{",122:"FOR",124:"FOROF",125:"}",126:"WHEN",127:"OWN",129:"CLASS",130:"EXTENDS",131:"IMPORT",136:"AS",137:"DEFAULT",138:"IMPORT_ALL",139:"EXPORT",141:"EXPORT_ALL",143:"ES6_OPTIONAL_CALL",144:"FUNC_EXIST",146:"THIS",151:"..",156:"TRY",158:"FINALLY",159:"CATCH",160:"THROW",161:"(",162:")",164:"WHILE",165:"UNTIL",167:"LOOP",168:"FORIN",169:"BY",170:"FORFROM",171:"AWAIT",173:"SWITCH",175:"ELSE",177:"LEADING_WHEN",179:"IF",181:"UNLESS",182:"POST_IF",183:"POST_UNLESS",184:"UNARY",185:"DO",186:"DO_IIFE",187:"UNARY_MATH",188:"-",189:"+",190:"--",191:"++",192:"?",193:"MATH",194:"**",195:"SHIFT",196:"COMPARE",197:"&",198:"^",199:"|",200:"&&",201:"||",202:"??",203:"!?",204:"RELATION",205:"SPACE?",206:"COMPOUND_ASSIGN"},parseTable:(()=>{let U=[101,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-1,1,2,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,1,1,0,2,1,5,-2,101,5,1,5,34,21,101,-3,-3,-3,-3,-3,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,-6,-6,121,-6,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,9,1,5,29,4,1,21,7,16,78,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,29,4,1,21,7,16,78,1,1,1,17,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,124,90,91,122,123,54,1,5,27,2,4,1,15,1,5,7,12,4,2,6,3,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,-250,-13,-13,-13,-250,-250,-13,-13,-13,-13,-13,125,127,128,129,130,131,-13,132,-13,133,-13,-13,-13,-13,126,134,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,47,1,5,29,4,1,21,7,12,4,2,9,1,1,1,1,1,1,3,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,135,136,137,138,139,-14,140,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,9,1,5,29,4,1,21,7,16,78,-47,-47,-47,-47,-47,-47,-47,-47,-47,9,1,5,29,4,1,21,7,16,78,-48,-48,-48,-48,-48,-48,-48,-48,-48,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,142,-173,-173,143,144,145,-173,-173,-173,-173,141,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,18,6,26,2,1,4,1,7,2,19,14,1,2,1,18,5,1,1,10,-127,150,146,-127,-127,-127,153,98,-127,151,155,154,149,-127,147,148,152,93,100,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,157,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,156,30,158,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,97,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,159,160,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,97,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,162,163,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,164,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,170,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,171,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,172,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,173,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,45,14,1,17,5,10,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,9,2,1,1,4,2,3,1,1,1,1,1,25,15,25,175,176,86,177,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,165,166,84,85,66,174,33,35,38,82,83,93,80,76,169,45,14,1,17,5,10,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,9,2,1,1,4,2,3,1,1,1,1,1,25,15,25,175,176,86,177,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,165,166,84,85,66,178,33,35,38,82,83,93,80,76,169,61,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,179,180,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,181,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,183,182,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,184,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,5,7,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,185,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,2,36,3,186,158,2,36,3,187,158,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,14,32,15,2,33,1,2,25,1,5,5,2,4,44,1,150,153,98,151,77,154,193,152,191,93,188,189,190,192,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,194,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,195,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,88,1,5,8,1,17,3,1,1,2,1,7,2,3,1,1,1,1,5,1,1,1,1,3,1,1,1,1,1,1,1,5,2,1,1,1,1,2,1,1,1,3,6,3,1,1,1,1,4,2,3,1,1,1,1,1,1,2,1,1,4,16,5,10,1,2,1,3,1,1,12,1,3,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-197,-197,175,176,86,-197,196,177,158,-197,67,98,68,94,95,99,100,-197,70,96,97,34,-197,31,69,71,72,73,74,75,-197,87,77,-197,81,-197,32,37,36,78,79,-197,165,-197,166,84,85,66,198,33,35,38,82,83,93,-197,-197,-197,-197,197,80,-197,76,-197,-197,-197,-197,-197,-197,-197,-197,169,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,199,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,200,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,131,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,3,1,1,1,3,1,1,1,1,5,1,1,1,1,3,1,1,1,1,1,1,1,5,2,1,1,1,1,2,1,1,1,3,6,2,1,1,1,1,1,4,2,3,1,1,1,1,1,1,2,1,1,3,2,8,7,5,5,4,1,1,1,1,1,1,1,1,1,1,1,2,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,201,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-49,30,202,-49,50,60,67,203,98,68,94,95,99,100,-49,70,96,97,34,-49,31,69,71,72,73,74,75,-49,87,77,-49,81,-49,32,37,36,78,79,-49,63,165,-49,166,84,85,66,49,33,35,38,82,83,93,-49,-49,-49,-49,58,64,65,80,-49,53,59,76,-49,54,-49,-49,55,92,-49,-49,-49,46,57,51,88,52,89,-49,-49,167,168,169,43,44,45,47,48,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,2,32,17,204,98,6,15,29,59,2,1,1,206,205,39,40,84,85,105,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,3,1,2,3,1,1,1,1,5,1,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,1,1,1,1,1,1,4,2,5,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,207,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-118,30,208,-118,50,60,67,98,68,94,95,99,100,-118,70,96,97,34,-118,31,69,71,72,73,74,75,87,77,-118,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,-118,54,-118,-118,55,92,46,57,51,88,52,89,-118,-118,167,168,169,43,44,45,47,48,9,32,17,5,1,1,65,11,1,5,213,98,209,99,100,212,210,211,214,9,27,3,1,1,17,72,8,8,4,216,217,61,218,98,215,58,219,220,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,100,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,221,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,222,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,1,4,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,223,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,229,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,224,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,225,226,231,228,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,4,33,60,2,4,238,235,236,237,2,33,60,238,239,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,55,1,5,27,2,4,1,10,1,4,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,240,241,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,1,95,242,1,95,243,51,11,20,8,4,3,3,4,2,1,7,1,6,1,1,1,1,1,8,2,6,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,51,11,20,8,4,3,3,4,2,1,7,1,6,1,1,1,1,1,8,2,6,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,244,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,245,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,246,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,247,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,249,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,248,30,158,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,23,6,26,7,1,9,1,1,1,1,1,1,1,12,9,1,1,2,1,1,2,1,39,3,-192,257,-192,-192,98,258,241,255,94,95,99,100,-192,256,250,260,252,259,253,254,261,-192,251,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,45,14,1,17,5,10,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,9,2,1,1,4,2,3,1,1,1,1,1,25,15,25,175,176,86,177,67,98,68,94,95,99,100,70,96,97,262,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,165,166,84,85,66,263,33,35,38,82,83,93,80,76,169,64,1,5,27,2,3,1,1,1,1,1,5,7,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,6,7,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,27,2,4,1,15,1,2,2,1,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,6,54,1,1,1,2,1,267,99,100,264,265,266,103,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,1,1,1,1,2,3,1,1,1,1,5,1,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,1,1,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-5,268,-5,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,-5,50,24,25,60,67,98,68,94,95,99,100,-5,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,-5,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,269,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,270,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,271,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,272,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,273,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,274,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,275,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,276,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,277,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,278,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,279,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,280,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,281,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,282,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,283,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,284,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,285,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,14,32,15,2,33,1,2,25,1,5,5,2,4,44,1,150,153,98,151,77,154,193,152,289,93,286,287,288,192,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,290,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,291,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,5,33,21,1,1,37,238,292,99,100,293,2,33,60,238,294,2,50,1,295,241,2,50,1,296,241,64,1,5,27,2,3,1,1,1,1,1,7,1,4,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,297,241,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,64,1,5,27,2,3,1,1,1,1,1,7,1,4,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,298,241,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,2,2,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,2,1,2,1,1,1,1,1,1,7,2,8,7,4,1,5,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,299,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,300,50,60,67,98,68,94,95,99,100,304,96,97,34,302,31,69,71,72,73,74,75,87,77,81,306,32,37,36,78,79,63,165,166,84,85,66,49,301,33,35,38,82,83,93,56,58,64,65,80,303,305,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,99,307,1,99,308,3,33,22,1,-251,-251,-251,2,50,1,309,241,2,50,1,310,241,64,1,5,27,2,3,1,1,1,1,1,7,1,4,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,311,241,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,64,1,5,27,2,3,1,1,1,1,1,7,1,4,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,312,241,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,313,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,314,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,99,315,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,317,316,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,318,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,320,319,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,321,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,323,322,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,324,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,326,325,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,327,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,329,328,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,330,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,9,6,29,4,1,28,16,20,4,17,-125,-125,-125,-125,332,-125,331,333,-125,6,6,29,4,1,28,36,-128,-128,-128,-128,-128,-128,7,6,29,4,1,28,8,28,-132,-132,-132,-132,-132,334,-132,15,6,26,3,4,1,7,2,19,14,1,2,19,6,1,10,-135,150,-135,-135,-135,153,98,-135,151,155,154,-135,335,152,93,10,6,29,4,1,28,8,28,20,44,2,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,10,6,29,4,1,28,8,28,20,44,2,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,10,6,29,4,1,28,8,28,20,44,2,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,10,6,29,4,1,28,8,28,20,44,2,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,2,50,1,240,241,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,1,4,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,229,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,224,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,225,226,231,228,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,9,1,5,29,4,1,21,7,16,78,-122,-122,-122,-122,-122,-122,-122,-122,-122,100,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,338,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,337,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,120,-368,-368,-368,-368,-368,-368,119,-368,-368,102,-368,-368,-368,-368,-368,-368,-368,-368,-368,114,115,-368,-368,9,1,5,29,4,1,21,7,16,78,-365,-365,-365,-365,-365,-365,-365,-365,-365,5,163,1,1,17,1,124,90,91,122,123,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,120,-369,-369,-369,-369,-369,-369,119,-369,-369,102,-369,-369,-369,-369,-369,-369,-369,-369,-369,114,115,-369,-369,9,1,5,29,4,1,21,7,16,78,-366,-366,-366,-366,-366,-366,-366,-366,-366,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,120,-370,-370,-370,-370,-370,-370,119,-370,-370,102,-370,106,-370,-370,-370,-370,-370,-370,-370,114,115,-370,-370,18,6,26,2,1,4,1,7,2,19,14,1,2,1,18,5,1,1,10,-127,150,339,-127,-127,-127,153,98,-127,151,155,154,149,-127,147,148,152,93,2,36,3,156,158,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,159,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,162,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,5,15,88,2,1,1,206,165,166,84,85,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,120,-371,-371,-371,-371,-371,-371,119,-371,-371,102,-371,106,-371,-371,-371,-371,-371,-371,-371,114,115,-371,-371,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,120,-372,-372,-372,-372,-372,-372,119,-372,-372,102,-372,106,-372,-372,-372,-372,-372,-372,-372,114,115,-372,-372,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,120,-373,-373,-373,-373,-373,-373,119,-373,-373,102,-373,-373,-373,-373,-373,-373,-373,-373,-373,114,115,-373,-373,2,47,74,340,93,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-170,-375,-170,-375,-375,-170,-170,-170,-170,-170,-375,-375,-170,-375,-375,-375,-170,-170,-170,-170,-170,-375,-170,-375,-170,-375,-375,-375,-375,-170,-170,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,13,33,22,1,36,3,1,1,1,1,2,14,28,1,-250,-250,-250,125,127,128,129,130,131,132,133,126,134,6,95,1,1,1,1,2,135,136,137,138,139,140,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-170,-376,-170,-376,-376,-170,-170,-170,-170,-170,-376,-376,-170,-376,-376,-376,-170,-170,-170,-170,-170,-376,-170,-376,-170,-376,-376,-376,-376,-170,-170,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,343,341,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,342,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,121,-44,-44,-44,-44,-44,120,90,91,-44,-44,-44,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,344,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,345,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,36,3,140,346,158,347,44,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,6,1,1,3,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,348,349,350,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,3,124,44,2,352,351,353,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,354,192,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,355,192,3,36,3,130,356,158,357,4,68,56,44,2,358,-344,-344,-344,5,68,8,48,44,2,-342,359,-342,-342,-342,23,39,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,360,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,3,174,2,1,361,362,363,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,364,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,60,1,5,27,2,1,2,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,-170,-201,365,-170,158,-201,-170,-170,-170,-170,-170,-201,-201,-170,-201,-201,-201,-170,-170,-170,-170,-170,-201,-170,-201,-170,-201,-201,-201,-201,366,-170,-170,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,120,-298,-298,-298,-298,-298,-298,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,47,74,367,93,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,120,-50,-50,-50,-50,-50,-50,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,47,74,368,93,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,369,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,33,3,3,370,371,158,9,1,5,29,4,1,21,7,16,78,-367,-367,-367,-367,-367,-367,-367,-367,-367,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,-116,-116,-116,-116,121,-116,120,-116,-116,-116,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,47,74,372,93,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,2,48,20,373,374,1,48,375,7,32,7,10,76,9,1,2,380,379,98,376,377,378,381,2,48,20,-221,-221,1,136,382,7,32,7,10,76,12,3,2,387,386,98,383,388,384,385,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,1,76,389,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,390,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,391,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,48,392,2,6,156,101,393,99,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,394,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,31,6,29,4,1,28,16,2,36,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,306,121,395,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,6,2,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,396,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,398,397,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,9,6,29,4,1,28,16,24,17,24,-125,-125,-125,-125,400,-125,401,-125,399,56,6,5,20,8,1,3,3,3,4,2,1,7,1,4,2,1,1,1,1,1,8,1,1,1,5,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,402,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,5,6,33,1,28,16,-276,-276,-276,-276,-276,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,1,4,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,229,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,404,403,231,228,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,56,6,5,20,8,1,3,3,3,4,2,1,7,1,4,2,1,1,1,1,1,8,1,1,1,5,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,5,6,33,1,28,16,-281,-281,-281,-281,-281,6,6,29,4,1,28,16,-273,-273,-273,-273,-273,-273,6,6,29,4,1,28,16,-274,-274,-274,-274,-274,-274,100,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,3,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-275,405,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-275,30,-275,-275,50,60,67,98,68,94,95,99,100,70,96,97,34,-275,31,69,71,72,73,74,75,87,77,-275,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,2,50,1,406,241,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,407,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,408,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,6,1,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,409,30,412,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,410,80,411,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,2,50,1,413,241,2,50,1,414,241,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,415,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,416,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,121,-302,-302,417,-302,-302,120,90,91,-302,-302,-302,-302,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,121,-304,-304,418,-304,-304,120,90,91,-304,-304,-304,-304,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,121,-311,-311,-311,-311,-311,120,90,91,-311,-311,-311,-311,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,6,6,33,1,28,12,45,-82,-82,-82,-82,419,-82,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,421,-125,420,-125,7,6,33,1,28,8,4,45,-91,-91,-91,-91,422,-91,-91,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,423,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,50,1,32,240,241,424,6,6,33,1,28,12,45,-94,-94,-94,-94,-94,-94,5,6,33,1,28,57,-193,-193,-193,-193,-193,15,6,27,6,1,28,8,4,15,1,1,1,1,2,24,19,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,15,6,27,6,1,28,8,4,15,1,1,1,1,2,24,19,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,15,6,27,6,1,28,8,4,15,1,1,1,1,2,24,19,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,5,6,33,1,28,57,-83,-83,-83,-83,-83,17,32,15,2,1,1,30,1,3,2,1,1,1,1,3,27,25,15,257,427,98,258,241,425,259,81,426,428,429,430,431,432,93,80,76,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,433,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,6,54,1,1,2,1,1,267,99,100,434,435,266,4,55,1,2,2,-61,-61,-61,-61,101,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,5,1,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,436,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,437,50,24,25,60,67,98,68,94,95,99,100,438,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,4,55,1,2,2,-66,-66,-66,-66,5,1,5,34,21,101,-4,-4,-4,-4,-4,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,120,-380,-380,-380,-380,-380,-380,119,-380,-380,102,105,106,-380,-380,-380,-380,-380,-380,-380,114,115,-380,-380,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,120,-381,-381,-381,-381,-381,-381,119,-381,-381,102,105,106,-381,-381,-381,-381,-381,-381,-381,114,115,-381,-381,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,120,-382,-382,-382,-382,-382,-382,119,-382,-382,102,-382,106,-382,-382,-382,-382,-382,-382,-382,114,115,-382,-382,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,120,-383,-383,-383,-383,-383,-383,119,-383,-383,102,-383,106,-383,-383,-383,-383,-383,-383,-383,114,115,-383,-383,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,120,-384,-384,-384,-384,-384,-384,119,104,103,102,105,106,-384,-384,-384,-384,-384,-384,-384,114,115,-384,-384,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,120,-385,-385,-385,-385,-385,-385,119,104,103,102,105,106,107,-385,-385,-385,-385,-385,-385,114,115,116,-385,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,120,-386,-386,-386,-386,-386,-386,119,104,103,102,105,106,107,108,-386,-386,-386,-386,-386,114,115,116,-386,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,120,-387,-387,-387,-387,-387,-387,119,104,103,102,105,106,107,108,109,-387,-387,-387,-387,114,115,116,-387,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,120,-388,-388,-388,-388,-388,-388,119,104,103,102,105,106,107,108,109,110,-388,-388,-388,114,115,116,-388,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,120,-389,-389,-389,-389,-389,-389,119,104,103,102,105,106,107,108,109,110,111,-389,-389,114,115,116,-389,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,120,-390,-390,-390,-390,-390,-390,119,104,103,102,105,106,107,108,109,110,111,112,-390,114,115,116,-390,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,121,-391,-391,-391,-391,-391,120,90,91,-391,-391,-391,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,121,-392,-392,-392,-392,-392,120,90,91,-392,-392,-392,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,120,-393,-393,-393,-393,-393,-393,119,104,103,102,105,106,107,-393,-393,-393,-393,-393,-393,114,115,-393,-393,23,80,42,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,439,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,121,-362,-362,-362,-362,-362,120,90,91,-362,-362,-362,-362,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,121,-364,-364,-364,-364,-364,120,90,91,-364,-364,-364,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,3,124,44,2,441,440,442,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,443,192,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,444,192,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,445,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,121,-361,-361,-361,-361,-361,120,90,91,-361,-361,-361,-361,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,121,-363,-363,-363,-363,-363,120,90,91,-363,-363,-363,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,26,86,14,22,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,306,446,121,447,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,98,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,2,1,2,1,1,1,1,1,1,7,2,8,7,4,1,5,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,448,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,306,32,37,36,78,79,63,165,166,84,85,66,49,449,33,35,38,82,83,93,56,58,64,65,80,303,305,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,100,450,1,100,451,96,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,6,2,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,452,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,-266,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,-266,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,453,-73,-73,-73,-73,-73,-73,-73,-73,-70,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,52,11,20,9,3,3,3,4,2,1,7,1,6,1,1,1,1,1,8,2,6,3,6,2,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,52,11,20,9,3,3,3,4,2,1,7,1,6,1,1,1,1,1,8,2,6,3,6,2,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,99,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,2,1,2,1,1,1,1,1,1,7,2,8,7,4,1,5,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,454,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,455,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,306,32,37,36,78,79,63,165,166,84,85,66,49,456,33,35,38,82,83,93,56,58,64,65,80,303,305,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,457,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,458,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,459,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,460,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,461,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,462,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,120,-79,-79,-79,-79,-79,-79,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,463,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,464,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,121,-32,-32,-32,-32,-32,120,90,91,-32,-32,-32,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,465,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,466,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,121,-35,-35,-35,-35,-35,120,90,91,-35,-35,-35,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,467,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,468,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,121,-38,-38,-38,-38,-38,120,90,91,-38,-38,-38,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,469,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,470,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,121,-41,-41,-41,-41,-41,120,90,91,-41,-41,-41,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,471,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,472,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,105,1,1,473,84,85,17,6,26,3,4,1,7,2,33,1,1,1,1,23,1,1,10,4,-126,150,-126,-126,-126,153,98,151,155,-126,154,149,474,148,152,93,-126,2,6,33,475,476,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,477,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,6,6,29,4,1,28,36,-134,-134,-134,-134,-134,-134,28,6,29,4,1,28,16,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,57,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,7,1,3,2,1,3,1,1,5,2,5,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,2,6,34,101,478,9,6,29,4,1,28,16,20,4,17,-125,-125,-125,-125,332,-125,479,333,-125,1,40,480,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,120,-395,-395,-395,-395,-395,-395,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,481,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,482,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,121,-45,-45,-45,-45,-45,120,90,91,-45,-45,-45,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,483,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,484,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,7,4,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,485,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,2,36,3,486,158,6,32,4,3,8,2,72,487,489,158,488,98,93,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,490,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,491,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,492,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,124,493,1,170,494,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,495,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,10,32,15,2,33,1,2,25,1,10,51,150,153,98,151,155,154,193,152,93,496,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,497,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,174,2,1,498,362,363,4,40,135,1,1,499,500,501,363,3,40,135,2,-350,-350,-350,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,9,1,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,503,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,502,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,43,1,5,29,1,3,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,504,158,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,120,-199,-199,-199,-199,-199,-199,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,505,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,40,506,1,40,507,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,120,-52,-52,-52,-52,-52,-52,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,18,6,26,2,1,4,1,7,2,19,14,1,2,1,18,5,1,1,10,-127,150,508,-127,-127,-127,153,98,-127,151,155,154,149,-127,147,148,152,93,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,1,40,509,3,54,1,1,510,99,100,3,121,12,5,512,511,214,3,54,1,1,513,99,100,1,48,514,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,516,-125,515,-125,5,6,33,1,28,57,-212,-212,-212,-212,-212,6,32,7,10,85,1,2,380,379,98,517,378,381,6,6,33,1,28,57,11,-217,-217,-217,-217,-217,518,6,6,33,1,28,57,11,-219,-219,-219,-219,-219,519,2,32,17,520,98,14,1,5,29,4,1,8,13,7,16,78,2,1,17,1,-223,-223,-223,-223,-223,521,-223,-223,-223,-223,-223,-223,-223,-223,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,523,-125,522,-125,5,6,33,1,28,57,-235,-235,-235,-235,-235,6,32,7,10,88,3,2,387,386,98,388,524,385,6,6,33,1,28,57,11,-240,-240,-240,-240,-240,525,6,6,33,1,28,57,11,-243,-243,-243,-243,-243,526,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,528,527,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,529,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,121,-230,120,90,91,-230,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,47,74,530,93,3,54,1,1,531,99,100,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,2,6,34,101,532,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,533,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,56,6,5,20,8,1,3,3,3,4,2,1,7,1,4,2,1,1,1,1,1,8,1,1,1,5,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,402,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,5,6,33,1,28,16,-282,-282,-282,-282,-282,2,39,45,535,534,110,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,3,4,2,8,7,1,5,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-126,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-126,30,-126,-126,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,-126,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,-126,58,64,65,80,537,231,536,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,4,6,33,1,44,538,-283,-283,-283,56,6,5,20,8,1,3,3,3,4,2,1,7,1,4,2,1,1,1,1,1,8,1,1,1,5,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,9,6,29,4,1,28,16,24,17,24,-125,-125,-125,-125,400,-125,401,-125,539,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,6,2,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,398,397,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,28,6,29,4,1,28,16,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-140,-140,-140,-140,-140,-140,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,540,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,541,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,543,-125,542,-125,5,6,29,4,1,28,-267,-267,-267,-267,-267,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,6,1,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,412,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,544,80,411,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,5,7,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,5,7,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,545,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,546,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,547,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,548,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,549,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,6,33,86,551,552,550,23,6,26,3,4,1,9,1,1,1,1,1,1,1,21,1,1,2,1,1,1,1,1,39,-126,257,-126,-126,-126,98,258,241,255,94,95,99,100,553,554,260,252,259,253,-126,254,261,-126,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,555,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,556,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,23,84,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,557,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,558,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,16,6,27,6,1,15,1,12,24,3,1,1,1,1,2,24,19,-95,-97,-95,-95,-250,-250,-95,559,-97,-97,-97,-97,-97,-97,-95,134,16,6,27,6,1,15,1,12,24,3,1,1,1,1,2,24,19,-96,-250,-96,-96,-250,-250,-96,560,561,562,563,564,565,566,-96,134,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,7,33,22,1,36,3,4,45,-250,-250,-250,567,236,237,134,2,33,60,238,568,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,56,1,5,27,2,4,1,15,1,2,2,1,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,55,1,2,2,-62,-62,-62,-62,2,6,55,101,569,99,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,570,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,4,55,1,2,2,-65,-65,-65,-65,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,571,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,572,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,573,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,574,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,124,575,1,170,576,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,577,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,96,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,6,2,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,578,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,-264,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,-264,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,26,40,46,36,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,579,306,121,447,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,40,580,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,24,40,60,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,581,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,26,86,14,22,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,306,582,121,447,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,98,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,2,1,2,1,1,1,1,1,1,7,2,8,7,4,1,5,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,583,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,306,32,37,36,78,79,63,165,166,84,85,66,49,584,33,35,38,82,83,93,56,58,64,65,80,303,305,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,100,585,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,586,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,587,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,588,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,589,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,590,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,120,-80,-80,-80,-80,-80,-80,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,591,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,121,-33,-33,-33,-33,-33,120,90,91,-33,-33,-33,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,592,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,121,-36,-36,-36,-36,-36,120,90,91,-36,-36,-36,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,593,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,121,-39,-39,-39,-39,-39,120,90,91,-39,-39,-39,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,594,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,121,-42,-42,-42,-42,-42,120,90,91,-42,-42,-42,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,595,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,100,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,597,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,596,30,158,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,6,6,29,4,1,28,36,-129,-129,-129,-129,-129,-129,11,32,15,2,33,1,2,1,23,1,1,10,150,153,98,151,155,154,149,598,148,152,93,18,6,26,2,1,4,1,7,2,19,14,1,2,1,18,5,1,1,10,-127,150,599,-127,-127,-127,153,98,-127,151,155,154,149,-127,147,148,152,93,28,6,29,4,1,28,36,18,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-133,-133,-133,-133,-133,-133,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,57,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,7,1,3,2,1,3,1,1,5,2,5,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,3,105,1,1,600,84,85,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,601,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,120,-397,-397,-397,-397,-397,-397,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,602,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,36,3,603,158,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,2,36,3,604,158,2,36,3,605,158,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,7,4,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,26,36,3,83,4,37,1,1,4,13,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,606,158,121,607,120,90,91,608,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,609,158,121,610,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,611,158,121,612,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,613,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,614,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,615,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,3,124,44,2,-345,-345,-345,26,68,54,2,39,1,1,3,2,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-343,121,-343,120,90,91,-343,-343,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,4,40,135,1,1,616,617,501,363,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,2,36,3,618,158,3,40,135,2,-351,-351,-351,3,36,3,29,619,158,620,24,39,29,54,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,43,1,5,29,1,3,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,-203,621,158,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,120,-203,-203,-203,-203,-203,-203,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,8,6,29,4,1,28,16,24,17,-125,622,-125,-125,332,-125,333,-125,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,1,48,623,6,32,7,10,85,1,2,380,379,98,624,378,381,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,3,54,1,1,625,99,100,3,6,33,86,627,628,626,10,6,26,3,4,1,9,35,41,10,2,-126,380,-126,-126,-126,98,-126,-126,629,381,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,516,-125,630,-125,2,32,17,631,98,2,32,17,632,98,1,48,-222,3,54,1,1,633,99,100,3,6,33,86,635,636,634,10,6,26,3,4,1,9,35,41,12,5,-126,387,-126,-126,-126,98,-126,-126,388,637,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,523,-125,638,-125,3,32,17,88,639,98,640,2,32,17,641,98,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,121,-227,120,-227,-227,-227,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,642,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,643,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,40,644,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,1,162,645,23,84,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,646,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,1,4,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,229,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,404,647,231,228,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,5,6,33,1,28,16,-277,-277,-277,-277,-277,105,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,1,3,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,6,2,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,-284,-284,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,-284,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,398,397,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,104,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,5,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,404,231,648,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,2,39,1,535,649,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,650,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,3,6,29,4,652,651,653,106,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,3,4,2,8,7,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-126,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-126,30,-126,-126,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,-126,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,-126,58,64,65,80,654,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,543,-125,655,-125,2,36,3,656,158,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,120,-303,-303,-303,-303,-303,-303,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,120,-305,-305,-305,-305,-305,-305,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,27,6,33,1,28,54,3,38,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,657,-84,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,658,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,17,32,17,1,1,1,1,1,1,1,21,1,1,2,1,1,2,1,257,98,258,241,255,94,95,99,100,659,554,260,252,259,253,254,261,23,6,26,7,1,9,1,1,1,1,1,1,1,12,9,1,1,2,1,1,2,1,39,3,-192,257,-192,-192,98,258,241,255,94,95,99,100,-192,256,554,260,252,259,253,254,261,-192,660,5,6,33,1,28,57,-194,-194,-194,-194,-194,6,6,33,1,28,12,45,-82,-82,-82,-82,661,-82,27,6,33,1,28,54,3,38,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,121,-86,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,662,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,6,6,33,1,28,12,45,-92,-92,-92,-92,-92,-92,23,84,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,663,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,33,60,238,664,2,33,60,238,665,2,50,1,666,241,2,50,1,667,241,15,6,27,6,1,10,1,17,27,1,1,1,1,2,24,19,-110,-110,-110,-110,668,241,-110,-110,-110,-110,-110,-110,-110,-110,-110,15,6,27,6,1,10,1,17,27,1,1,1,1,2,24,19,-111,-111,-111,-111,669,241,-111,-111,-111,-111,-111,-111,-111,-111,-111,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,670,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,671,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,99,672,2,33,60,238,673,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,4,55,1,2,2,-63,-63,-63,-63,2,6,34,101,674,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,120,-394,-394,-394,-394,-394,-394,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,675,-327,-327,120,-327,-327,-327,676,-327,-327,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,677,-332,-332,120,-332,-332,-332,-332,-332,-332,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,678,-336,-336,120,-336,-336,-336,-336,-336,-336,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,679,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,680,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,120,-341,-341,-341,-341,-341,-341,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,40,60,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,100,681,1,100,682,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-69,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,26,40,46,36,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,683,306,121,447,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,40,684,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,685,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,100,686,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,687,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,9,1,5,29,4,1,21,7,16,78,-121,-121,-121,-121,-121,-121,-121,-121,-121,6,6,29,4,1,28,36,-130,-130,-130,-130,-130,-130,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,332,-125,688,-125,2,36,3,596,158,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,5,7,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,7,4,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,7,4,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,689,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,690,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,691,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,692,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,693,158,121,694,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,695,158,121,696,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,2,36,3,697,158,1,40,698,4,6,34,135,2,699,-352,-352,-352,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,700,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,2,36,3,701,158,3,54,1,1,702,99,100,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,516,-125,703,-125,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,1,48,704,4,32,17,86,2,380,98,705,381,6,32,7,10,85,1,2,380,379,98,706,378,381,5,6,33,1,28,57,-213,-213,-213,-213,-213,3,6,33,1,627,628,707,5,6,33,1,28,57,-218,-218,-218,-218,-218,5,6,33,1,28,57,-220,-220,-220,-220,-220,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,14,1,5,29,4,1,8,13,7,16,78,2,1,17,1,-224,-224,-224,-224,-224,708,-224,-224,-224,-224,-224,-224,-224,-224,4,32,17,88,5,387,98,388,709,6,32,7,10,88,3,2,387,386,98,388,710,385,5,6,33,1,28,57,-236,-236,-236,-236,-236,3,6,33,1,635,636,711,5,6,33,1,28,57,-241,-241,-241,-241,-241,5,6,33,1,28,57,-242,-242,-242,-242,-242,5,6,33,1,28,57,-244,-244,-244,-244,-244,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,121,-228,120,-228,-228,-228,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,712,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,9,6,29,4,1,28,16,24,17,24,-125,-125,-125,-125,400,-125,401,-125,713,5,6,33,1,28,16,-278,-278,-278,-278,-278,5,6,33,1,28,16,-279,-279,-279,-279,-279,1,100,714,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,100,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,715,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,6,1,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,412,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,716,80,411,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,5,6,29,4,1,28,-268,-268,-268,-268,-268,3,6,33,1,652,653,717,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,14,32,15,2,33,1,2,25,1,5,5,2,4,44,1,150,153,98,151,77,154,193,152,289,93,718,719,288,192,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,720,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,5,6,33,1,28,57,-195,-195,-195,-195,-195,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,421,-125,721,-125,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,722,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,549,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,723,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,6,6,33,1,28,12,45,-93,-93,-93,-93,-93,-93,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,724,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,725,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,726,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,727,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,1,61,728,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,729,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,730,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,731,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,732,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,733,-334,-334,120,-334,-334,-334,-334,-334,-334,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,734,-338,-338,120,-338,-338,-338,-338,-338,-338,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,1,100,735,1,100,736,1,100,737,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,1,100,738,3,6,33,1,475,476,739,25,36,3,83,41,1,1,4,13,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,740,158,121,120,90,91,741,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,742,158,121,743,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,744,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,745,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,746,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,747,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,40,748,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,3,40,135,2,-353,-353,-353,24,39,29,54,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,3,6,33,86,627,628,749,3,54,1,1,750,99,100,5,6,33,1,28,57,-214,-214,-214,-214,-214,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,516,-125,751,-125,5,6,33,1,28,57,-215,-215,-215,-215,-215,3,54,1,1,752,99,100,5,6,33,1,28,57,-237,-237,-237,-237,-237,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,523,-125,753,-125,5,6,33,1,28,57,-238,-238,-238,-238,-238,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,39,1,535,754,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,5,6,29,4,1,28,-269,-269,-269,-269,-269,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,543,-125,755,-125,5,6,29,4,1,28,-270,-270,-270,-270,-270,3,124,44,2,756,440,442,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,757,192,5,6,33,1,28,57,-85,-85,-85,-85,-85,3,6,33,1,551,552,758,27,6,33,1,28,54,3,38,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,121,-84,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,5,6,33,1,28,57,-87,-87,-87,-87,-87,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,759,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,760,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,761,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,4,55,1,2,2,-64,-64,-64,-64,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,120,-328,-328,-328,762,-328,-328,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,763,-329,-329,120,-329,-329,-329,-329,-329,-329,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,120,-333,-333,-333,-333,-333,-333,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,120,-337,-337,-337,-337,-337,-337,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,764,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,765,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,6,6,29,4,1,28,36,-131,-131,-131,-131,-131,-131,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,766,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,767,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,768,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,769,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,1,48,770,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,3,6,33,1,627,628,771,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,3,6,33,1,635,636,772,5,6,33,1,28,16,-280,-280,-280,-280,-280,3,6,33,1,652,653,773,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,774,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,124,775,5,6,33,1,28,57,-196,-196,-196,-196,-196,1,100,776,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,777,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,778,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,779,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,120,-335,-335,-335,-335,-335,-335,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,120,-339,-339,-339,-339,-339,-339,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,780,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,781,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,3,54,1,1,782,99,100,5,6,33,1,28,57,-216,-216,-216,-216,-216,5,6,33,1,28,57,-239,-239,-239,-239,-239,5,6,29,4,1,28,-271,-271,-271,-271,-271,43,1,5,29,4,1,21,7,12,4,2,14,4,4,14,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,785,-332,-332,-332,-332,-332,783,-332,-332,-332,784,-332,-332,120,-332,-332,-332,-332,-332,-332,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,786,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,1,100,787,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,120,-330,-330,-330,-330,-330,-330,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,120,-331,-331,-331,-331,-331,-331,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,1,125,788,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,789,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,6,6,29,4,1,44,41,-126,-126,-126,-126,-126,-126,43,1,5,29,4,1,21,7,12,4,2,14,4,4,14,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,785,-334,-334,-334,-334,-334,790,-334,-334,-334,791,-334,-334,120,-334,-334,-334,-334,-334,-334,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,43,1,5,29,4,1,21,7,12,4,2,14,4,4,14,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,785,-333,-333,-333,-333,-333,792,-333,-333,-333,-333,-333,-333,120,-333,-333,-333,-333,-333,-333,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,125,793,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,794,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,125,795,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,43,1,5,29,4,1,21,7,12,4,2,14,4,4,14,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,785,-335,-335,-335,-335,-335,796,-335,-335,-335,-335,-335,-335,120,-335,-335,-335,-335,-335,-335,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,1,125,797,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190],_=[],E=0,$,A,R,X;while(E<U.length){$=U[E++],A={},R=0,X=[];while($--)R+=U[E++],X.push(R);for(R of X)A[R]=U[E++];_.push(A)}return _})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,30,6,30,3,18,3,18,4,18,5,19,3,19,4,19,5,20,3,20,4,20,5,21,3,21,4,21,5,21,2,21,3,21,4,8,1,8,1,29,1,29,2,29,4,29,3,36,2,36,3,32,1,50,1,52,1,52,1,54,1,54,3,57,1,57,2,59,3,59,5,59,2,59,1,62,1,62,3,67,3,67,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,17,3,17,4,17,5,77,1,77,1,77,3,77,5,77,3,77,5,81,1,81,1,81,1,78,1,78,3,78,4,78,1,79,2,79,2,87,1,87,1,87,1,87,1,87,1,87,3,87,2,87,3,87,3,87,3,87,3,87,3,87,3,87,2,87,2,87,4,87,6,87,5,87,7,10,2,10,4,10,1,15,5,15,2,44,5,44,2,105,1,105,1,108,0,108,1,34,0,34,1,34,3,34,4,34,6,109,1,109,3,109,2,109,1,110,1,110,1,110,1,110,1,112,2,113,1,113,1,113,3,113,3,113,3,113,3,113,2,113,2,113,4,113,6,113,4,113,6,113,4,113,5,113,7,113,5,113,7,113,5,113,7,113,3,113,3,113,3,113,3,113,2,113,2,113,4,113,6,113,5,113,7,37,1,37,1,37,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,89,3,89,4,89,6,118,3,118,3,47,10,47,12,47,11,47,13,47,4,128,0,128,1,128,3,128,4,128,6,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,12,2,12,4,12,4,12,5,12,7,12,6,12,9,134,1,134,3,134,4,134,4,134,6,135,1,135,3,135,1,135,3,132,1,133,3,13,3,13,5,13,2,13,2,13,4,13,5,13,6,13,3,13,5,13,4,13,5,13,7,140,1,140,3,140,4,140,4,140,6,142,1,142,3,142,3,142,1,142,3,65,3,65,3,65,3,65,2,65,2,92,0,92,1,93,2,93,4,90,1,90,1,82,2,111,2,111,3,111,4,150,1,150,1,116,5,114,3,114,2,114,2,114,1,145,1,145,3,145,4,145,4,145,6,152,1,152,1,152,1,152,1,148,1,148,3,148,4,148,4,148,6,153,1,153,2,149,1,149,2,147,1,147,2,154,1,154,2,155,1,155,3,23,2,23,3,23,4,23,5,157,3,157,3,157,2,28,2,28,4,88,3,88,5,163,2,163,4,163,2,163,4,24,2,24,2,24,2,24,1,166,2,166,2,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,3,25,5,172,1,172,3,123,1,123,3,26,5,26,7,26,4,26,6,174,1,174,2,176,3,176,4,178,3,178,5,180,3,180,5,22,1,22,3,22,1,22,3,22,3,22,3,22,3,45,2,45,2,45,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,117,2],ruleActions:(U,_,E,$)=>{let A=_,R=_.length-1;switch(U){case 1:return["program"];case 2:return["program",...A[R]];case 3:case 61:case 128:case 193:case 212:case 235:case 267:case 281:case 285:case 344:case 350:return[A[R]];case 4:case 129:case 194:case 213:case 236:case 268:return[...A[R-2],A[R]];case 5:case 63:case 288:return A[R-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 47:case 48:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 71:case 72:case 73:case 76:case 77:case 78:case 83:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 99:case 100:case 101:case 123:case 124:case 125:case 126:case 132:case 136:case 137:case 138:case 139:case 141:case 142:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 178:case 179:case 180:case 181:case 217:case 219:case 221:case 240:case 243:case 272:case 273:case 274:case 276:case 289:case 309:case 342:case 358:case 360:return A[R];case 30:return["def",A[R-4],A[R-2],A[R]];case 31:return["def",A[R-1],[],A[R]];case 32:return["state",A[R-2],A[R]];case 33:return["state",A[R-3],A[R]];case 34:return["state",A[R-4],A[R-1]];case 35:return["computed",A[R-2],A[R]];case 36:return["computed",A[R-3],A[R]];case 37:return["computed",A[R-4],A[R-1]];case 38:return["readonly",A[R-2],A[R]];case 39:return["readonly",A[R-3],A[R]];case 40:return["readonly",A[R-4],A[R-1]];case 41:return["effect",A[R-2],A[R]];case 42:return["effect",A[R-3],A[R]];case 43:return["effect",A[R-4],A[R-1]];case 44:case 45:return["effect",null,A[R]];case 46:return["effect",null,A[R-1]];case 49:return["yield"];case 50:return["yield",A[R]];case 51:return["yield",A[R-1]];case 52:return["yield-from",A[R]];case 53:return["block"];case 54:return["block",...A[R-1]];case 60:return["str",...A[R-1]];case 62:case 282:case 286:case 351:return[...A[R-1],A[R]];case 64:case 215:case 238:case 253:case 270:return A[R-2];case 65:return"";case 68:return["regex",A[R-1]];case 69:return["regex-index",A[R-2],A[R]];case 70:return["regex-index",A[R],null];case 74:return"undefined";case 75:return"null";case 79:return["=",A[R-2],A[R]];case 80:return["=",A[R-3],A[R]];case 81:return["=",A[R-4],A[R-1]];case 82:return[A[R],A[R],null];case 84:return[A[R-2],A[R],":"];case 85:return[A[R-4],A[R-1],":"];case 86:return[A[R-2],A[R],"="];case 87:return[A[R-4],A[R-1],"="];case 92:return["dynamicKey",A[R-1]];case 93:return["[]","this",A[R-1]];case 95:case 96:case 140:return["...",A[R]];case 102:case 248:return["super",...A[R]];case 103:case 249:return["import",...A[R]];case 104:case 105:return[A[R-2],...A[R]];case 106:case 143:case 160:return[".",A[R-2],A[R]];case 107:case 144:case 161:return["?.",A[R-2],A[R]];case 108:case 145:case 162:return["::",A[R-2],A[R]];case 109:case 146:case 163:return["?::",A[R-2],A[R]];case 110:case 147:case 164:return["::",A[R-1],"prototype"];case 111:case 148:case 165:return["?::",A[R-1],"prototype"];case 112:case 149:case 151:case 166:return["[]",A[R-3],A[R-1]];case 113:case 150:case 152:case 167:return["[]",A[R-5],A[R-2]];case 114:case 154:case 156:case 168:return["?[]",A[R-4],A[R-1]];case 115:case 155:case 157:case 169:return["?[]",A[R-6],A[R-2]];case 116:return["return",A[R]];case 117:return["return",A[R-1]];case 118:return["return"];case 119:case 121:return[A[R-1],A[R-3],A[R]];case 120:case 122:return[A[R-1],[],A[R]];case 127:case 192:case 252:case 283:return[];case 130:case 195:case 214:case 237:case 269:return[...A[R-3],A[R]];case 131:case 196:case 216:case 239:case 271:return[...A[R-5],...A[R-2]];case 133:case 343:return["default",A[R-2],A[R]];case 134:return["rest",A[R]];case 135:return["expansion"];case 153:return[A[R-1][0],A[R-3],...A[R-1].slice(1)];case 158:return["optindex",A[R-4],A[R-1]];case 159:return["optindex",A[R-6],A[R-2]];case 182:return[".","super",A[R]];case 183:return["[]","super",A[R-1]];case 184:return["[]","super",A[R-2]];case 185:return[".","new",A[R]];case 186:return[".","import",A[R]];case 187:return["object-comprehension",A[R-8],A[R-6],[["for-of",A[R-4],A[R-2],!1]],[]];case 188:return["object-comprehension",A[R-10],A[R-8],[["for-of",A[R-6],A[R-4],!1]],[A[R-2]]];case 189:return["object-comprehension",A[R-9],A[R-7],[["for-of",A[R-4],A[R-2],!0]],[]];case 190:return["object-comprehension",A[R-11],A[R-9],[["for-of",A[R-6],A[R-4],!0]],[A[R-2]]];case 191:return["object",...A[R-2]];case 197:return["class",null,null];case 198:return["class",null,null,A[R]];case 199:return["class",null,A[R]];case 200:return["class",null,A[R-1],A[R]];case 201:return["class",A[R],null];case 202:return["class",A[R-1],null,A[R]];case 203:return["class",A[R-2],A[R]];case 204:return["class",A[R-3],A[R-1],A[R]];case 205:case 208:return["import","{}",A[R]];case 206:case 207:return["import",A[R-2],A[R]];case 209:return["import",A[R-4],A[R]];case 210:return["import",[A[R-4],A[R-2]],A[R]];case 211:return["import",[A[R-7],A[R-4]],A[R]];case 218:case 220:case 241:case 242:case 244:case 345:return[A[R-2],A[R]];case 222:return["*",A[R]];case 223:return["export","{}"];case 224:return["export",A[R-2]];case 225:case 226:return["export",A[R]];case 227:return["export",["=",A[R-2],A[R]]];case 228:return["export",["=",A[R-3],A[R]]];case 229:return["export",["=",A[R-4],A[R-1]]];case 230:return["export-default",A[R]];case 231:return["export-default",A[R-1]];case 232:return["export-all",A[R]];case 233:return["export-from","{}",A[R]];case 234:return["export-from",A[R-4],A[R]];case 245:return["tagged-template",A[R-2],A[R]];case 246:return A[R-1]?["?call",A[R-2],...A[R]]:[A[R-2],...A[R]];case 247:return["optcall",A[R-2],...A[R]];case 250:case 287:return null;case 251:return!0;case 254:case 255:return"this";case 256:return[".","this",A[R]];case 257:return["array"];case 258:return["array",...A[R-1]];case 259:return["array",...A[R-2],...A[R-1]];case 260:return"..";case 261:case 275:return"...";case 262:return[A[R-2],A[R-3],A[R-1]];case 263:case 382:case 384:case 385:case 393:case 395:return[A[R-1],A[R-2],A[R]];case 264:return[A[R],A[R-1],null];case 265:return[A[R-1],null,A[R]];case 266:return[A[R],null,null];case 277:return[...A[R-2],...A[R]];case 278:return[...A[R-3],...A[R]];case 279:return[...A[R-2],...A[R-1]];case 280:return[...A[R-5],...A[R-4],...A[R-2],...A[R-1]];case 284:return[...A[R]];case 290:return Array.isArray(A[R-2])?[...A[R-2],A[R]]:[A[R-2],A[R]];case 291:return["try",A[R]];case 292:return["try",A[R-1],A[R]];case 293:return["try",A[R-2],A[R]];case 294:return["try",A[R-3],A[R-2],A[R]];case 295:case 296:case 365:case 368:case 370:return[A[R-1],A[R]];case 297:return[null,A[R]];case 298:return["throw",A[R]];case 299:return["throw",A[R-1]];case 300:return A[R-1].length===1?A[R-1][0]:A[R-1];case 301:return A[R-2].length===1?A[R-2][0]:A[R-2];case 302:return["while",A[R]];case 303:return["while",A[R-2],A[R]];case 304:return["until",A[R]];case 305:return["until",A[R-2],A[R]];case 306:return A[R-1].length===2?[A[R-1][0],A[R-1][1],A[R]]:[A[R-1][0],A[R-1][1],A[R-1][2],A[R]];case 307:case 308:return A[R].length===2?[A[R][0],A[R][1],[A[R-1]]]:[A[R][0],A[R][1],A[R][2],[A[R-1]]];case 310:return["loop",A[R]];case 311:return["loop",[A[R]]];case 312:return["for-in",A[R-3],A[R-1],null,null,A[R]];case 313:return["for-in",A[R-5],A[R-3],null,A[R-1],A[R]];case 314:return["for-in",A[R-5],A[R-3],A[R-1],null,A[R]];case 315:return["for-in",A[R-7],A[R-5],A[R-1],A[R-3],A[R]];case 316:return["for-in",A[R-7],A[R-5],A[R-3],A[R-1],A[R]];case 317:return["for-of",A[R-3],A[R-1],!1,null,A[R]];case 318:return["for-of",A[R-5],A[R-3],!1,A[R-1],A[R]];case 319:return["for-of",A[R-3],A[R-1],!0,null,A[R]];case 320:return["for-of",A[R-5],A[R-3],!0,A[R-1],A[R]];case 321:return["for-from",A[R-3],A[R-1],!1,null,A[R]];case 322:return["for-from",A[R-5],A[R-3],!1,A[R-1],A[R]];case 323:return["for-from",A[R-3],A[R-1],!0,null,A[R]];case 324:return["for-from",A[R-5],A[R-3],!0,A[R-1],A[R]];case 325:return["for-in",[],A[R-1],null,null,A[R]];case 326:return["for-in",[],A[R-3],A[R-1],null,A[R]];case 327:return["comprehension",A[R-4],[["for-in",A[R-2],A[R],null]],[]];case 328:return["comprehension",A[R-6],[["for-in",A[R-4],A[R-2],null]],[A[R]]];case 329:return["comprehension",A[R-6],[["for-in",A[R-4],A[R-2],A[R]]],[]];case 330:return["comprehension",A[R-8],[["for-in",A[R-6],A[R-4],A[R]]],[A[R-2]]];case 331:return["comprehension",A[R-8],[["for-in",A[R-6],A[R-4],A[R-2]]],[A[R]]];case 332:return["comprehension",A[R-4],[["for-of",A[R-2],A[R],!1]],[]];case 333:return["comprehension",A[R-6],[["for-of",A[R-4],A[R-2],!1]],[A[R]]];case 334:return["comprehension",A[R-5],[["for-of",A[R-2],A[R],!0]],[]];case 335:return["comprehension",A[R-7],[["for-of",A[R-4],A[R-2],!0]],[A[R]]];case 336:return["comprehension",A[R-4],[["for-from",A[R-2],A[R],!1,null]],[]];case 337:return["comprehension",A[R-6],[["for-from",A[R-4],A[R-2],!1,null]],[A[R]]];case 338:return["comprehension",A[R-5],[["for-from",A[R-2],A[R],!0,null]],[]];case 339:return["comprehension",A[R-7],[["for-from",A[R-4],A[R-2],!0,null]],[A[R]]];case 340:return["comprehension",A[R-2],[["for-in",[],A[R],null]],[]];case 341:return["comprehension",A[R-4],[["for-in",[],A[R-2],A[R]]],[]];case 346:return["switch",A[R-3],A[R-1],null];case 347:return["switch",A[R-5],A[R-3],A[R-1]];case 348:return["switch",null,A[R-1],null];case 349:return["switch",null,A[R-3],A[R-1]];case 352:return["when",A[R-1],A[R]];case 353:return["when",A[R-2],A[R-1]];case 354:return["if",A[R-1],A[R]];case 355:return A[R-4].length===3?["if",A[R-4][1],A[R-4][2],["if",A[R-1],A[R]]]:[...A[R-4],["if",A[R-1],A[R]]];case 356:return["unless",A[R-1],A[R]];case 357:return["if",["!",A[R-3]],A[R-2],A[R]];case 359:return A[R-2].length===3?["if",A[R-2][1],A[R-2][2],A[R]]:[...A[R-2],A[R]];case 361:case 362:return["if",A[R],[A[R-2]]];case 363:case 364:return["unless",A[R],[A[R-2]]];case 366:case 367:case 369:case 398:return["do-iife",A[R]];case 371:return["-",A[R]];case 372:return["+",A[R]];case 373:return["await",A[R]];case 374:return["await",A[R-1]];case 375:return["--",A[R],!1];case 376:return["++",A[R],!1];case 377:return["--",A[R-1],!0];case 378:return["++",A[R-1],!0];case 379:return["?",A[R-1]];case 380:return["+",A[R-2],A[R]];case 381:return["-",A[R-2],A[R]];case 383:return["**",A[R-2],A[R]];case 386:return["&",A[R-2],A[R]];case 387:return["^",A[R-2],A[R]];case 388:return["|",A[R-2],A[R]];case 389:return["&&",A[R-2],A[R]];case 390:return["||",A[R-2],A[R]];case 391:return["??",A[R-2],A[R]];case 392:return["!?",A[R-2],A[R]];case 394:return["?:",A[R-4],A[R-2],A[R]];case 396:return[A[R-3],A[R-4],A[R-1]];case 397:return[A[R-2],A[R-3],A[R]]}},parseError(U,_){let E,$,A,R,X,Y,M;if(_.recoverable)return this.trace(U);else throw A=(_.line||0)+1,E=_.loc?.first_column||0,M=_.token?` (token: ${_.token})`:"",Y=_.text?` near '${_.text}'`:"",R=`line ${A}, column ${E}`,X=`Parse error at ${R}${M}${Y}: ${U}`,$=Error(X),$.hash=_,$},parse(U){let _,E,$,A,R,X,Y,M,F,G,D,J,Q,Z,O,K,H,W,q,N,z,S,L,I,T,j,w,P;[z,L,F]=[[0],[null],[]],[Z,w,T,I,W]=[this.parseTable,"",0,0,0],[E,_]=[2,1],M=Object.create(this.lexer),q={yy:{}};for(let V in this.yy)if(Object.hasOwn(this.yy,V)){let v=this.yy[V];q.yy[V]=v}if(M.setInput(U,q.yy),[q.yy.lexer,q.yy.parser]=[M,this],M.yylloc==null)M.yylloc={};j=M.yylloc,F.push(j),H=M.options?.ranges,this.parseError=typeof q.yy.parseError==="function"?q.yy.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let V;if(V=M.lex()||_,typeof V!=="number")V=this.symbolIds[V]||V;return V},[S,O,N,$,K,P,Q,X,J,R]=[null,null,null,null,null,{},null,null,null,null];while(!0){if(N=z[z.length-1],S==null)S=Y();if($=Z[N]!=null?Z[N][S]:void 0,$==null){if(A="",!W)R=(()=>{let V=[];for(let v in Z[N]){if(!Object.hasOwn(Z[N],v))continue;if(this.tokenNames[v]&&v>E)V.push(`'${this.tokenNames[v]}'`)}return V})();throw A=(()=>{if(M.showPosition)return`Parse error on line ${T+1}:
|
|
20
|
-
${
|
|
21
|
-
Expecting ${
|
|
22
|
-
`)>=0){let E=_.match(/\/([gimsuvy]*)$/)
|
|
23
|
-
`).map((Y)=>Y.replace(/#.*$/,"").trim()).join("")}/${
|
|
24
|
-
`)}let
|
|
25
|
-
`))return" ".repeat(_)+
|
|
26
|
-
`))
|
|
27
|
-
`).map((
|
|
28
|
-
`)}else X
|
|
29
|
-
`)){Y[Y.length-1]+=" "+J;continue}}Y.push(
|
|
30
|
-
`)}class c{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_REGEX=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_REGEX=/^-?\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","::":"generatePrototype","?::":"generateOptionalPrototype","[]":"generateIndexAccess","?[]":"generateSoakIndex",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-from":"generateForFrom",while:"generateWhile",until:"generateUntil",try:"generateTry",throw:"generateThrow",switch:"generateSwitch",when:"generateWhen",comprehension:"generateComprehension","object-comprehension":"generateObjectComprehension",class:"generateClass",super:"generateSuper","?call":"generateSoakCall",import:"generateImport",export:"generateExport","export-default":"generateExportDefault","export-all":"generateExportAll","export-from":"generateExportFrom","do-iife":"generateDoIIFE",regex:"generateRegex","tagged-template":"generateTaggedTemplate",str:"generateString"};constructor(U={}){if(this.options=U,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=U.dataSection,U.reactiveVars)this.reactiveVars=new Set(U.reactiveVars)}compile(U){return this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.collectProgramVariables(U),this.generate(U)}collectProgramVariables(U){if(!Array.isArray(U))return;let[_,...E]=U
|
|
31
|
-
`))return`\`${
|
|
32
|
-
`),
|
|
33
|
-
`),
|
|
34
|
-
`;
|
|
35
|
-
`,
|
|
36
|
-
`,
|
|
37
|
-
`,
|
|
38
|
-
`,
|
|
39
|
-
`,
|
|
40
|
-
`,
|
|
41
|
-
`,
|
|
42
|
-
`,
|
|
43
|
-
`,
|
|
44
|
-
`,
|
|
45
|
-
`,
|
|
46
|
-
`,
|
|
47
|
-
`,
|
|
48
|
-
`,
|
|
49
|
-
`,
|
|
50
|
-
`,
|
|
51
|
-
`,
|
|
52
|
-
`,
|
|
53
|
-
`,
|
|
54
|
-
`;if(
|
|
55
|
-
|
|
56
|
-
`);if(this.dataSection!==null&&this.dataSection!==void 0)
|
|
1
|
+
var j1,R2,c2,F1,O1,A2,_2,l2,E2,V1,b1,n,y1,k,m,U2,$2,X2,Y2,F2,G2,M2,D2,u1,Z2,g1,v1,x1,J2,k1,K1,Q2,H1,Y1,W2,O2,K2,H2,N2,q2,z2,S2,P2,L2,T2,B2,I2,N1,c1,l1,s,w2,j2,V2,C1,p1,y2,u2,v2,C2,f2,f1,h2,G1,b2,h1,a,x,g2,W1,E1,I1,o1,U1,w1,B=[].indexOf,r=[].slice,p2={}.hasOwnProperty,x2=function(U,_){var E="";while(_>0){if(_&1)E+=U;_>>>=1,U+=U}return E},m2=function(U,_){var E=0,X=0;if(!_.length)return 1/0;while(X=1+U.indexOf(_,X))E++;return E},t1=function(U,_){for(var E in _)U[E]=_[E];return U},s2=function(U,_){return t1(t1({},U),_)},i2=function(U){return U.flat(1/0)},d2=function(U){var _={},E,X=[];for(var R=0;R<U.length;R++){var A=U[R];if(A.comments)for(var $=0;$<A.comments.length;$++){var Y=A.comments[$],F=Y.locationData.range[0];_[F]=Y}}E=Object.keys(_).sort((M,D)=>M-D);for(var G=0;G<E.length;G++)X.push(_[E[G]]);return X},e1=function(U,_){if(!U||U.length===0)return;if(!_.comments)_.comments=[];_.comments.push(...U)},r2=function(U){if(U==null)return NaN;var _=null;switch(U.charAt(1)){case"b":_=2;break;case"o":_=8;break;case"x":_=16;break}if(_!=null)return parseInt(U.slice(2).replace(/_/g,""),_);else return parseFloat(U.replace(/_/g,""))},n2=function(){if(!(this.code&&this.location))return Error.prototype.toString.call(this);var{first_line:U,first_column:_,last_line:E,last_column:X}=this.location;if(E==null)E=U;if(X==null)X=_;var R=this.filename||"[stdin]";if(R.startsWith("<anonymous"))R="[stdin]";var A=this.code.split(`
|
|
2
|
+
`)[U],$=_,Y=U===E?X+1:A.length,F=A.slice(0,$).replace(/[^\s]/g," ")+x2("^",Y-$),G=typeof process<"u"&&process!==null&&process.stdout?.isTTY&&!process.env?.NODE_DISABLE_COLORS;if(this.colorful!=null?this.colorful:G){var M=(D)=>`\x1B[1;31m${D}\x1B[0m`;A=A.slice(0,$)+M(A.slice($,Y))+A.slice(Y),F=M(F)}return`${R}:${U+1}:${_+1}: error: ${this.message}
|
|
3
|
+
${A}
|
|
4
|
+
${F}`},a2=function(U,_){var E=SyntaxError(U);throw E.location=_,E.toString=n2,E.stack=E.toString(),E},o2=/(\\\\)|\\u\{([\da-fA-F]+)\}/g,t2=function(U){var _=function(R){var A=R.toString(16);return`\\u${x2("0",4-A.length)}${A}`};if(U<65536)return _(U);var E=Math.floor((U-65536)/1024)+55296,X=(U-65536)%1024+56320;return`${_(E)}${_(X)}`},e2=function(U,{flags:_,error:E,delimiter:X=""}={}){var R=_!=null&&B.call(_,"u")<0;return U.replace(o2,function(A,$,Y,F){if($)return $;var G=parseInt(Y,16);if(G>1114111)E("unicode code point escapes greater than \\u{10ffff} are not allowed",{offset:F+X.length,length:Y.length+4});if(!R)return A;return t2(G)})},m1=class U{constructor(){this.error=this.error.bind(this)}tokenize(_,E={}){var X,R,A,$;this.indent=0,this.baseIndent=0,this.overIndent=0,this.outdebt=0,this.indents=[],this.indentLiteral="",this.ends=[],this.tokens=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.chunkLine=E.line||0,this.chunkColumn=E.column||0,this.chunkOffset=E.offset||0,this.locTweaks=E.locTweaks||{},_=this.clean(_),A=0;while(this.chunk=_.slice(A))if(X=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken(),[this.chunkLine,this.chunkColumn,this.chunkOffset]=this.getLineAndColumnFromChunk(X),A+=X,E.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:A};if(this.closeIndentation(),R=this.ends.pop())this.error(`missing ${R.tag}`,(($=R.origin)!=null?$:R)[2]);if(E.rewrite===!1)return this.tokens;return new w2().rewrite(this.tokens)}clean(_){var E,X;if(X=0,_.charCodeAt(0)===R2)_=_.slice(1),this.locTweaks[0]=1,X+=1;if(h1.test(_)){if(_=`
|
|
5
|
+
${_}`,this.chunkLine--,(E=this.locTweaks)[0]==null)E[0]=0;this.locTweaks[0]-=1}return _.replace(/\r/g,(R,A)=>{return this.locTweaks[X+A]=1,""}).replace(f2,"")}identifierToken(){var _,E,X,R,A,$,Y,F,G,M,D,J,Q,Z,O,K,H,W,q,N,z,S,T,I,L,j,w,P,V,v;if(/^~[=>]/.test(this.chunk)||/^=!/.test(this.chunk))return 0;if(!(G=D2.exec(this.chunk)))return 0;if([F,$,X]=G,Y=$.length,M=void 0,$==="own"&&this.tag()==="FOR")return this.token("OWN",$),$.length;if($==="from"&&this.tag()==="YIELD")return this.token("FROM",$),$.length;if($==="as"&&this.seenImport){if(this.value()==="*")this.tokens[this.tokens.length-1][0]="IMPORT_ALL";else if(Q=this.value(!0),B.call(s,Q)>=0)D=this.prev(),[D[0],D[1]]=["IDENTIFIER",this.value(!0)];if((Z=this.tag())==="DEFAULT"||Z==="IMPORT_ALL"||Z==="IDENTIFIER")return this.token("AS",$),$.length}if($==="as"&&this.seenExport){if((W=this.tag())==="IDENTIFIER"||W==="DEFAULT")return this.token("AS",$),$.length;if(q=this.value(!0),B.call(s,q)>=0)return D=this.prev(),[D[0],D[1]]=["IDENTIFIER",this.value(!0)],this.token("AS",$),$.length}if($==="default"&&this.seenExport&&((N=this.tag())==="EXPORT"||N==="AS"))return this.token("DEFAULT",$),$.length;if($==="do"&&(j=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.token("SUPER","super"),this.token("CALL_START","("),this.token("CALL_END",")"),[F,w]=j,w.length+3;if(D=this.prev(),P=X||D!=null&&((z=D[0])==="."||z==="?."||z==="::"||z==="?::"||!D.spaced&&D[0]==="@")?"PROPERTY":"IDENTIFIER",v={},P==="IDENTIFIER"&&(B.call(H1,$)>=0||B.call(s,$)>=0)&&!(this.exportSpecifierList&&B.call(s,$)>=0)){if(P=$.toUpperCase(),P==="WHEN"&&(S=this.tag(),B.call(W2,S)>=0))P="LEADING_WHEN";else if(P==="FOR")this.seenFor={endsLength:this.ends.length};else if(P==="UNLESS");else if(P==="IMPORT")this.seenImport=!0;else if(P==="EXPORT")this.seenExport=!0;else if(B.call(f1,P)>=0)P="UNARY";else if(B.call(I2,P)>=0){if(P!=="INSTANCEOF"&&this.seenFor)P="FOR"+P,this.seenFor=!1;else if(P="RELATION",this.value()==="!")M=this.tokens.pop(),v.invert=(T=(I=M.data)!=null?I.original:void 0)!=null?T:M[1]}}else if(P==="IDENTIFIER"&&this.seenFor&&$==="from"&&g2(D))P="FORFROM",this.seenFor=!1;else if(P==="PROPERTY"&&D){if(D.spaced&&(L=D[0],B.call(F1,L)>=0)&&/^[gs]et$/.test(D[1])&&this.tokens.length>1&&((O=this.tokens[this.tokens.length-2][0])!=="."&&O!=="?."&&O!=="@"))this.error(`'${D[1]}' cannot be used as a keyword, or as a function call without parentheses`,D[2]);else if(D[0]==="."&&this.tokens.length>1&&(J=this.tokens[this.tokens.length-2])[0]==="UNARY"&&J[1]==="new")J[0]="NEW_TARGET";else if(D[0]==="."&&this.tokens.length>1&&(J=this.tokens[this.tokens.length-2])[0]==="IMPORT"&&J[1]==="import")this.seenImport=!1,J[0]="IMPORT_META";else if(this.tokens.length>2){if(J=this.tokens[this.tokens.length-2],((K=D[0])==="@"||K==="THIS")&&J&&J.spaced&&/^[gs]et$/.test(J[1])&&((H=this.tokens[this.tokens.length-3][0])!=="."&&H!=="?."&&H!=="@"))this.error(`'${J[1]}' cannot be used as a keyword, or as a function call without parentheses`,J[2])}}if(P==="IDENTIFIER"&&B.call(N1,$)>=0)this.error(`reserved word '${$}'`,{length:$.length});if(!(P==="PROPERTY"||this.exportSpecifierList||this.importSpecifierList)){if($==="is"&&this.chunk.slice(Y,Y+4)===" not"){if(_=this.chunk.slice(Y+4).trim(),!_.match(/^(false|true)\s+(is|isnt|==|!=)/))$="isnt",Y+=4}if(B.call(c1,$)>=0)E=$,$=l1[$],v.original=E;P=function(){switch($){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"break":case"continue":case"debugger":return"STATEMENT";case"&&":case"||":return $;default:return P}}()}let C=Y;if($.length>1&&$.endsWith("!"))v.await=!0,$=$.slice(0,-1);if(V=this.token(P,$,{length:C,data:v}),E)V.origin=[P,E,V[2]];if(M)[V[2].first_line,V[2].first_column,V[2].range[0]]=[M[2].first_line,M[2].first_column,M[2].range[0]];if(X)R=F.lastIndexOf(":"),A=this.token(":",":",{offset:R});if(X)return C+X.length;else return C}commentToken(_=this.chunk,{heregex:E,returnCommentTokens:X=!1,offsetInChunk:R=0}={}){var A,$,Y,F,G,M,D,J,Q,Z,O,K,H,W,q,N,z,S,T,I,L,j,w,P,V,v;if(!(T=_.match(_2)))return 0;if([Y,Q,J,Z,S]=T,G=null,H=/^\s*\n+\s*#/.test(Y),J){if(I=U2.exec(J),I)this.error(`block comments cannot contain ${I[0]}`,{offset:3+I.index,length:I[0].length});_=_.replace(`###${J}###`,""),_=_.replace(/^\n+/,""),this.lineToken({chunk:_}),F=J,G=[{content:F,length:Y.length-Q.length-Z.length,leadingWhitespace:Q}]}else q="",F=S.replace(/^(\n*)/,function(C){return q=C,""}),V="",D=!1,G=F.split(`
|
|
6
|
+
`).map(function(C,l){var f,t;if(!(C.indexOf("#")>-1)){V+=`
|
|
7
|
+
${C}`;return}return t="",F=C.replace(/^([ |\t]*)#/,function(g,D1){return t=D1,""}),f={content:F,length:1+F.length,leadingWhitespace:`${!D?q:""}${V}${t}`,precededByBlankLine:!!V},D=!0,V="",f}).filter(function(C){return C});if(M=function({leadingWhitespace:C,nonInitial:l}){var f=C.lastIndexOf(`
|
|
8
|
+
`);if(J!=null||!l){if(!(f>-1))return null}else if(f==null)f=-1;return C.length-1-f},$=function(){var C,l,f;f=[];for(O=C=0,l=G.length;C<l;O=++C){if({content:F,length:z,leadingWhitespace:N,precededByBlankLine:P}=G[O],j=O!==0,W=j?1:0,R+=W+N.length,K=M({leadingWhitespace:N,nonInitial:j}),L=K==null||K===-1,A={content:F,here:J!=null,newLine:H||j,locationData:this.makeLocationData({offsetInChunk:R,length:z}),precededByBlankLine:P,indentSize:K,indented:!L&&K>this.indent,outdented:!L&&K<this.indent},E)A.heregex=!0;R+=z,f.push(A)}return f}.call(this),v=this.prev(),!v)$[0].newLine=!0,this.lineToken({chunk:this.chunk.slice(Y.length),offset:Y.length}),w=this.makeToken("JS","",{offset:Y.length,generated:!0}),w.comments=$,this.tokens.push(w),this.newlineToken(Y.length);else e1($,v);if(X)return $;return Y.length}whitespaceToken(){var _,E,X;if(!((_=h1.exec(this.chunk))||(E=this.chunk.charAt(0)===`
|
|
9
|
+
`)))return 0;if(X=this.prev(),X)X[_?"spaced":"newLine"]=!0;if(_)return _[0].length;else return 0}lineToken({chunk:_=this.chunk,offset:E=0}={}){var X,R,A,$,Y,F,G,M,D,J,Q;if(!(Y=H2.exec(_)))return 0;if($=Y[0],D=this.prev(),X=(D!=null?D[0]:void 0)==="\\",!((X||((J=this.seenFor)!=null?J.endsLength:void 0)<this.ends.length)&&this.seenFor))this.seenFor=!1;if(!(X&&this.seenImport||this.importSpecifierList))this.seenImport=!1;if(!(X&&this.seenExport||this.exportSpecifierList))this.seenExport=!1;if(Q=$.length-1-$.lastIndexOf(`
|
|
10
|
+
`),M=this.unfinished(),G=Q>0?$.slice(-Q):"",!/^(.?)\1*$/.exec(G))return this.error("mixed indentation",{offset:$.length}),$.length;if(F=Math.min(G.length,this.indentLiteral.length),G.slice(0,F)!==this.indentLiteral.slice(0,F))return this.error("indentation mismatch",{offset:$.length}),$.length;if(Q-this.overIndent===this.indent){if(M)this.suppressNewlines();else this.newlineToken(E);return $.length}if(Q>this.indent){if(M){if(!X)this.overIndent=Q-this.indent;if(this.overIndent)D.continuationLineIndent=this.indent+this.overIndent;return this.suppressNewlines(),$.length}if(!this.tokens.length)return this.baseIndent=this.indent=Q,this.indentLiteral=G,$.length;R=Q-this.indent+this.outdebt,this.token("INDENT",R,{offset:E+$.length-Q,length:Q}),this.indents.push(R),this.ends.push({tag:"OUTDENT"}),this.outdebt=this.overIndent=0,this.indent=Q,this.indentLiteral=G}else if(Q<this.baseIndent)this.error("missing indentation",{offset:E+$.length});else A=this.overIndent>0,this.overIndent=0,this.outdentToken({moveOut:this.indent-Q,noNewlines:M,outdentLength:$.length,offset:E,indentSize:Q,endsContinuationLineIndentation:A});return $.length}getHeredocClosingColumn(_,E){let X=_-E,R=X-1;while(R>=0&&this.chunk[R]!==`
|
|
11
|
+
`)R--;R++;let A=this.chunk.slice(R,X);return/^\s*$/.test(A)?A.length:null}extractHeredocContent(_){let E=[];for(let X=0;X<_.length;X++)if(_[X][0]==="NEOSTRING")E.push(_[X][1]);return E.join("#{}")}findMinimumIndent(_){let E=null,X;while(X=X2.exec(_)){let R=X[1];if(E===null||0<R.length&&R.length<E.length)E=R}return E}selectHeredocIndent(_,E){if(_===null)return E;if(E===null)return" ".repeat(_);if(_<=E.length)return" ".repeat(_);return E}removeTrailingWhitespaceLine(_){if(_.length===0)return;let E=_[_.length-1];if(E[0]!=="NEOSTRING")return;let X=E[1].split(`
|
|
12
|
+
`),R=X[X.length-1];if(/^\s*$/.test(R))X.pop(),E[1]=X.join(`
|
|
13
|
+
`)}stringToken(){var _,E,X,R,A,$,Y,F,G,M,D,J,Q,Z;if([M]=C2.exec(this.chunk)||[],!M)return 0;if(G=this.prev(),G&&this.value()==="from"&&(this.seenImport||this.seenExport))G[0]="FROM";if(J=function(){switch(M){case"'":return v2;case'"':return y2;case"'''":return Y2;case'"""':return $2}}(),{tokens:Z,index:R}=this.matchWithInterpolations(J,M),A=M.length===3,A){let O=this.getHeredocClosingColumn(R,M.length);if(X=this.extractHeredocContent(Z),Y=this.findMinimumIndent(X),Y=this.selectHeredocIndent(O,Y),O!==null&&Y!==null&&O>Y.length)this.removeTrailingWhitespaceLine(Z)}return E=M.charAt(0),this.mergeInterpolationTokens(Z,{quote:M,indent:Y,endOffset:R},(O)=>{return this.validateUnicodeCodePointEscapes(O,{delimiter:M})}),R}numberToken(){var _,E,X,R,A,$;if(!(E=q2.exec(this.chunk)))return 0;switch(X=E[0],_=X.length,!1){case!/^0[BOX]/.test(X):this.error(`radix prefix in '${X}' must be lowercase`,{offset:1});break;case!/^0\d*[89]/.test(X):this.error(`decimal literal '${X}' must not be prefixed with '0'`,{length:_});break;case!/^0\d+/.test(X):this.error(`octal literal '${X}' must be prefixed with '0o'`,{length:_})}if(R=r2(X),$={parsedValue:R},A=R===1/0?"INFINITY":"NUMBER",A==="INFINITY")$.original=X;return this.token(A,X,{length:_,data:$}),_}regexToken(){var _,E,X,R,A,$,Y,F,G,M,D,J,Q,Z,O,K,H,W,q,N,z;switch(!1){case!(Z=T2.exec(this.chunk)):this.error(`regular expressions cannot begin with ${Z[2]}`,{offset:Z.index+Z[1].length});break;case!(Z=this.matchWithInterpolations(F2,"///")):({tokens:z,index:J}=Z),Y=[];while(O=G2.exec(this.chunk.slice(0,J)))({index:R}=O),[D,Q,X]=O,Y.push({comment:X,offsetInChunk:R+Q.length});$=i2(function(){var S,T,I;I=[];for(S=0,T=Y.length;S<T;S++)A=Y[S],I.push(this.commentToken(A.comment,Object.assign(A,{heregex:!0,returnCommentTokens:!0})));return I}.call(this));break;case!(Z=P2.exec(this.chunk)):if([N,_,E]=Z,this.validateEscapes(_,{isRegex:!0,offsetInChunk:1}),J=N.length,H=this.prev(),H){if(H.spaced&&(W=H[0],B.call(F1,W)>=0)){if(!E||S2.test(N))return 0}else if(q=H[0],B.call(N2,q)>=0)return 0}if(!E)this.error("missing / (unclosed regex)");break;default:return 0}switch([M]=L2.exec(this.chunk.slice(J)),G=J+M.length,K=this.makeToken("REGEX",null,{length:G}),!1){case!!b2.test(M):this.error(`invalid regular expression flags ${M}`,{offset:J,length:M.length});break;case!(N||z.length===1):if(F=_?"/":"///",_==null)_=z[0][1];this.validateUnicodeCodePointEscapes(_,{delimiter:F});let S={delimiter:F};if(F==="///")S.heregex={flags:M};this.token("REGEX",`/${_}/${M}`,{length:G,origin:K,data:S});break;default:if(this.token("REGEX_START","(",{length:0,origin:K,generated:!0}),this.token("IDENTIFIER","RegExp",{length:0,generated:!0}),this.token("CALL_START","(",{length:0,generated:!0}),this.mergeInterpolationTokens(z,{double:!0,heregex:{flags:M},endOffset:G-M.length,quote:"///"},(T)=>{return this.validateUnicodeCodePointEscapes(T,{delimiter:F})}),M)this.token(",",",",{offset:J-1,length:0,generated:!0}),this.token("STRING",'"'+M+'"',{offset:J,length:M.length});this.token(")",")",{offset:G,length:0,generated:!0}),this.token("REGEX_END",")",{offset:G,length:0,generated:!0})}if($!=null?$.length:void 0)a(this.tokens[this.tokens.length-1],{heregexCommentTokens:$});return G}jsToken(){var _,E,X,R;if(!(this.chunk.charAt(0)==="`"&&(E=(X=M2.exec(this.chunk))||Q2.exec(this.chunk))))return 0;return R=E[1],{length:_}=E[0],this.token("JS",R,{length:_,data:{here:!!X}}),_}literalToken(){var _,E,X,R,A,$,Y,F,G,M,D,J,Q,Z;if(_=z2.exec(this.chunk)){if([Z]=_,A2.test(Z))this.tagParameters()}else Z=this.chunk.charAt(0);if(J=Z,R=this.prev(),R&&B.call(["=",...V1],Z)>=0){if(D=!1,Z==="="&&((A=R[1])==="||"||A==="&&"||A==="??")&&!R.spaced){if(R[0]="COMPOUND_ASSIGN",R[1]+="=",($=R.data)!=null?$.original:void 0)R.data.original+="=";R[2].range=[R[2].range[0],R[2].range[1]+1],R[2].last_column+=1,R[2].last_column_exclusive+=1,R=this.tokens[this.tokens.length-2],D=!0}if(R&&R[0]!=="PROPERTY"){if(X=(Y=R.origin)!=null?Y:R,E=R3(R[1],X[1]),E)this.error(E,X[2])}if(D)return Z.length}if(Z==="("&&(R!=null?R[0]:void 0)==="IMPORT")R[0]="DYNAMIC_IMPORT";if(Z==="{"&&this.seenImport)this.importSpecifierList=!0;else if(this.importSpecifierList&&Z==="}")this.importSpecifierList=!1;else if(Z==="{"&&(R!=null?R[0]:void 0)==="EXPORT")this.exportSpecifierList=!0;else if(this.exportSpecifierList&&Z==="}")this.exportSpecifierList=!1;if(Z===";"){if(F=R!=null?R[0]:void 0,B.call(["=",...G1],F)>=0)this.error("unexpected ;");this.seenFor=this.seenImport=this.seenExport=!1,J="TERMINATOR"}else if(Z==="*"&&(R!=null?R[0]:void 0)==="EXPORT")J="EXPORT_ALL";else if(Z==="<=>")J="BIND";else if(Z==="~=")J="COMPUTED_ASSIGN";else if(Z===":=")J="REACTIVE_ASSIGN";else if(Z==="~>")J="REACT_ASSIGN";else if(Z==="=!")J="READONLY_ASSIGN";else if(B.call(K2,Z)>=0)J="MATH";else if(B.call(E2,Z)>=0)J="COMPARE";else if(B.call(V1,Z)>=0)J="COMPOUND_ASSIGN";else if(B.call(f1,Z)>=0)J="UNARY";else if(B.call(h2,Z)>=0)J="UNARY_MATH";else if(B.call(j2,Z)>=0)J="SHIFT";else if(Z==="?"&&(R!=null?R.spaced:void 0))J="SPACE?";else if(R){if(Z==="("&&!R.spaced&&(G=R[0],B.call(F1,G)>=0)){if(R[0]==="?")R[0]="FUNC_EXIST";else if(R[0]==="?.")R[0]="ES6_OPTIONAL_CALL";J="CALL_START"}else if(Z==="["&&((M=R[0],B.call(k1,M)>=0)&&!R.spaced||R[0]==="::"))switch(J="INDEX_START",R[0]){case"?":R[0]="INDEX_SOAK";break;case"?.":R[0]="ES6_OPTIONAL_INDEX";break}}switch(Q=this.makeToken(J,Z),Z){case"(":case"{":case"[":this.ends.push({tag:K1[Z],origin:Q});break;case")":case"}":case"]":this.pair(Z)}return this.tokens.push(this.makeToken(J,Z)),Z.length}outdentToken({moveOut:_,noNewlines:E,outdentLength:X=0,offset:R=0,indentSize:A,endsContinuationLineIndentation:$}){var Y,F,G,M,D;Y=this.indent-_;while(_>0)if(G=this.indents[this.indents.length-1],!G)this.outdebt=_=0;else if(this.outdebt&&_<=this.outdebt)this.outdebt-=_,_=0;else{if(F=this.indents.pop()+this.outdebt,X&&(M=this.chunk[X],B.call(J2,M)>=0))Y-=F-_,_=F;this.outdebt=0,this.pair("OUTDENT"),this.token("OUTDENT",_,{length:X,indentSize:A+_-F}),_-=F}if(F)this.outdebt-=_;if(this.suppressSemicolons(),!(this.tag()==="TERMINATOR"||E)){if(D=this.token("TERMINATOR",`
|
|
14
|
+
`,{offset:R+X,length:0}),$)D.endsContinuationLineIndentation={preContinuationLineIndent:this.indent}}return this.indent=Y,this.indentLiteral=this.indentLiteral.slice(0,Y),this}newlineToken(_){if(this.suppressSemicolons(),this.tag()!=="TERMINATOR")this.token("TERMINATOR",`
|
|
15
|
+
`,{offset:_,length:0});return this}suppressNewlines(){var _=this.prev();if(_[1]==="\\"){if(_.comments&&this.tokens.length>1)e1(_.comments,this.tokens[this.tokens.length-2]);this.tokens.pop()}return this}tagParameters(){var _,E,X,R,A;if(this.tag()!==")")return this.tagDoIife();X=[],{tokens:A}=this,_=A.length,E=A[--_],E[0]="PARAM_END";while(R=A[--_])switch(R[0]){case")":X.push(R);break;case"(":case"CALL_START":if(X.length)X.pop();else if(R[0]==="(")return R[0]="PARAM_START",this.tagDoIife(_-1);else return E[0]="CALL_END",this}return this}tagDoIife(_){var E=this.tokens[_!=null?_:this.tokens.length-1];if((E!=null?E[0]:void 0)!=="DO")return this;return E[0]="DO_IIFE",this}closeIndentation(){return this.outdentToken({moveOut:this.indent,indentSize:0})}matchWithInterpolations(_,E,X=E,R=/^[#$]\{/){var A,$,Y,F,G,M,D,J,Q,Z,O,K,H,W,q,N,z,S;if(S=[],O=E.length,this.chunk.slice(0,O)!==E)return null;N=this.chunk.slice(O);while(!0){if([z]=_.exec(N),this.validateEscapes(z,{isRegex:E.charAt(0)==="/",offsetInChunk:O}),S.push(this.makeToken("NEOSTRING",z,{offset:O})),N=N.slice(z.length),O+=z.length,!(J=R.exec(N)))break;if([M]=J,G=M.length-1,[D,Y,Z]=this.getLineAndColumnFromChunk(O+G),q=N.slice(G),{tokens:Q,index:F}=new U().tokenize(q,{line:D,column:Y,offset:Z,untilBalanced:!0,locTweaks:this.locTweaks}),F+=G,A=N[F-1]==="}",A)[K]=Q,[$]=r.call(Q,-1),K[0]="INTERPOLATION_START",K[1]="(",K[2].first_column-=G,K[2].range=[K[2].range[0]-G,K[2].range[1]],$[0]="INTERPOLATION_END",$[1]=")",$.origin=["","end of interpolation",$[2]];if(((H=Q[1])!=null?H[0]:void 0)==="TERMINATOR")Q.splice(1,1);if(((W=Q[Q.length-3])!=null?W[0]:void 0)==="INDENT"&&Q[Q.length-2][0]==="OUTDENT")Q.splice(-3,2);if(!A)K=this.makeToken("INTERPOLATION_START","(",{offset:O,length:0,generated:!0}),$=this.makeToken("INTERPOLATION_END",")",{offset:O+F,length:0,generated:!0}),Q=[K,...Q,$];S.push(["TOKENS",Q]),N=N.slice(F),O+=F}if(N.slice(0,X.length)!==X)this.error(`missing ${X}`,{length:E.length});return{tokens:S,index:O+X.length}}mergeInterpolationTokens(_,E,X){var R,A,$,Y,F,G,M,D,J,Q,Z,O,K,H,W,q,N,z,S,T,I,L,j,w,P;if({quote:N,indent:D,double:$,heregex:G,endOffset:Y}=E,_.length>1)W=this.token("STRING_START","(",{length:(z=N!=null?N.length:void 0)!=null?z:0,data:{quote:N},generated:!(N!=null?N.length:void 0)});F=this.tokens.length,R=_.length-1;for(M=J=0,O=_.length;J<O;M=++J){switch(L=_[M],[I,P]=L,I){case"TOKENS":if(P.length===2&&(P[0].comments||P[1].comments)){q=this.makeToken("JS","",{generated:!0}),q[2]=P[0][2];for(Q=0,K=P.length;Q<K;Q++){if(w=P[Q],!w.comments)continue;if(q.comments==null)q.comments=[];q.comments.push(...w.comments)}P.splice(1,0,q)}H=P[0],j=P;break;case"NEOSTRING":if(A=X.call(this,L[1],M),M===0)a(L,{initialChunk:!0});if(M===R)a(L,{finalChunk:!0});if(a(L,{indent:D,quote:N,double:$}),G)a(L,{heregex:G});if(L[0]="STRING",L[1]='"'+A+'"',_.length===1&&N!=null){if(L[2].first_column-=N.length,L[1].substr(-2,1)===`
|
|
16
|
+
`)L[2].last_line+=1,L[2].last_column=N.length-1;else if(L[2].last_column+=N.length,L[1].length===2)L[2].last_column-=1;L[2].last_column_exclusive+=N.length,L[2].range=[L[2].range[0]-N.length,L[2].range[1]+N.length]}H=L,j=[L]}this.tokens.push(...j)}if(W){if([Z]=r.call(_,-1),W.origin=["STRING",null,{first_line:W[2].first_line,first_column:W[2].first_column,last_line:Z[2].last_line,last_column:Z[2].last_column,last_line_exclusive:Z[2].last_line_exclusive,last_column_exclusive:Z[2].last_column_exclusive,range:[W[2].range[0],Z[2].range[1]]}],!(N!=null?N.length:void 0))W[2]=W.origin[2];return T=this.token("STRING_END",")",{offset:Y-(N!=null?N:"").length,length:(S=N!=null?N.length:void 0)!=null?S:0,generated:!(N!=null?N.length:void 0)})}}pair(_){var E,X,R,A,$;if(R=this.ends,[X]=r.call(R,-1),_!==($=X!=null?X.tag:void 0)){if($!=="OUTDENT")this.error(`unmatched ${_}`);return A=this.indents,[E]=r.call(A,-1),this.outdentToken({moveOut:E,noNewlines:!0}),this.pair(_)}return this.ends.pop()}getLocationDataCompensation(_,E){var X,R,A,$;$=0,A=E,R=_;while(R<=E){if(R===E&&_!==A)break;if(X=this.locTweaks[R],X!=null)$+=X,E+=X;R++}return $}getLineAndColumnFromChunk(_){var E,X,R,A,$,Y,F,G;if(R=this.getLocationDataCompensation(this.chunkOffset,this.chunkOffset+_),_===0)return[this.chunkLine,this.chunkColumn+R,this.chunkOffset+R];if(_>=this.chunk.length)G=this.chunk;else G=this.chunk.slice(0,+(_-1)+1||9000000000);if($=m2(G,`
|
|
17
|
+
`),E=this.chunkColumn,$>0){if(F=G.split(`
|
|
18
|
+
`),[A]=r.call(F,-1),E=A.length,Y=this.getLocationDataCompensation(this.chunkOffset,this.chunkOffset+_-E),Y<0)Y=0;X=this.getLocationDataCompensation(this.chunkOffset+_+Y-E,this.chunkOffset+_+Y)}else E+=G.length,X=R;return[this.chunkLine+$,E+X,this.chunkOffset+_+R]}makeLocationData({offsetInChunk:_,length:E}){var X,R,A;return A={range:[]},[A.first_line,A.first_column,A.range[0]]=this.getLineAndColumnFromChunk(_),R=E>0?E-1:0,[A.last_line,A.last_column,X]=this.getLineAndColumnFromChunk(_+R),[A.last_line_exclusive,A.last_column_exclusive]=this.getLineAndColumnFromChunk(_+R+(E>0?1:0)),A.range[1]=E>0?X+1:X,A}makeToken(_,E,{offset:X=0,length:R=E.length,origin:A,generated:$,indentSize:Y}={}){var F=[_,E,this.makeLocationData({offsetInChunk:X,length:R})];if(A)F.origin=A;if($)F.generated=!0;if(Y!=null)F.indentSize=Y;return F}token(_,E,{offset:X,length:R,origin:A,data:$,generated:Y,indentSize:F}={}){var G=this.makeToken(_,E,{offset:X,length:R,origin:A,generated:Y,indentSize:F});if($)a(G,$);return this.tokens.push(G),G}tag(){var _,E;return _=this.tokens,[E]=r.call(_,-1),E!=null?E[0]:void 0}value(_=!1){var E,X;if(E=this.tokens,[X]=r.call(E,-1),_&&(X!=null?X.origin:void 0)!=null)return X.origin[1];else return X!=null?X[1]:void 0}prev(){return this.tokens[this.tokens.length-1]}unfinished(){var _;return O2.test(this.chunk)||(_=this.tag(),B.call(G1,_)>=0)}validateUnicodeCodePointEscapes(_,E){return e2(_,s2(E,{error:this.error}))}validateEscapes(_,E={}){var X,R,A,$,Y,F,G,M,D,J;if($=E.isRegex?B2:u2,Y=$.exec(_),!Y)return;return Y[0],X=Y[1],G=Y[2],R=Y[3],J=Y[4],D=Y[5],F=G?"octal escape sequences are not allowed":"invalid escape sequence",A=`\\${G||R||J||D}`,this.error(`${F} ${A}`,{offset:((M=E.offsetInChunk)!=null?M:0)+Y.index+X.length,length:A.length})}suppressSemicolons(){var _,E,X;X=[];while(this.value()===";")if(this.tokens.pop(),_=(E=this.prev())!=null?E[0]:void 0,B.call(["=",...G1],_)>=0)X.push(this.error("unexpected ;"));else X.push(void 0);return X}error(_,E={}){var X,R,A,$,Y;return A="first_line"in E?E:([R,X]=this.getLineAndColumnFromChunk(($=E.offset)!=null?$:0),{first_line:R,first_column:X,last_column:X+((Y=E.length)!=null?Y:1)-1}),a2(_,A)}},R3=function(U,_=U){switch(!1){case B.call([...H1,...s],U)<0:return`keyword '${_}' can't be assigned`;case B.call(p1,U)<0:return`'${_}' can't be assigned`;case B.call(N1,U)<0:return`reserved word '${_}' can't be assigned`;default:return!1}};g2=function(U){var _;if(U[0]==="IDENTIFIER")return!0;else if(U[0]==="FOR")return!1;else if((_=U[1])==="{"||_==="["||_===","||_===":")return!1;else return!0};a=function(U,_){return Object.assign(U.data!=null?U.data:U.data={},_)};H1=["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"];s=["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def"];l1={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"};c1=function(){var U=[];for(E1 in l1)U.push(E1);return U}();s=s.concat(c1);N1=["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"];p1=["arguments","eval"];var Y3=H1.concat(N1).concat(p1);R2=65279;D2=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+!?)([^\n\S]*:(?![=:]))?/;q2=/^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;z2=/^(?:<=>|[-=]>|~>|~=|:=|=!|===|!==|!\?|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/;h1=/^[^\n\S]+/;_2=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/;A2=/^[-=]>/;H2=/^(?:\n[^\n\S]*)+/;Q2=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/;M2=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/;C2=/^(?:'''|"""|'|")/;v2=/^(?:[^\\']|\\[\s\S])*/;y2=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/;Y2=/^(?:[^\\']|\\[\s\S]|'(?!''))*/;$2=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/;X2=/\n+([^\n\S]*)(?=\S)/g;P2=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/;L2=/^\w*/;b2=/^(?!.*(.).*\1)[gimsuy]*$/;F2=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/;G2=/(\s+)(#(?!{).*)/gm;T2=/^(\/|\/{3}\s*)(\*)/;S2=/^\/=?\s/;U2=/\*\//;O2=/^\s*(?:,|\??\.(?![.\d])|\??::)/;u2=/((?:^|[^\\])(?:\\\\)*)\\(?:(0\d|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/;B2=/((?:^|[^\\])(?:\\\\)*)\\(?:(0\d)|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/;f2=/\s+$/;V1=["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="];f1=["NEW","TYPEOF","DELETE"];h2=["!","~"];j2=["<<",">>",">>>"];E2=["==","!=","===","!==","<",">","<=",">=","=~"];K2=["*","/","%","//","%%"];I2=["IN","OF","INSTANCEOF"];c2=["TRUE","FALSE"];F1=["IDENTIFIER","PROPERTY",")","]","?","@","THIS","SUPER","DYNAMIC_IMPORT","?."];k1=F1.concat(["NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::","?."]);l2=["IDENTIFIER",")","]","NUMBER"];N2=k1.concat(["++","--"]);W2=["INDENT","OUTDENT","TERMINATOR"];J2=[")","}","]"];U1=function(U,_){var E,X,R,A,$;if(!U.comments)return;if(_.comments&&_.comments.length!==0){$=[],A=U.comments;for(X=0,R=A.length;X<R;X++)if(E=A[X],E.unshift)$.push(E);else _.comments.push(E);_.comments=$.concat(_.comments)}else _.comments=U.comments;return delete U.comments};x=function(U,_,E,X){var R=[U,_];if(R.generated=!0,E)R.origin=E;if(X)U1(X,R);return R};w2=function(){class U{rewrite(_){var E,X,R;if(this.tokens=_,typeof process<"u"&&process!==null?(E=process.env)!=null?E.DEBUG_TOKEN_STREAM:void 0:void 0){if(process.env.DEBUG_REWRITTEN_TOKEN_STREAM)console.log("Initial token stream:");console.log(function(){var A,$,Y,F;Y=this.tokens,F=[];for(A=0,$=Y.length;A<$;A++)R=Y[A],F.push(R[0]+"/"+R[1]+(R.comments?"*":""));return F}.call(this).join(" "))}if(this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.convertLegacyExistential(),this.convertPostfixSpreadRest(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.rescueStowawayComments(),this.addLocationDataToGeneratedTokens(),this.fixIndentationLocationData(),this.exposeTokenDataToGrammar(),typeof process<"u"&&process!==null?(X=process.env)!=null?X.DEBUG_REWRITTEN_TOKEN_STREAM:void 0:void 0){if(process.env.DEBUG_TOKEN_STREAM)console.log("Rewritten token stream:");console.log(function(){var A,$,Y,F;Y=this.tokens,F=[];for(A=0,$=Y.length;A<$;A++)R=Y[A],F.push(R[0]+"/"+R[1]+(R.comments?"*":""));return F}.call(this).join(" "))}return this.tokens}scanTokens(_){var E,X,R;({tokens:R}=this),E=0;while(X=R[E])E+=_.call(this,X,E,R);return!0}detectEnd(_,E,X,R={}){var A,$,Y,F,G;({tokens:G}=this),A=0;while(F=G[_]){if(A===0&&E.call(this,F,_))return X.call(this,F,_);if($=F[0],B.call(m,$)>=0)A+=1;else if(Y=F[0],B.call(k,Y)>=0)A-=1;if(A<0){if(R.returnOnNegativeLevel)return;return X.call(this,F,_)}_+=1}return _-1}removeLeadingNewlines(){var _,E,X,R,A,$,Y,F,G;Y=this.tokens;for(_=E=0,A=Y.length;E<A;_=++E)if([G]=Y[_],G!=="TERMINATOR")break;if(_===0)return;F=this.tokens.slice(0,_);for(X=0,$=F.length;X<$;X++)R=F[X],U1(R,this.tokens[_]);return this.tokens.splice(0,_)}closeOpenCalls(){var _,E;return E=function(X,R){var A;return(A=X[0])===")"||A==="CALL_END"},_=function(X,R){return X[0]="CALL_END"},this.scanTokens(function(X,R){if(X[0]==="CALL_START")this.detectEnd(R+1,E,_);return 1})}closeOpenIndexes(){var _,E,X;return X=null,E=function(R,A){var $;return($=R[0])==="]"||$==="INDEX_END"},_=function(R,A){if(this.tokens.length>=A&&this.tokens[A+1][0]===":")return X[0]="[",R[0]="]";else return R[0]="INDEX_END"},this.scanTokens(function(R,A){if(R[0]==="INDEX_START")X=R,this.detectEnd(A+1,E,_);return 1})}indexOfTag(_,...E){var X,R,A,$,Y;X=0;for(R=A=0,$=E.length;0<=$?A<$:A>$;R=0<=$?++A:--A){if(E[R]==null)continue;if(typeof E[R]==="string")E[R]=[E[R]];if(Y=this.tag(_+R+X),B.call(E[R],Y)<0)return-1}return _+R+X-1}looksObjectish(_){var E,X;if(this.indexOfTag(_,"@",null,":")!==-1||this.indexOfTag(_,null,":")!==-1)return!0;if(X=this.indexOfTag(_,m),X!==-1){if(E=null,this.detectEnd(X+1,function(R){var A;return A=R[0],B.call(k,A)>=0},function(R,A){return E=A}),this.tag(E+1)===":")return!0}return!1}findTagsBackwards(_,E){var X,R,A,$,Y,F,G;X=[];while(_>=0&&(X.length||($=this.tag(_),B.call(E,$)<0)&&((Y=this.tag(_),B.call(m,Y)<0)||this.tokens[_].generated)&&(F=this.tag(_),B.call(Y1,F)<0))){if(R=this.tag(_),B.call(k,R)>=0)X.push(this.tag(_));if((A=this.tag(_),B.call(m,A)>=0)&&X.length)X.pop();_-=1}return G=this.tag(_),B.call(E,G)>=0}addImplicitBracesAndParens(){var _,E,X;return _=[],E=null,X=!1,this.scanTokens(function(R,A,$){var Y,F,G,M,D,J,Q,Z,O,K,H,W,q,N,z,S,T,I,L,j,w,P,V,v,C,l,f,t,g,D1,P1,Z1,J1,Q1,h,s1,L1,i1,e,d1,R1,y;if([y]=R,[w]=P=A>0?$[A-1]:[],[S]=T=A<$.length-1?$[A+1]:[],h=function(){return _[_.length-1]},s1=A,G=function(u){return A-s1+u},H=function(u){var b;return u!=null?(b=u[2])!=null?b.ours:void 0:void 0},q=function(u){return H(u)&&(u!=null?u[0]:void 0)==="{"},W=function(u){return H(u)&&(u!=null?u[0]:void 0)==="("},Q=function(){return H(h())},Z=function(){return W(h())},K=function(){return q(h())},O=function(){var u;return Q()&&((u=h())!=null?u[0]:void 0)==="CONTROL"},L1=function(u){return _.push(["(",u,{ours:!0}]),$.splice(u,0,x("CALL_START","(",["","implicit function call",R[2]],P))},Y=function(){return _.pop(),$.splice(A,0,x("CALL_END",")",["","end of input",R[2]],P)),A+=1},i1=function(u,{startsLine:b=!0,continuationLineIndent:d}={}){var p;return _.push(["{",u,{sameLine:!0,startsLine:b,ours:!0,continuationLineIndent:d}]),p=new String("{"),p.generated=!0,$.splice(u,0,x("{",p,R,P))},F=function(u){return u=u!=null?u:A,_.pop(),$.splice(u,0,x("}","}",R,P)),A+=1},M=(u)=>{var b=null;if(this.detectEnd(u,function(d){return d[0]==="TERMINATOR"},function(d,p){return b=p},{returnOnNegativeLevel:!0}),b==null)return!1;return this.looksObjectish(b+1)},(Z()||K())&&B.call(b1,y)>=0||K()&&w===":"&&y==="FOR")return _.push(["CONTROL",A,{ours:!0}]),G(1);if(y==="INDENT"&&Q()){if(w!=="=>"&&w!=="->"&&w!=="["&&w!=="("&&w!==","&&w!=="{"&&w!=="ELSE"&&w!=="=")while(Z()||K()&&w!==":")if(Z())Y();else F();if(O())_.pop();return _.push([y,A]),G(1)}if(B.call(m,y)>=0)return _.push([y,A]),G(1);if(B.call(k,y)>=0){while(Q())if(Z())Y();else if(K())F();else _.pop();E=_.pop()}if(J=()=>{var u,b,d,p;if(d=this.findTagsBackwards(A,["FOR"])&&this.findTagsBackwards(A,["FORIN","FOROF","FORFROM"]),u=d||this.findTagsBackwards(A,["WHILE","UNTIL","LOOP","LEADING_WHEN"]),!u)return!1;return b=!1,p=R[2].first_line,this.detectEnd(A,function(n1,a1){var X1;return X1=n1[0],B.call(Y1,X1)>=0},function(n1,a1){var X1;return[w,,{first_line:X1}]=$[a1-1]||[],b=p===X1&&(w==="->"||w==="=>")},{returnOnNegativeLevel:!0}),b},(B.call(v1,y)>=0&&R.spaced||y==="?"&&A>0&&!$[A-1].spaced)&&(B.call(u1,S)>=0||S==="..."&&(V=this.tag(A+2),B.call(u1,V)>=0)&&!this.findTagsBackwards(A,["INDEX_START","["])||B.call(x1,S)>=0&&!T.spaced&&!T.newLine)&&!J()&&!((y==="]"||y==="}")&&(S==="->"||S==="=>"))){if(y==="?")y=R[0]="FUNC_EXIST";return L1(A+1),G(2)}if(B.call(v1,y)>=0&&this.indexOfTag(A+1,"INDENT")>-1&&this.looksObjectish(A+2)&&!this.findTagsBackwards(A,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"])&&!(((v=g=(C=h())!=null?C[0]:void 0)==="{"||v==="[")&&!H(h())&&this.findTagsBackwards(A,g)))return L1(A+1),_.push(["INDENT",A+2]),G(3);if(y==="SPACE?")X=!0;if(y===":"){if(X)return X=!1,G(1);if(g=function(){var u;switch(!1){case(u=this.tag(A-1),B.call(k,u)<0):if([d1,e]=E,d1==="["&&e>0&&this.tag(e-1)==="@"&&!$[e-1].spaced)return e-1;else return e;break;case this.tag(A-2)!=="@":return A-2;default:return A-1}}.call(this),R1=g<=0||(l=this.tag(g-1),B.call(Y1,l)>=0)||$[g-1].newLine,h()){if([Q1,P1]=h(),J1=_[_.length-2],(Q1==="{"||Q1==="INDENT"&&(J1!=null?J1[0]:void 0)==="{"&&!H(J1)&&this.findTagsBackwards(P1-1,["{"]))&&(R1||this.tag(g-1)===","||this.tag(g-1)==="{")&&(f=this.tag(g-1),B.call(G1,f)<0))return G(1)}return j=A>1?$[A-2]:[],i1(g,{startsLine:!!R1,continuationLineIndent:j.continuationLineIndent}),G(2)}if(B.call(Y1,y)>=0)for(N=_.length-1;N>=0;N+=-1){if(Z1=_[N],!H(Z1))break;if(q(Z1))Z1[2].sameLine=!1}if(y==="TERMINATOR"&&R.endsContinuationLineIndentation){({preContinuationLineIndent:L}=R.endsContinuationLineIndentation);while(K()&&(D=h()[2].continuationLineIndent)!=null&&D>L)F()}z=w==="OUTDENT"||P.newLine;var T1=y==="||"||y==="&&",r1=!1;if(T1&&A+1<$.length){var A1=$[A+1][0],i=A+1;if(A1==="("||A1==="["||A1==="{"){var B1=1;i++;while(i<$.length&&B1>0){var _1=$[i][0];if(_1==="("||_1==="["||_1==="{")B1++;else if(_1===")"||_1==="]"||_1==="}")B1--;i++}}else if(A1!=="TERMINATOR"&&A1!=="OUTDENT"&&A1!==",")i++;if(i<$.length&&$[i][0]===",")r1=!0}if(B.call(g1,y)>=0&&!(T1&&r1)||B.call(O1,y)>=0&&z||(y===".."||y==="...")&&this.findTagsBackwards(A,["INDEX_START"]))while(Q())if([Q1,P1,{sameLine:D1,startsLine:R1}]=h(),Z()&&w!==","||w===","&&y==="TERMINATOR"&&S==null)Y();else if(K()&&!T1&&D1&&y!=="TERMINATOR"&&w!==":"&&!((y==="POST_IF"||y==="FOR"||y==="WHILE"||y==="UNTIL")&&R1&&M(A+1)))F();else if(K()&&y==="TERMINATOR"&&w!==","&&!(R1&&this.looksObjectish(A+1)))F();else if(O()&&$[h()[1]][0]==="CLASS"&&y==="TERMINATOR")_.pop();else break;if(y===","&&!this.looksObjectish(A+1)&&K()&&!((t=this.tag(A+2))==="FOROF"||t==="FORIN")&&(S!=="TERMINATOR"||!this.looksObjectish(A+2))){I=S==="OUTDENT"?1:0;while(K())F(A+I)}return G(1)})}addImplicitCallCommas(){var _,E,X,R,A,$;$=this.tokens,_=0,E=0;while(E<$.length){if(A=$[E][0],X=E>0?$[E-1][0]:null,A==="CALL_START"||A==="(")_++;else if(A==="CALL_END"||A===")")_--;if(_>0&&(A==="->"||A==="=>")&&(R=X,B.call(Z2,R)>=0))$.splice(E,0,x(",",",",$[E],$[E-1])),E++;E++}}rescueStowawayComments(){var _,E,X,R;return E=function(A,$,Y,F){if(Y[$][0]!=="TERMINATOR")Y[F](x("TERMINATOR",`
|
|
19
|
+
`,Y[$]));return Y[F](x("JS","",Y[$],A))},_=function(A,$){var Y,F;Y=A+1;while(Y!==$.length&&(F=$[Y][0],B.call(n,F)>=0)){if($[Y][0]==="INTERPOLATION_END")return!0;Y++}return!1},R=function(A,$,Y){var F,G,M,D,J,Q,Z;G=$;while(G!==Y.length&&(J=Y[G][0],B.call(n,J)>=0))G++;if(!(G===Y.length||(Q=Y[G][0],B.call(n,Q)>=0))){Z=A.comments;for(M=0,D=Z.length;M<D;M++)F=Z[M],F.unshift=!0;return U1(A,Y[G]),1}else return G=Y.length-1,E(A,G,Y,"push"),1},X=function(A,$,Y){var F,G,M;F=$;while(F!==-1&&(G=Y[F][0],B.call(n,G)>=0))F--;if(!(F===-1||(M=Y[F][0],B.call(n,M)>=0)))return U1(A,Y[F]),1;else return E(A,0,Y,"unshift"),3},this.scanTokens(function(A,$,Y){var F,G,M,D,J;if(!A.comments)return 1;if(J=1,M=A[0],B.call(n,M)>=0){F={comments:[]},G=A.comments.length-1;while(G!==-1){if(A.comments[G].newLine===!1&&A.comments[G].here===!1)F.comments.unshift(A.comments[G]),A.comments.splice(G,1);G--}if(F.comments.length!==0)J=X(F,$-1,Y);if(A.comments.length!==0)R(A,$,Y)}else if(!_($,Y)){F={comments:[]},G=A.comments.length-1;while(G!==-1){if(A.comments[G].newLine&&!A.comments[G].unshift&&!(A[0]==="JS"&&A.generated))F.comments.unshift(A.comments[G]),A.comments.splice(G,1);G--}if(F.comments.length!==0)J=R(F,$+1,Y)}if(((D=A.comments)!=null?D.length:void 0)===0)delete A.comments;return J})}addLocationDataToGeneratedTokens(){return this.scanTokens(function(_,E,X){var R,A,$,Y,F,G,M;if(_[2])return 1;if(!(_.generated||_.explicit))return 1;if(_.fromThen&&_[0]==="INDENT")return _[2]=_.origin[2],1;if(_[0]==="{"&&($=(G=X[E+1])!=null?G[2]:void 0))({first_line:A,first_column:R,range:[F]}=$);else if(Y=(M=X[E-1])!=null?M[2]:void 0)({last_line:A,last_column:R,range:[,F]}=Y),R+=1;else A=R=0,F=0;return _[2]={first_line:A,first_column:R,last_line:A,last_column:R,last_line_exclusive:A,last_column_exclusive:R,range:[F,F]},1})}fixIndentationLocationData(){var _;if(this.allComments==null)this.allComments=d2(this.tokens);return _=(E,{afterPosition:X,indentSize:R,first:A,indented:$})=>{var Y,F,G,M,D,J,Q,Z;if(Z=E[2].range[0],D=function(O){if(O.outdented){if(!(R!=null&&O.indentSize>R))return!1}if($&&!O.indented)return!1;if(!(O.locationData.range[0]<Z))return!1;if(!(O.locationData.range[0]>X))return!1;return!0},A){M=null,J=this.allComments;for(F=J.length-1;F>=0;F+=-1)if(Y=J[F],D(Y))M=Y;else if(M)return M;return M}Q=this.allComments;for(G=Q.length-1;G>=0;G+=-1)if(Y=Q[G],D(Y))return Y;return null},this.scanTokens(function(E,X,R){var A,$,Y,F,G,M,D,J,Q,Z;if(!((D=E[0])==="INDENT"||D==="OUTDENT"||E.generated&&E[0]==="CALL_END"&&!((J=E.data)!=null?J.closingTagNameToken:void 0)||E.generated&&E[0]==="}"))return 1;if(A=E[0]==="INDENT",M=(Q=E.prevToken)!=null?Q:R[X-1],G=M[2],Z=E.explicit||E.generated,Z){$=E,Y=X;while(($.explicit||$.generated)&&Y!==R.length-1)$=R[Y++]}if(F=_(Z?$:E,{afterPosition:G.range[0],indentSize:E.indentSize,first:A,indented:Z}),A){if(!(F!=null?F.newLine:void 0))return 1}if(E.generated&&E[0]==="CALL_END"&&(F!=null?F.indented:void 0))return 1;if(F!=null)G=F.locationData;return E[2]={first_line:F!=null?G.first_line:G.last_line,first_column:F!=null?A?0:G.first_column:G.last_column,last_line:G.last_line,last_column:G.last_column,last_line_exclusive:G.last_line_exclusive,last_column_exclusive:G.last_column_exclusive,range:A&&F!=null?[G.range[0]-F.indentSize,G.range[1]]:G.range},1})}normalizeLines(){var _,E,X,R,A,$,Y,F,G;return G=A=F=null,Y=null,$=null,R=[],X=function(M,D){var J,Q,Z,O;return M[1]!==";"&&(J=M[0],B.call(V2,J)>=0)&&!(M[0]==="TERMINATOR"&&(Q=this.tag(D+1),B.call(y1,Q)>=0))&&!(M[0]==="ELSE"&&(G!=="THEN"||($||Y)))&&!(((Z=M[0])==="CATCH"||Z==="FINALLY")&&(G==="->"||G==="=>"))||(O=M[0],B.call(O1,O)>=0)&&(this.tokens[D-1].newLine||this.tokens[D-1][0]==="OUTDENT")},_=function(M,D){if(M[0]==="ELSE"&&G==="THEN")R.pop();return this.tokens.splice(this.tag(D-1)===","?D-1:D,0,F)},E=(M,D)=>{var J,Q,Z;if(Z=R.length,!(Z>0))return D;return J=R.pop(),[,Q]=this.indentation(M[J]),Q[1]=Z*2,M.splice(D,0,Q),Q[1]=2,M.splice(D+1,0,Q),this.detectEnd(D+2,function(O,K){var H;return(H=O[0])==="OUTDENT"||H==="TERMINATOR"},function(O,K){if(this.tag(K)==="OUTDENT"&&this.tag(K+1)==="OUTDENT")return M.splice(K,2)}),D+2},this.scanTokens(function(M,D,J){var Q,Z,O,K,H,W,q;if([q]=M,Q=(q==="->"||q==="=>")&&this.findTagsBackwards(D,["IF","WHILE","FOR","UNTIL","SWITCH","WHEN","LEADING_WHEN","[","INDEX_START"])&&!this.findTagsBackwards(D,["THEN","..","..."]),q==="TERMINATOR"){if(this.tag(D+1)==="ELSE"&&this.tag(D-1)!=="OUTDENT")return J.splice(D,1,...this.indentation()),1;if(K=this.tag(D+1),B.call(y1,K)>=0){if(M[1]===";"&&this.tag(D+1)==="OUTDENT")J[D+1].prevToken=M,U1(M,J[D+1]);return J.splice(D,1),0}}if(q==="CATCH")for(Z=O=1;O<=2;Z=++O){if(!((H=this.tag(D+Z))==="OUTDENT"||H==="TERMINATOR"||H==="FINALLY"))continue;return J.splice(D+Z,0,...this.indentation()),2+Z}if((q==="->"||q==="=>")&&((W=this.tag(D+1))===","||W==="]"||this.tag(D+1)==="."&&M.newLine))return[A,F]=this.indentation(J[D]),J.splice(D+1,0,A,F),1;if(B.call(C1,q)>=0&&this.tag(D+1)!=="INDENT"&&!(q==="ELSE"&&this.tag(D+1)==="IF")&&!Q){if(G=q,[A,F]=this.indentation(J[D]),G==="THEN")A.fromThen=!0;if(q==="THEN")Y=this.findTagsBackwards(D,["LEADING_WHEN"])&&this.tag(D+1)==="IF",$=this.findTagsBackwards(D,["IF"])&&this.tag(D+1)==="IF";if(q==="THEN"&&this.findTagsBackwards(D,["IF"]))R.push(D);if(q==="ELSE"&&this.tag(D-1)!=="OUTDENT")D=E(J,D);if(J.splice(D+1,0,A),this.detectEnd(D+2,X,_),q==="THEN")J.splice(D,1);return 1}return 1})}convertLegacyExistential(){return this.scanTokens(function(_,E,X){var R,A,$,Y,F;if(_[0]!=="SPACE?")return 1;R=!1,$=0;for(A=E+1;A<X.length;A++){if(F=X[A][0],Y=F,B.call(m,Y)>=0)$++;else if(Y=F,B.call(k,Y)>=0)$--;if(F===":"&&$===0){R=!0;break}if($===0&&(F==="TERMINATOR"||F==="INDENT"||F==="OUTDENT"))break}if(!R)_[0]="??",_[1]="??";return 1})}convertPostfixSpreadRest(){return this.scanTokens(function(_,E,X){var R,A,$,Y,F,G,M,D,J,Q;if(_[0]!=="..."&&_[0]!=="..")return 1;let Z=0;for(let O=E-1;O>=0;O--){if(X[O][0]==="INDEX_END")Z++;if(X[O][0]==="INDEX_START")Z--}if(A=Z<0,A)return 1;if(M=X[E-1],F=X[E+1],!M||!F)return 1;if(D=M[0],G=F[0],D===","&&G===",")return 1;if(D==="NUMBER")return 1;if(Q=["IDENTIFIER","PROPERTY",")","]","THIS","@"],J=D,B.call(Q,J)>=0){if(R=[",","]",")","}","CALL_END","INDEX_END","PARAM_END","TERMINATOR","OUTDENT"],J=G,B.call(R,J)>=0)return X[E-1]=_,X[E]=M,1}return 1})}tagPostfixConditionals(){var _,E,X;return X=null,E=function(R,A){var $,Y;return[Y]=R,[$]=this.tokens[A-1],Y==="TERMINATOR"||Y==="INDENT"&&B.call(C1,$)<0},_=function(R,A){if(R[0]!=="INDENT"||R.generated&&!R.fromThen)return X[0]="POST_"+X[0]},this.scanTokens(function(R,A){if(R[0]!=="IF"&&R[0]!=="UNLESS")return 1;return X=R,this.detectEnd(A+1,E,_),1})}exposeTokenDataToGrammar(){return this.scanTokens(function(_,E){var X,R,A;if(_.generated||_.data&&Object.keys(_.data).length!==0){_[1]=new String(_[1]),R=(X=_.data)!=null?X:{};for(E1 in R){if(!p2.call(R,E1))continue;A=R[E1],_[1][E1]=A}if(_.generated)_[1].generated=!0}return 1})}indentation(_){var E,X;if(E=["INDENT",2],X=["OUTDENT",2],_)E.generated=X.generated=!0,E.origin=X.origin=_;else E.explicit=X.explicit=!0;return[E,X]}tag(_){var E;return(E=this.tokens[_])!=null?E[0]:void 0}}return U.prototype.generate=x,U}.call(null);j1=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["INTERPOLATION_START","INTERPOLATION_END"],["REGEX_START","REGEX_END"]];K1={};m=[];k=[];for(W1=0,o1=j1.length;W1<o1;W1++)[I1,w1]=j1[W1],m.push(K1[w1]=I1),k.push(K1[I1]=w1);y1=["CATCH","THEN","ELSE","FINALLY"].concat(k);v1=["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"];u1=["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","@","->","=>","[","(","{","--","++"];x1=["+","-"];g1=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&"];Z2=["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}"];C1=["ELSE","->","=>","TRY","FINALLY","THEN"];V2=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"];Y1=["TERMINATOR","INDENT","OUTDENT"];O1=[".","?.","::","?::"];b1=["IF","TRY","FINALLY","CATCH","CLASS","SWITCH"];n=["(",")","[","]","{","}",":",".","..","...",",","=","++","--","?","AS","AWAIT","CALL_START","CALL_END","DEFAULT","DO","DO_IIFE","ELSE","EXTENDS","EXPORT","FORIN","FOROF","FORFROM","IMPORT","INDENT","INDEX_SOAK","INTERPOLATION_START","INTERPOLATION_END","LEADING_WHEN","OUTDENT","PARAM_END","REGEX_START","REGEX_END","RETURN","STRING_END","THROW","UNARY","YIELD"].concat(x1.concat(g1.concat(O1.concat(b1))));G1=["\\",".","?.","?::","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","SPACE?","EXTENDS"];var A3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,ReactAssign:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Throw:28,Yield:29,Def:30,DEF:31,Identifier:32,CALL_START:33,ParamList:34,CALL_END:35,Block:36,Assignable:37,REACTIVE_ASSIGN:38,INDENT:39,OUTDENT:40,COMPUTED_ASSIGN:41,READONLY_ASSIGN:42,REACT_ASSIGN:43,CodeLine:44,OperationLine:45,YIELD:46,Object:47,FROM:48,IDENTIFIER:49,Property:50,PROPERTY:51,AlphaNumeric:52,NUMBER:53,String:54,STRING:55,STRING_START:56,Interpolations:57,STRING_END:58,InterpolationChunk:59,INTERPOLATION_START:60,INTERPOLATION_END:61,Regex:62,REGEX:63,REGEX_START:64,Invocation:65,REGEX_END:66,RegexWithIndex:67,",":68,Literal:69,JS:70,UNDEFINED:71,NULL:72,BOOL:73,INFINITY:74,NAN:75,"=":76,AssignObj:77,ObjAssignable:78,ObjRestValue:79,":":80,SimpleObjAssignable:81,ThisProperty:82,"[":83,"]":84,"@":85,"...":86,ObjSpreadExpr:87,Parenthetical:88,Super:89,This:90,SUPER:91,OptFuncExist:92,Arguments:93,DYNAMIC_IMPORT:94,".":95,"?.":96,"::":97,"?::":98,INDEX_START:99,INDEX_END:100,INDEX_SOAK:101,RETURN:102,PARAM_START:103,PARAM_END:104,FuncGlyph:105,"->":106,"=>":107,OptComma:108,Param:109,ParamVar:110,Array:111,Splat:112,SimpleAssignable:113,Slice:114,ES6_OPTIONAL_INDEX:115,Range:116,DoIife:117,MetaProperty:118,NEW_TARGET:119,IMPORT_META:120,"{":121,FOR:122,ForVariables:123,FOROF:124,"}":125,WHEN:126,OWN:127,AssignList:128,CLASS:129,EXTENDS:130,IMPORT:131,ImportDefaultSpecifier:132,ImportNamespaceSpecifier:133,ImportSpecifierList:134,ImportSpecifier:135,AS:136,DEFAULT:137,IMPORT_ALL:138,EXPORT:139,ExportSpecifierList:140,EXPORT_ALL:141,ExportSpecifier:142,ES6_OPTIONAL_CALL:143,FUNC_EXIST:144,ArgList:145,THIS:146,Elisions:147,ArgElisionList:148,OptElisions:149,RangeDots:150,"..":151,Arg:152,ArgElision:153,Elision:154,SimpleArgs:155,TRY:156,Catch:157,FINALLY:158,CATCH:159,THROW:160,"(":161,")":162,WhileSource:163,WHILE:164,UNTIL:165,Loop:166,LOOP:167,FORIN:168,BY:169,FORFROM:170,AWAIT:171,ForValue:172,SWITCH:173,Whens:174,ELSE:175,When:176,LEADING_WHEN:177,IfBlock:178,IF:179,UnlessBlock:180,UNLESS:181,POST_IF:182,POST_UNLESS:183,UNARY:184,DO:185,DO_IIFE:186,UNARY_MATH:187,"-":188,"+":189,"--":190,"++":191,"?":192,MATH:193,"**":194,SHIFT:195,COMPARE:196,"&":197,"^":198,"|":199,"&&":200,"||":201,"??":202,"!?":203,RELATION:204,"SPACE?":205,COMPOUND_ASSIGN:206},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",31:"DEF",33:"CALL_START",35:"CALL_END",38:"REACTIVE_ASSIGN",39:"INDENT",40:"OUTDENT",41:"COMPUTED_ASSIGN",42:"READONLY_ASSIGN",43:"REACT_ASSIGN",46:"YIELD",48:"FROM",49:"IDENTIFIER",51:"PROPERTY",53:"NUMBER",55:"STRING",56:"STRING_START",58:"STRING_END",60:"INTERPOLATION_START",61:"INTERPOLATION_END",63:"REGEX",64:"REGEX_START",66:"REGEX_END",68:",",70:"JS",71:"UNDEFINED",72:"NULL",73:"BOOL",74:"INFINITY",75:"NAN",76:"=",80:":",83:"[",84:"]",85:"@",86:"...",91:"SUPER",94:"DYNAMIC_IMPORT",95:".",96:"?.",97:"::",98:"?::",99:"INDEX_START",100:"INDEX_END",101:"INDEX_SOAK",102:"RETURN",103:"PARAM_START",104:"PARAM_END",106:"->",107:"=>",115:"ES6_OPTIONAL_INDEX",119:"NEW_TARGET",120:"IMPORT_META",121:"{",122:"FOR",124:"FOROF",125:"}",126:"WHEN",127:"OWN",129:"CLASS",130:"EXTENDS",131:"IMPORT",136:"AS",137:"DEFAULT",138:"IMPORT_ALL",139:"EXPORT",141:"EXPORT_ALL",143:"ES6_OPTIONAL_CALL",144:"FUNC_EXIST",146:"THIS",151:"..",156:"TRY",158:"FINALLY",159:"CATCH",160:"THROW",161:"(",162:")",164:"WHILE",165:"UNTIL",167:"LOOP",168:"FORIN",169:"BY",170:"FORFROM",171:"AWAIT",173:"SWITCH",175:"ELSE",177:"LEADING_WHEN",179:"IF",181:"UNLESS",182:"POST_IF",183:"POST_UNLESS",184:"UNARY",185:"DO",186:"DO_IIFE",187:"UNARY_MATH",188:"-",189:"+",190:"--",191:"++",192:"?",193:"MATH",194:"**",195:"SHIFT",196:"COMPARE",197:"&",198:"^",199:"|",200:"&&",201:"||",202:"??",203:"!?",204:"RELATION",205:"SPACE?",206:"COMPOUND_ASSIGN"},parseTable:(()=>{let U=[101,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-1,1,2,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,1,1,0,2,1,5,-2,101,5,1,5,34,21,101,-3,-3,-3,-3,-3,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,-6,-6,121,-6,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,9,1,5,29,4,1,21,7,16,78,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,29,4,1,21,7,16,78,1,1,1,17,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,124,90,91,122,123,54,1,5,27,2,4,1,15,1,5,7,12,4,2,6,3,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,-250,-13,-13,-13,-250,-250,-13,-13,-13,-13,-13,125,127,128,129,130,131,-13,132,-13,133,-13,-13,-13,-13,126,134,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,47,1,5,29,4,1,21,7,12,4,2,9,1,1,1,1,1,1,3,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,135,136,137,138,139,-14,140,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,9,1,5,29,4,1,21,7,16,78,-47,-47,-47,-47,-47,-47,-47,-47,-47,9,1,5,29,4,1,21,7,16,78,-48,-48,-48,-48,-48,-48,-48,-48,-48,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,142,-173,-173,143,144,145,-173,-173,-173,-173,141,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,18,6,26,2,1,4,1,7,2,19,14,1,2,1,18,5,1,1,10,-127,150,146,-127,-127,-127,153,98,-127,151,155,154,149,-127,147,148,152,93,100,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,157,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,156,30,158,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,97,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,159,160,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,97,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,162,163,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,164,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,170,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,171,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,172,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,173,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,45,14,1,17,5,10,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,9,2,1,1,4,2,3,1,1,1,1,1,25,15,25,175,176,86,177,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,165,166,84,85,66,174,33,35,38,82,83,93,80,76,169,45,14,1,17,5,10,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,9,2,1,1,4,2,3,1,1,1,1,1,25,15,25,175,176,86,177,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,165,166,84,85,66,178,33,35,38,82,83,93,80,76,169,61,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,179,180,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,181,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,183,182,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,184,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,5,7,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,185,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,2,36,3,186,158,2,36,3,187,158,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,14,32,15,2,33,1,2,25,1,5,5,2,4,44,1,150,153,98,151,77,154,193,152,191,93,188,189,190,192,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,194,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,195,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,88,1,5,8,1,17,3,1,1,2,1,7,2,3,1,1,1,1,5,1,1,1,1,3,1,1,1,1,1,1,1,5,2,1,1,1,1,2,1,1,1,3,6,3,1,1,1,1,4,2,3,1,1,1,1,1,1,2,1,1,4,16,5,10,1,2,1,3,1,1,12,1,3,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-197,-197,175,176,86,-197,196,177,158,-197,67,98,68,94,95,99,100,-197,70,96,97,34,-197,31,69,71,72,73,74,75,-197,87,77,-197,81,-197,32,37,36,78,79,-197,165,-197,166,84,85,66,198,33,35,38,82,83,93,-197,-197,-197,-197,197,80,-197,76,-197,-197,-197,-197,-197,-197,-197,-197,169,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,199,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,200,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,131,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,3,1,1,1,3,1,1,1,1,5,1,1,1,1,3,1,1,1,1,1,1,1,5,2,1,1,1,1,2,1,1,1,3,6,2,1,1,1,1,1,4,2,3,1,1,1,1,1,1,2,1,1,3,2,8,7,5,5,4,1,1,1,1,1,1,1,1,1,1,1,2,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,201,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-49,30,202,-49,50,60,67,203,98,68,94,95,99,100,-49,70,96,97,34,-49,31,69,71,72,73,74,75,-49,87,77,-49,81,-49,32,37,36,78,79,-49,63,165,-49,166,84,85,66,49,33,35,38,82,83,93,-49,-49,-49,-49,58,64,65,80,-49,53,59,76,-49,54,-49,-49,55,92,-49,-49,-49,46,57,51,88,52,89,-49,-49,167,168,169,43,44,45,47,48,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,2,32,17,204,98,6,15,29,59,2,1,1,206,205,39,40,84,85,105,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,3,1,2,3,1,1,1,1,5,1,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,1,1,1,1,1,1,4,2,5,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,207,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-118,30,208,-118,50,60,67,98,68,94,95,99,100,-118,70,96,97,34,-118,31,69,71,72,73,74,75,87,77,-118,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,-118,54,-118,-118,55,92,46,57,51,88,52,89,-118,-118,167,168,169,43,44,45,47,48,9,32,17,5,1,1,65,11,1,5,213,98,209,99,100,212,210,211,214,9,27,3,1,1,17,72,8,8,4,216,217,61,218,98,215,58,219,220,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,100,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,221,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,222,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,1,4,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,223,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,229,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,224,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,225,226,231,228,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,4,33,60,2,4,238,235,236,237,2,33,60,238,239,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,55,1,5,27,2,4,1,10,1,4,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,240,241,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,1,95,242,1,95,243,51,11,20,8,4,3,3,4,2,1,7,1,6,1,1,1,1,1,8,2,6,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,51,11,20,8,4,3,3,4,2,1,7,1,6,1,1,1,1,1,8,2,6,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,244,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,245,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,246,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,247,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,249,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,248,30,158,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,23,6,26,7,1,9,1,1,1,1,1,1,1,12,9,1,1,2,1,1,2,1,39,3,-192,257,-192,-192,98,258,241,255,94,95,99,100,-192,256,250,260,252,259,253,254,261,-192,251,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,45,14,1,17,5,10,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,9,2,1,1,4,2,3,1,1,1,1,1,25,15,25,175,176,86,177,67,98,68,94,95,99,100,70,96,97,262,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,165,166,84,85,66,263,33,35,38,82,83,93,80,76,169,64,1,5,27,2,3,1,1,1,1,1,5,7,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,6,7,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,27,2,4,1,15,1,2,2,1,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,6,54,1,1,1,2,1,267,99,100,264,265,266,103,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,1,1,1,1,2,3,1,1,1,1,5,1,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,1,1,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-5,268,-5,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,-5,50,24,25,60,67,98,68,94,95,99,100,-5,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,-5,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,269,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,270,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,271,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,272,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,273,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,274,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,275,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,276,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,277,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,278,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,279,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,280,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,281,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,282,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,283,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,284,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,285,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,14,32,15,2,33,1,2,25,1,5,5,2,4,44,1,150,153,98,151,77,154,193,152,289,93,286,287,288,192,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,290,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,291,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,5,33,21,1,1,37,238,292,99,100,293,2,33,60,238,294,2,50,1,295,241,2,50,1,296,241,64,1,5,27,2,3,1,1,1,1,1,7,1,4,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,297,241,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,64,1,5,27,2,3,1,1,1,1,1,7,1,4,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,298,241,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,2,2,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,2,1,2,1,1,1,1,1,1,7,2,8,7,4,1,5,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,299,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,300,50,60,67,98,68,94,95,99,100,304,96,97,34,302,31,69,71,72,73,74,75,87,77,81,306,32,37,36,78,79,63,165,166,84,85,66,49,301,33,35,38,82,83,93,56,58,64,65,80,303,305,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,99,307,1,99,308,3,33,22,1,-251,-251,-251,2,50,1,309,241,2,50,1,310,241,64,1,5,27,2,3,1,1,1,1,1,7,1,4,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,311,241,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,64,1,5,27,2,3,1,1,1,1,1,7,1,4,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,312,241,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,313,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,314,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,99,315,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,317,316,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,318,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,320,319,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,321,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,323,322,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,324,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,326,325,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,327,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,329,328,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,330,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,9,6,29,4,1,28,16,20,4,17,-125,-125,-125,-125,332,-125,331,333,-125,6,6,29,4,1,28,36,-128,-128,-128,-128,-128,-128,7,6,29,4,1,28,8,28,-132,-132,-132,-132,-132,334,-132,15,6,26,3,4,1,7,2,19,14,1,2,19,6,1,10,-135,150,-135,-135,-135,153,98,-135,151,155,154,-135,335,152,93,10,6,29,4,1,28,8,28,20,44,2,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,10,6,29,4,1,28,8,28,20,44,2,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,10,6,29,4,1,28,8,28,20,44,2,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,10,6,29,4,1,28,8,28,20,44,2,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,2,50,1,240,241,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,1,4,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,229,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,224,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,225,226,231,228,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,9,1,5,29,4,1,21,7,16,78,-122,-122,-122,-122,-122,-122,-122,-122,-122,100,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,338,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,337,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,120,-368,-368,-368,-368,-368,-368,119,-368,-368,102,-368,-368,-368,-368,-368,-368,-368,-368,-368,114,115,-368,-368,9,1,5,29,4,1,21,7,16,78,-365,-365,-365,-365,-365,-365,-365,-365,-365,5,163,1,1,17,1,124,90,91,122,123,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,120,-369,-369,-369,-369,-369,-369,119,-369,-369,102,-369,-369,-369,-369,-369,-369,-369,-369,-369,114,115,-369,-369,9,1,5,29,4,1,21,7,16,78,-366,-366,-366,-366,-366,-366,-366,-366,-366,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,120,-370,-370,-370,-370,-370,-370,119,-370,-370,102,-370,106,-370,-370,-370,-370,-370,-370,-370,114,115,-370,-370,18,6,26,2,1,4,1,7,2,19,14,1,2,1,18,5,1,1,10,-127,150,339,-127,-127,-127,153,98,-127,151,155,154,149,-127,147,148,152,93,2,36,3,156,158,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,159,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,162,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,5,15,88,2,1,1,206,165,166,84,85,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,120,-371,-371,-371,-371,-371,-371,119,-371,-371,102,-371,106,-371,-371,-371,-371,-371,-371,-371,114,115,-371,-371,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,120,-372,-372,-372,-372,-372,-372,119,-372,-372,102,-372,106,-372,-372,-372,-372,-372,-372,-372,114,115,-372,-372,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,120,-373,-373,-373,-373,-373,-373,119,-373,-373,102,-373,-373,-373,-373,-373,-373,-373,-373,-373,114,115,-373,-373,2,47,74,340,93,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-170,-375,-170,-375,-375,-170,-170,-170,-170,-170,-375,-375,-170,-375,-375,-375,-170,-170,-170,-170,-170,-375,-170,-375,-170,-375,-375,-375,-375,-170,-170,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,13,33,22,1,36,3,1,1,1,1,2,14,28,1,-250,-250,-250,125,127,128,129,130,131,132,133,126,134,6,95,1,1,1,1,2,135,136,137,138,139,140,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-170,-376,-170,-376,-376,-170,-170,-170,-170,-170,-376,-376,-170,-376,-376,-376,-170,-170,-170,-170,-170,-376,-170,-376,-170,-376,-376,-376,-376,-170,-170,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,343,341,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,342,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,121,-44,-44,-44,-44,-44,120,90,91,-44,-44,-44,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,344,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,345,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,36,3,140,346,158,347,44,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,6,1,1,3,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,348,349,350,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,3,124,44,2,352,351,353,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,354,192,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,355,192,3,36,3,130,356,158,357,4,68,56,44,2,358,-344,-344,-344,5,68,8,48,44,2,-342,359,-342,-342,-342,23,39,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,360,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,3,174,2,1,361,362,363,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,364,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,60,1,5,27,2,1,2,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,-170,-201,365,-170,158,-201,-170,-170,-170,-170,-170,-201,-201,-170,-201,-201,-201,-170,-170,-170,-170,-170,-201,-170,-201,-170,-201,-201,-201,-201,366,-170,-170,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,120,-298,-298,-298,-298,-298,-298,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,47,74,367,93,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,120,-50,-50,-50,-50,-50,-50,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,47,74,368,93,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,369,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,33,3,3,370,371,158,9,1,5,29,4,1,21,7,16,78,-367,-367,-367,-367,-367,-367,-367,-367,-367,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,-116,-116,-116,-116,121,-116,120,-116,-116,-116,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,47,74,372,93,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,2,48,20,373,374,1,48,375,7,32,7,10,76,9,1,2,380,379,98,376,377,378,381,2,48,20,-221,-221,1,136,382,7,32,7,10,76,12,3,2,387,386,98,383,388,384,385,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,1,76,389,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,390,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,391,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,48,392,2,6,156,101,393,99,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,394,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,31,6,29,4,1,28,16,2,36,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,306,121,395,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,6,2,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,396,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,398,397,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,9,6,29,4,1,28,16,24,17,24,-125,-125,-125,-125,400,-125,401,-125,399,56,6,5,20,8,1,3,3,3,4,2,1,7,1,4,2,1,1,1,1,1,8,1,1,1,5,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,402,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,5,6,33,1,28,16,-276,-276,-276,-276,-276,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,1,4,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,229,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,404,403,231,228,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,56,6,5,20,8,1,3,3,3,4,2,1,7,1,4,2,1,1,1,1,1,8,1,1,1,5,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,5,6,33,1,28,16,-281,-281,-281,-281,-281,6,6,29,4,1,28,16,-273,-273,-273,-273,-273,-273,6,6,29,4,1,28,16,-274,-274,-274,-274,-274,-274,100,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,3,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-275,405,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-275,30,-275,-275,50,60,67,98,68,94,95,99,100,70,96,97,34,-275,31,69,71,72,73,74,75,87,77,-275,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,2,50,1,406,241,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,407,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,408,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,6,1,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,409,30,412,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,410,80,411,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,2,50,1,413,241,2,50,1,414,241,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,415,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,416,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,121,-302,-302,417,-302,-302,120,90,91,-302,-302,-302,-302,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,121,-304,-304,418,-304,-304,120,90,91,-304,-304,-304,-304,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,121,-311,-311,-311,-311,-311,120,90,91,-311,-311,-311,-311,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,6,6,33,1,28,12,45,-82,-82,-82,-82,419,-82,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,421,-125,420,-125,7,6,33,1,28,8,4,45,-91,-91,-91,-91,422,-91,-91,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,423,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,50,1,32,240,241,424,6,6,33,1,28,12,45,-94,-94,-94,-94,-94,-94,5,6,33,1,28,57,-193,-193,-193,-193,-193,15,6,27,6,1,28,8,4,15,1,1,1,1,2,24,19,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,15,6,27,6,1,28,8,4,15,1,1,1,1,2,24,19,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,15,6,27,6,1,28,8,4,15,1,1,1,1,2,24,19,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,5,6,33,1,28,57,-83,-83,-83,-83,-83,17,32,15,2,1,1,30,1,3,2,1,1,1,1,3,27,25,15,257,427,98,258,241,425,259,81,426,428,429,430,431,432,93,80,76,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,433,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,6,54,1,1,2,1,1,267,99,100,434,435,266,4,55,1,2,2,-61,-61,-61,-61,101,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,5,1,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,436,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,437,50,24,25,60,67,98,68,94,95,99,100,438,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,4,55,1,2,2,-66,-66,-66,-66,5,1,5,34,21,101,-4,-4,-4,-4,-4,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,120,-380,-380,-380,-380,-380,-380,119,-380,-380,102,105,106,-380,-380,-380,-380,-380,-380,-380,114,115,-380,-380,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,120,-381,-381,-381,-381,-381,-381,119,-381,-381,102,105,106,-381,-381,-381,-381,-381,-381,-381,114,115,-381,-381,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,120,-382,-382,-382,-382,-382,-382,119,-382,-382,102,-382,106,-382,-382,-382,-382,-382,-382,-382,114,115,-382,-382,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,120,-383,-383,-383,-383,-383,-383,119,-383,-383,102,-383,106,-383,-383,-383,-383,-383,-383,-383,114,115,-383,-383,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,120,-384,-384,-384,-384,-384,-384,119,104,103,102,105,106,-384,-384,-384,-384,-384,-384,-384,114,115,-384,-384,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,120,-385,-385,-385,-385,-385,-385,119,104,103,102,105,106,107,-385,-385,-385,-385,-385,-385,114,115,116,-385,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,120,-386,-386,-386,-386,-386,-386,119,104,103,102,105,106,107,108,-386,-386,-386,-386,-386,114,115,116,-386,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,120,-387,-387,-387,-387,-387,-387,119,104,103,102,105,106,107,108,109,-387,-387,-387,-387,114,115,116,-387,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,120,-388,-388,-388,-388,-388,-388,119,104,103,102,105,106,107,108,109,110,-388,-388,-388,114,115,116,-388,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,120,-389,-389,-389,-389,-389,-389,119,104,103,102,105,106,107,108,109,110,111,-389,-389,114,115,116,-389,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,120,-390,-390,-390,-390,-390,-390,119,104,103,102,105,106,107,108,109,110,111,112,-390,114,115,116,-390,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,121,-391,-391,-391,-391,-391,120,90,91,-391,-391,-391,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,121,-392,-392,-392,-392,-392,120,90,91,-392,-392,-392,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,120,-393,-393,-393,-393,-393,-393,119,104,103,102,105,106,107,-393,-393,-393,-393,-393,-393,114,115,-393,-393,23,80,42,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,439,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,121,-362,-362,-362,-362,-362,120,90,91,-362,-362,-362,-362,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,121,-364,-364,-364,-364,-364,120,90,91,-364,-364,-364,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,3,124,44,2,441,440,442,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,443,192,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,444,192,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,445,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,121,-361,-361,-361,-361,-361,120,90,91,-361,-361,-361,-361,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,121,-363,-363,-363,-363,-363,120,90,91,-363,-363,-363,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,26,86,14,22,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,306,446,121,447,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,98,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,2,1,2,1,1,1,1,1,1,7,2,8,7,4,1,5,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,448,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,306,32,37,36,78,79,63,165,166,84,85,66,49,449,33,35,38,82,83,93,56,58,64,65,80,303,305,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,100,450,1,100,451,96,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,6,2,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,452,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,-266,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,-266,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,453,-73,-73,-73,-73,-73,-73,-73,-73,-70,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,52,11,20,9,3,3,3,4,2,1,7,1,6,1,1,1,1,1,8,2,6,3,6,2,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,52,11,20,9,3,3,3,4,2,1,7,1,6,1,1,1,1,1,8,2,6,3,6,2,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,99,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,2,1,2,1,1,1,1,1,1,7,2,8,7,4,1,5,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,454,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,455,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,306,32,37,36,78,79,63,165,166,84,85,66,49,456,33,35,38,82,83,93,56,58,64,65,80,303,305,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,457,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,458,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,459,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,460,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,461,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,462,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,120,-79,-79,-79,-79,-79,-79,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,463,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,464,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,121,-32,-32,-32,-32,-32,120,90,91,-32,-32,-32,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,465,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,466,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,121,-35,-35,-35,-35,-35,120,90,91,-35,-35,-35,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,467,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,468,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,121,-38,-38,-38,-38,-38,120,90,91,-38,-38,-38,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,469,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,470,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,121,-41,-41,-41,-41,-41,120,90,91,-41,-41,-41,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,471,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,472,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,105,1,1,473,84,85,17,6,26,3,4,1,7,2,33,1,1,1,1,23,1,1,10,4,-126,150,-126,-126,-126,153,98,151,155,-126,154,149,474,148,152,93,-126,2,6,33,475,476,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,477,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,6,6,29,4,1,28,36,-134,-134,-134,-134,-134,-134,28,6,29,4,1,28,16,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,57,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,7,1,3,2,1,3,1,1,5,2,5,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,2,6,34,101,478,9,6,29,4,1,28,16,20,4,17,-125,-125,-125,-125,332,-125,479,333,-125,1,40,480,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,120,-395,-395,-395,-395,-395,-395,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,481,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,482,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,121,-45,-45,-45,-45,-45,120,90,91,-45,-45,-45,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,483,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,484,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,7,4,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,485,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,2,36,3,486,158,6,32,4,3,8,2,72,487,489,158,488,98,93,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,490,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,491,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,492,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,124,493,1,170,494,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,495,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,10,32,15,2,33,1,2,25,1,10,51,150,153,98,151,155,154,193,152,93,496,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,497,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,174,2,1,498,362,363,4,40,135,1,1,499,500,501,363,3,40,135,2,-350,-350,-350,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,9,1,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,503,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,502,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,43,1,5,29,1,3,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,504,158,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,120,-199,-199,-199,-199,-199,-199,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,505,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,40,506,1,40,507,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,120,-52,-52,-52,-52,-52,-52,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,18,6,26,2,1,4,1,7,2,19,14,1,2,1,18,5,1,1,10,-127,150,508,-127,-127,-127,153,98,-127,151,155,154,149,-127,147,148,152,93,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,1,40,509,3,54,1,1,510,99,100,3,121,12,5,512,511,214,3,54,1,1,513,99,100,1,48,514,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,516,-125,515,-125,5,6,33,1,28,57,-212,-212,-212,-212,-212,6,32,7,10,85,1,2,380,379,98,517,378,381,6,6,33,1,28,57,11,-217,-217,-217,-217,-217,518,6,6,33,1,28,57,11,-219,-219,-219,-219,-219,519,2,32,17,520,98,14,1,5,29,4,1,8,13,7,16,78,2,1,17,1,-223,-223,-223,-223,-223,521,-223,-223,-223,-223,-223,-223,-223,-223,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,523,-125,522,-125,5,6,33,1,28,57,-235,-235,-235,-235,-235,6,32,7,10,88,3,2,387,386,98,388,524,385,6,6,33,1,28,57,11,-240,-240,-240,-240,-240,525,6,6,33,1,28,57,11,-243,-243,-243,-243,-243,526,96,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,528,527,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,529,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,121,-230,120,90,91,-230,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,47,74,530,93,3,54,1,1,531,99,100,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,2,6,34,101,532,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,533,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,56,6,5,20,8,1,3,3,3,4,2,1,7,1,4,2,1,1,1,1,1,8,1,1,1,5,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,402,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,5,6,33,1,28,16,-282,-282,-282,-282,-282,2,39,45,535,534,110,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,3,4,2,8,7,1,5,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-126,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-126,30,-126,-126,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,-126,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,-126,58,64,65,80,537,231,536,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,4,6,33,1,44,538,-283,-283,-283,56,6,5,20,8,1,3,3,3,4,2,1,7,1,4,2,1,1,1,1,1,8,1,1,1,5,3,8,1,3,1,12,1,1,1,7,2,8,7,10,4,1,3,1,2,4,2,6,2,3,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,9,6,29,4,1,28,16,24,17,24,-125,-125,-125,-125,400,-125,401,-125,539,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,6,2,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,398,397,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,28,6,29,4,1,28,16,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-140,-140,-140,-140,-140,-140,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,540,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,541,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,543,-125,542,-125,5,6,29,4,1,28,-267,-267,-267,-267,-267,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,6,1,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,412,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,544,80,411,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,5,7,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,5,7,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,545,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,546,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,547,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,548,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,549,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,3,6,33,86,551,552,550,23,6,26,3,4,1,9,1,1,1,1,1,1,1,21,1,1,2,1,1,1,1,1,39,-126,257,-126,-126,-126,98,258,241,255,94,95,99,100,553,554,260,252,259,253,-126,254,261,-126,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,555,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,556,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,23,84,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,557,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,558,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,16,6,27,6,1,15,1,12,24,3,1,1,1,1,2,24,19,-95,-97,-95,-95,-250,-250,-95,559,-97,-97,-97,-97,-97,-97,-95,134,16,6,27,6,1,15,1,12,24,3,1,1,1,1,2,24,19,-96,-250,-96,-96,-250,-250,-96,560,561,562,563,564,565,566,-96,134,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,7,33,22,1,36,3,4,45,-250,-250,-250,567,236,237,134,2,33,60,238,568,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,56,1,5,27,2,4,1,15,1,2,2,1,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,55,1,2,2,-62,-62,-62,-62,2,6,55,101,569,99,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,570,3,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,4,55,1,2,2,-65,-65,-65,-65,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,571,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,572,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,573,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,574,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,124,575,1,170,576,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,577,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,96,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,6,2,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,578,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,-264,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,-264,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,26,40,46,36,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,579,306,121,447,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,40,580,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,24,40,60,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,581,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,26,86,14,22,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,306,582,121,447,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,98,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,2,1,2,1,1,1,1,1,1,7,2,8,7,4,1,5,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,583,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,306,32,37,36,78,79,63,165,166,84,85,66,49,584,33,35,38,82,83,93,56,58,64,65,80,303,305,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,100,585,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,586,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,587,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,588,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,589,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,590,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,120,-80,-80,-80,-80,-80,-80,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,591,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,121,-33,-33,-33,-33,-33,120,90,91,-33,-33,-33,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,592,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,121,-36,-36,-36,-36,-36,120,90,91,-36,-36,-36,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,593,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,121,-39,-39,-39,-39,-39,120,90,91,-39,-39,-39,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,594,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,121,-42,-42,-42,-42,-42,120,90,91,-42,-42,-42,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,595,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,100,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,597,4,5,6,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,596,30,158,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,39,40,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,6,6,29,4,1,28,36,-129,-129,-129,-129,-129,-129,11,32,15,2,33,1,2,1,23,1,1,10,150,153,98,151,155,154,149,598,148,152,93,18,6,26,2,1,4,1,7,2,19,14,1,2,1,18,5,1,1,10,-127,150,599,-127,-127,-127,153,98,-127,151,155,154,149,-127,147,148,152,93,28,6,29,4,1,28,36,18,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-133,-133,-133,-133,-133,-133,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,57,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,7,1,3,2,1,3,1,1,5,2,5,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,3,105,1,1,600,84,85,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,601,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,120,-397,-397,-397,-397,-397,-397,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,602,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,36,3,603,158,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,2,36,3,604,158,2,36,3,605,158,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,7,4,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,26,36,3,83,4,37,1,1,4,13,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,606,158,121,607,120,90,91,608,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,609,158,121,610,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,611,158,121,612,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,613,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,614,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,615,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,3,124,44,2,-345,-345,-345,26,68,54,2,39,1,1,3,2,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-343,121,-343,120,90,91,-343,-343,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,4,40,135,1,1,616,617,501,363,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,2,36,3,618,158,3,40,135,2,-351,-351,-351,3,36,3,29,619,158,620,24,39,29,54,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,43,1,5,29,1,3,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,-203,621,158,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,120,-203,-203,-203,-203,-203,-203,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,8,6,29,4,1,28,16,24,17,-125,622,-125,-125,332,-125,333,-125,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,1,48,623,6,32,7,10,85,1,2,380,379,98,624,378,381,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,3,54,1,1,625,99,100,3,6,33,86,627,628,626,10,6,26,3,4,1,9,35,41,10,2,-126,380,-126,-126,-126,98,-126,-126,629,381,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,516,-125,630,-125,2,32,17,631,98,2,32,17,632,98,1,48,-222,3,54,1,1,633,99,100,3,6,33,86,635,636,634,10,6,26,3,4,1,9,35,41,12,5,-126,387,-126,-126,-126,98,-126,-126,388,637,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,523,-125,638,-125,3,32,17,88,639,98,640,2,32,17,641,98,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,121,-227,120,-227,-227,-227,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,642,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,643,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,40,644,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,1,162,645,23,84,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,646,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,1,4,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,229,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,404,647,231,228,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,5,6,33,1,28,16,-277,-277,-277,-277,-277,105,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,1,3,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,6,2,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,-284,-284,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,-284,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,398,397,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,104,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,1,5,1,1,2,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,230,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,404,231,648,227,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,2,39,1,535,649,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,650,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,3,6,29,4,652,651,653,106,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,3,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,1,1,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,3,4,2,8,7,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,-126,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,-126,30,-126,-126,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,-126,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,-126,58,64,65,80,654,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,543,-125,655,-125,2,36,3,656,158,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,120,-303,-303,-303,-303,-303,-303,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,120,-305,-305,-305,-305,-305,-305,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,27,6,33,1,28,54,3,38,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,657,-84,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,658,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,17,32,17,1,1,1,1,1,1,1,21,1,1,2,1,1,2,1,257,98,258,241,255,94,95,99,100,659,554,260,252,259,253,254,261,23,6,26,7,1,9,1,1,1,1,1,1,1,12,9,1,1,2,1,1,2,1,39,3,-192,257,-192,-192,98,258,241,255,94,95,99,100,-192,256,554,260,252,259,253,254,261,-192,660,5,6,33,1,28,57,-194,-194,-194,-194,-194,6,6,33,1,28,12,45,-82,-82,-82,-82,661,-82,27,6,33,1,28,54,3,38,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,121,-86,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,662,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,6,6,33,1,28,12,45,-92,-92,-92,-92,-92,-92,23,84,38,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,663,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,2,33,60,238,664,2,33,60,238,665,2,50,1,666,241,2,50,1,667,241,15,6,27,6,1,10,1,17,27,1,1,1,1,2,24,19,-110,-110,-110,-110,668,241,-110,-110,-110,-110,-110,-110,-110,-110,-110,15,6,27,6,1,10,1,17,27,1,1,1,1,2,24,19,-111,-111,-111,-111,669,241,-111,-111,-111,-111,-111,-111,-111,-111,-111,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,670,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,671,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,99,672,2,33,60,238,673,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,4,55,1,2,2,-63,-63,-63,-63,2,6,34,101,674,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,120,-394,-394,-394,-394,-394,-394,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,675,-327,-327,120,-327,-327,-327,676,-327,-327,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,677,-332,-332,120,-332,-332,-332,-332,-332,-332,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,678,-336,-336,120,-336,-336,-336,-336,-336,-336,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,679,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,680,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,120,-341,-341,-341,-341,-341,-341,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,40,60,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,100,681,1,100,682,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-69,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,26,40,46,36,28,1,12,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,683,306,121,447,305,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,40,684,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,685,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,100,686,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,687,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,9,1,5,29,4,1,21,7,16,78,-121,-121,-121,-121,-121,-121,-121,-121,-121,6,6,29,4,1,28,36,-130,-130,-130,-130,-130,-130,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,332,-125,688,-125,2,36,3,596,158,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,5,7,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,7,4,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,7,4,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,689,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,690,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,691,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,692,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,693,158,121,694,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,695,158,121,696,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,2,36,3,697,158,1,40,698,4,6,34,135,2,699,-352,-352,-352,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,700,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,2,36,3,701,158,3,54,1,1,702,99,100,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,516,-125,703,-125,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,1,48,704,4,32,17,86,2,380,98,705,381,6,32,7,10,85,1,2,380,379,98,706,378,381,5,6,33,1,28,57,-213,-213,-213,-213,-213,3,6,33,1,627,628,707,5,6,33,1,28,57,-218,-218,-218,-218,-218,5,6,33,1,28,57,-220,-220,-220,-220,-220,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,14,1,5,29,4,1,8,13,7,16,78,2,1,17,1,-224,-224,-224,-224,-224,708,-224,-224,-224,-224,-224,-224,-224,-224,4,32,17,88,5,387,98,388,709,6,32,7,10,88,3,2,387,386,98,388,710,385,5,6,33,1,28,57,-236,-236,-236,-236,-236,3,6,33,1,635,636,711,5,6,33,1,28,57,-241,-241,-241,-241,-241,5,6,33,1,28,57,-242,-242,-242,-242,-242,5,6,33,1,28,57,-244,-244,-244,-244,-244,31,1,5,29,4,1,21,7,16,38,40,1,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,121,-228,120,-228,-228,-228,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,712,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,9,6,29,4,1,28,16,24,17,24,-125,-125,-125,-125,400,-125,401,-125,713,5,6,33,1,28,16,-278,-278,-278,-278,-278,5,6,33,1,28,16,-279,-279,-279,-279,-279,1,100,714,54,1,5,27,2,4,1,15,1,5,5,2,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,100,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,7,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,80,715,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,102,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,1,1,1,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,1,2,1,1,1,3,8,1,2,1,1,4,1,1,3,1,1,1,1,1,1,7,2,8,6,1,6,4,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,336,232,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,412,50,24,25,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,234,32,37,36,78,79,63,39,40,84,85,66,233,49,33,35,38,82,83,93,56,58,64,65,716,80,411,53,59,76,54,90,91,55,92,46,57,51,88,52,89,41,42,62,43,44,45,47,48,5,6,29,4,1,28,-268,-268,-268,-268,-268,3,6,33,1,652,653,717,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,14,32,15,2,33,1,2,25,1,5,5,2,4,44,1,150,153,98,151,77,154,193,152,289,93,718,719,288,192,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,720,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,5,6,33,1,28,57,-195,-195,-195,-195,-195,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,421,-125,721,-125,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,722,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,549,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,723,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,6,6,33,1,28,12,45,-93,-93,-93,-93,-93,-93,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,724,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,725,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,95,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,4,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,726,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,727,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,1,61,728,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,729,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,730,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,731,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,732,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,733,-334,-334,120,-334,-334,-334,-334,-334,-334,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,734,-338,-338,120,-338,-338,-338,-338,-338,-338,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,1,100,735,1,100,736,1,100,737,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,1,100,738,3,6,33,1,475,476,739,25,36,3,83,41,1,1,4,13,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,740,158,121,120,90,91,741,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,25,36,3,83,4,37,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,742,158,121,743,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,744,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,745,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,746,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,747,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,40,748,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,3,40,135,2,-353,-353,-353,24,39,29,54,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,3,6,33,86,627,628,749,3,54,1,1,750,99,100,5,6,33,1,28,57,-214,-214,-214,-214,-214,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,516,-125,751,-125,5,6,33,1,28,57,-215,-215,-215,-215,-215,3,54,1,1,752,99,100,5,6,33,1,28,57,-237,-237,-237,-237,-237,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,523,-125,753,-125,5,6,33,1,28,57,-238,-238,-238,-238,-238,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,39,1,535,754,53,1,5,27,2,4,1,15,1,5,7,12,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,5,6,29,4,1,28,-269,-269,-269,-269,-269,8,6,29,4,1,28,16,24,17,-125,-125,-125,-125,543,-125,755,-125,5,6,29,4,1,28,-270,-270,-270,-270,-270,3,124,44,2,756,440,442,11,32,15,2,33,1,2,25,1,10,2,49,150,153,98,151,155,154,193,152,93,757,192,5,6,33,1,28,57,-85,-85,-85,-85,-85,3,6,33,1,551,552,758,27,6,33,1,28,54,3,38,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,121,-84,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,5,6,33,1,28,57,-87,-87,-87,-87,-87,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,759,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,23,100,22,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,760,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,761,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,4,55,1,2,2,-64,-64,-64,-64,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,120,-328,-328,-328,762,-328,-328,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,763,-329,-329,120,-329,-329,-329,-329,-329,-329,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,120,-333,-333,-333,-333,-333,-333,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,120,-337,-337,-337,-337,-337,-337,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,764,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,765,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,62,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,4,13,1,7,11,2,1,3,1,1,12,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,6,6,29,4,1,28,36,-131,-131,-131,-131,-131,-131,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,766,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,767,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,768,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,769,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,1,48,770,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,3,6,33,1,627,628,771,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,3,6,33,1,635,636,772,5,6,33,1,28,16,-280,-280,-280,-280,-280,3,6,33,1,652,653,773,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,774,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,124,775,5,6,33,1,28,57,-196,-196,-196,-196,-196,1,100,776,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,23,40,82,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,777,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,778,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,779,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,120,-335,-335,-335,-335,-335,-335,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,120,-339,-339,-339,-339,-339,-339,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,780,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,24,36,3,83,41,1,1,17,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,781,158,121,120,90,91,118,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,3,54,1,1,782,99,100,5,6,33,1,28,57,-216,-216,-216,-216,-216,5,6,33,1,28,57,-239,-239,-239,-239,-239,5,6,29,4,1,28,-271,-271,-271,-271,-271,43,1,5,29,4,1,21,7,12,4,2,14,4,4,14,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,785,-332,-332,-332,-332,-332,783,-332,-332,-332,784,-332,-332,120,-332,-332,-332,-332,-332,-332,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,786,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,1,100,787,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,120,-330,-330,-330,-330,-330,-330,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,42,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,120,-331,-331,-331,-331,-331,-331,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,41,1,5,29,4,1,21,7,12,4,2,14,4,18,2,1,1,25,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,13,1,5,29,4,1,21,7,16,78,2,1,17,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,1,125,788,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,789,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,6,6,29,4,1,44,41,-126,-126,-126,-126,-126,-126,43,1,5,29,4,1,21,7,12,4,2,14,4,4,14,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,785,-334,-334,-334,-334,-334,790,-334,-334,-334,791,-334,-334,120,-334,-334,-334,-334,-334,-334,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,13,6,27,6,1,28,27,1,1,1,1,2,24,19,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,43,1,5,29,4,1,21,7,12,4,2,14,4,4,14,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,785,-333,-333,-333,-333,-333,792,-333,-333,-333,-333,-333,-333,120,-333,-333,-333,-333,-333,-333,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,1,125,793,94,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,6,3,1,2,3,1,1,1,1,6,1,1,1,4,1,1,1,1,1,1,7,1,2,3,1,1,1,3,8,1,2,1,1,4,2,3,1,1,1,1,1,1,7,2,8,7,10,4,1,2,1,1,1,1,4,2,5,1,1,1,3,1,1,1,1,1,1,1,794,161,26,27,28,29,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,61,86,30,50,60,67,98,68,94,95,99,100,70,96,97,34,31,69,71,72,73,74,75,87,77,81,32,37,36,78,79,63,165,166,84,85,66,49,33,35,38,82,83,93,56,58,64,65,80,53,59,76,54,90,91,55,92,46,57,51,88,52,89,167,168,169,43,44,45,47,48,1,125,795,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,43,1,5,29,4,1,21,7,12,4,2,14,4,4,14,2,1,1,25,11,1,1,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,785,-335,-335,-335,-335,-335,796,-335,-335,-335,-335,-335,-335,120,-335,-335,-335,-335,-335,-335,119,104,103,102,105,106,107,108,109,110,111,112,113,114,115,116,117,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,1,125,797,58,1,5,27,2,3,1,1,1,1,1,12,1,5,7,8,4,4,2,9,1,1,1,1,1,1,3,11,7,2,1,1,17,1,7,11,2,1,3,1,1,12,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190],_=[],E=0,X,R,A,$;while(E<U.length){X=U[E++],R={},A=0,$=[];while(X--)A+=U[E++],$.push(A);for(A of $)R[A]=U[E++];_.push(R)}return _})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,30,6,30,3,18,3,18,4,18,5,19,3,19,4,19,5,20,3,20,4,20,5,21,3,21,4,21,5,21,2,21,3,21,4,8,1,8,1,29,1,29,2,29,4,29,3,36,2,36,3,32,1,50,1,52,1,52,1,54,1,54,3,57,1,57,2,59,3,59,5,59,2,59,1,62,1,62,3,67,3,67,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,17,3,17,4,17,5,77,1,77,1,77,3,77,5,77,3,77,5,81,1,81,1,81,1,78,1,78,3,78,4,78,1,79,2,79,2,87,1,87,1,87,1,87,1,87,1,87,3,87,2,87,3,87,3,87,3,87,3,87,3,87,3,87,2,87,2,87,4,87,6,87,5,87,7,10,2,10,4,10,1,15,5,15,2,44,5,44,2,105,1,105,1,108,0,108,1,34,0,34,1,34,3,34,4,34,6,109,1,109,3,109,2,109,1,110,1,110,1,110,1,110,1,112,2,113,1,113,1,113,3,113,3,113,3,113,3,113,2,113,2,113,4,113,6,113,4,113,6,113,4,113,5,113,7,113,5,113,7,113,5,113,7,113,3,113,3,113,3,113,3,113,2,113,2,113,4,113,6,113,5,113,7,37,1,37,1,37,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,89,3,89,4,89,6,118,3,118,3,47,10,47,12,47,11,47,13,47,4,128,0,128,1,128,3,128,4,128,6,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,12,2,12,4,12,4,12,5,12,7,12,6,12,9,134,1,134,3,134,4,134,4,134,6,135,1,135,3,135,1,135,3,132,1,133,3,13,3,13,5,13,2,13,2,13,4,13,5,13,6,13,3,13,5,13,4,13,5,13,7,140,1,140,3,140,4,140,4,140,6,142,1,142,3,142,3,142,1,142,3,65,3,65,3,65,3,65,2,65,2,92,0,92,1,93,2,93,4,90,1,90,1,82,2,111,2,111,3,111,4,150,1,150,1,116,5,114,3,114,2,114,2,114,1,145,1,145,3,145,4,145,4,145,6,152,1,152,1,152,1,152,1,148,1,148,3,148,4,148,4,148,6,153,1,153,2,149,1,149,2,147,1,147,2,154,1,154,2,155,1,155,3,23,2,23,3,23,4,23,5,157,3,157,3,157,2,28,2,28,4,88,3,88,5,163,2,163,4,163,2,163,4,24,2,24,2,24,2,24,1,166,2,166,2,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,3,25,5,172,1,172,3,123,1,123,3,26,5,26,7,26,4,26,6,174,1,174,2,176,3,176,4,178,3,178,5,180,3,180,5,22,1,22,3,22,1,22,3,22,3,22,3,22,3,45,2,45,2,45,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,117,2],ruleActions:(U,_,E,X)=>{let R=_,A=_.length-1;switch(U){case 1:return["program"];case 2:return["program",...R[A]];case 3:case 61:case 128:case 193:case 212:case 235:case 267:case 281:case 285:case 344:case 350:return[R[A]];case 4:case 129:case 194:case 213:case 236:case 268:return[...R[A-2],R[A]];case 5:case 63:case 288:return R[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 47:case 48:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 71:case 72:case 73:case 76:case 77:case 78:case 83:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 99:case 100:case 101:case 123:case 124:case 125:case 126:case 132:case 136:case 137:case 138:case 139:case 141:case 142:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 178:case 179:case 180:case 181:case 217:case 219:case 221:case 240:case 243:case 272:case 273:case 274:case 276:case 289:case 309:case 342:case 358:case 360:return R[A];case 30:return["def",R[A-4],R[A-2],R[A]];case 31:return["def",R[A-1],[],R[A]];case 32:return["state",R[A-2],R[A]];case 33:return["state",R[A-3],R[A]];case 34:return["state",R[A-4],R[A-1]];case 35:return["computed",R[A-2],R[A]];case 36:return["computed",R[A-3],R[A]];case 37:return["computed",R[A-4],R[A-1]];case 38:return["readonly",R[A-2],R[A]];case 39:return["readonly",R[A-3],R[A]];case 40:return["readonly",R[A-4],R[A-1]];case 41:return["effect",R[A-2],R[A]];case 42:return["effect",R[A-3],R[A]];case 43:return["effect",R[A-4],R[A-1]];case 44:case 45:return["effect",null,R[A]];case 46:return["effect",null,R[A-1]];case 49:return["yield"];case 50:return["yield",R[A]];case 51:return["yield",R[A-1]];case 52:return["yield-from",R[A]];case 53:return["block"];case 54:return["block",...R[A-1]];case 60:return["str",...R[A-1]];case 62:case 282:case 286:case 351:return[...R[A-1],R[A]];case 64:case 215:case 238:case 253:case 270:return R[A-2];case 65:return"";case 68:return["regex",R[A-1]];case 69:return["regex-index",R[A-2],R[A]];case 70:return["regex-index",R[A],null];case 74:return"undefined";case 75:return"null";case 79:return["=",R[A-2],R[A]];case 80:return["=",R[A-3],R[A]];case 81:return["=",R[A-4],R[A-1]];case 82:return[R[A],R[A],null];case 84:return[R[A-2],R[A],":"];case 85:return[R[A-4],R[A-1],":"];case 86:return[R[A-2],R[A],"="];case 87:return[R[A-4],R[A-1],"="];case 92:return["dynamicKey",R[A-1]];case 93:return["[]","this",R[A-1]];case 95:case 96:case 140:return["...",R[A]];case 102:case 248:return["super",...R[A]];case 103:case 249:return["import",...R[A]];case 104:case 105:return[R[A-2],...R[A]];case 106:case 143:case 160:return[".",R[A-2],R[A]];case 107:case 144:case 161:return["?.",R[A-2],R[A]];case 108:case 145:case 162:return["::",R[A-2],R[A]];case 109:case 146:case 163:return["?::",R[A-2],R[A]];case 110:case 147:case 164:return["::",R[A-1],"prototype"];case 111:case 148:case 165:return["?::",R[A-1],"prototype"];case 112:case 149:case 151:case 166:return["[]",R[A-3],R[A-1]];case 113:case 150:case 152:case 167:return["[]",R[A-5],R[A-2]];case 114:case 154:case 156:case 168:return["?[]",R[A-4],R[A-1]];case 115:case 155:case 157:case 169:return["?[]",R[A-6],R[A-2]];case 116:return["return",R[A]];case 117:return["return",R[A-1]];case 118:return["return"];case 119:case 121:return[R[A-1],R[A-3],R[A]];case 120:case 122:return[R[A-1],[],R[A]];case 127:case 192:case 252:case 283:return[];case 130:case 195:case 214:case 237:case 269:return[...R[A-3],R[A]];case 131:case 196:case 216:case 239:case 271:return[...R[A-5],...R[A-2]];case 133:case 343:return["default",R[A-2],R[A]];case 134:return["rest",R[A]];case 135:return["expansion"];case 153:return[R[A-1][0],R[A-3],...R[A-1].slice(1)];case 158:return["optindex",R[A-4],R[A-1]];case 159:return["optindex",R[A-6],R[A-2]];case 182:return[".","super",R[A]];case 183:return["[]","super",R[A-1]];case 184:return["[]","super",R[A-2]];case 185:return[".","new",R[A]];case 186:return[".","import",R[A]];case 187:return["object-comprehension",R[A-8],R[A-6],[["for-of",R[A-4],R[A-2],!1]],[]];case 188:return["object-comprehension",R[A-10],R[A-8],[["for-of",R[A-6],R[A-4],!1]],[R[A-2]]];case 189:return["object-comprehension",R[A-9],R[A-7],[["for-of",R[A-4],R[A-2],!0]],[]];case 190:return["object-comprehension",R[A-11],R[A-9],[["for-of",R[A-6],R[A-4],!0]],[R[A-2]]];case 191:return["object",...R[A-2]];case 197:return["class",null,null];case 198:return["class",null,null,R[A]];case 199:return["class",null,R[A]];case 200:return["class",null,R[A-1],R[A]];case 201:return["class",R[A],null];case 202:return["class",R[A-1],null,R[A]];case 203:return["class",R[A-2],R[A]];case 204:return["class",R[A-3],R[A-1],R[A]];case 205:case 208:return["import","{}",R[A]];case 206:case 207:return["import",R[A-2],R[A]];case 209:return["import",R[A-4],R[A]];case 210:return["import",[R[A-4],R[A-2]],R[A]];case 211:return["import",[R[A-7],R[A-4]],R[A]];case 218:case 220:case 241:case 242:case 244:case 345:return[R[A-2],R[A]];case 222:return["*",R[A]];case 223:return["export","{}"];case 224:return["export",R[A-2]];case 225:case 226:return["export",R[A]];case 227:return["export",["=",R[A-2],R[A]]];case 228:return["export",["=",R[A-3],R[A]]];case 229:return["export",["=",R[A-4],R[A-1]]];case 230:return["export-default",R[A]];case 231:return["export-default",R[A-1]];case 232:return["export-all",R[A]];case 233:return["export-from","{}",R[A]];case 234:return["export-from",R[A-4],R[A]];case 245:return["tagged-template",R[A-2],R[A]];case 246:return R[A-1]?["?call",R[A-2],...R[A]]:[R[A-2],...R[A]];case 247:return["optcall",R[A-2],...R[A]];case 250:case 287:return null;case 251:return!0;case 254:case 255:return"this";case 256:return[".","this",R[A]];case 257:return["array"];case 258:return["array",...R[A-1]];case 259:return["array",...R[A-2],...R[A-1]];case 260:return"..";case 261:case 275:return"...";case 262:return[R[A-2],R[A-3],R[A-1]];case 263:case 382:case 384:case 385:case 393:case 395:return[R[A-1],R[A-2],R[A]];case 264:return[R[A],R[A-1],null];case 265:return[R[A-1],null,R[A]];case 266:return[R[A],null,null];case 277:return[...R[A-2],...R[A]];case 278:return[...R[A-3],...R[A]];case 279:return[...R[A-2],...R[A-1]];case 280:return[...R[A-5],...R[A-4],...R[A-2],...R[A-1]];case 284:return[...R[A]];case 290:return Array.isArray(R[A-2])?[...R[A-2],R[A]]:[R[A-2],R[A]];case 291:return["try",R[A]];case 292:return["try",R[A-1],R[A]];case 293:return["try",R[A-2],R[A]];case 294:return["try",R[A-3],R[A-2],R[A]];case 295:case 296:case 365:case 368:case 370:return[R[A-1],R[A]];case 297:return[null,R[A]];case 298:return["throw",R[A]];case 299:return["throw",R[A-1]];case 300:return R[A-1].length===1?R[A-1][0]:R[A-1];case 301:return R[A-2].length===1?R[A-2][0]:R[A-2];case 302:return["while",R[A]];case 303:return["while",R[A-2],R[A]];case 304:return["until",R[A]];case 305:return["until",R[A-2],R[A]];case 306:return R[A-1].length===2?[R[A-1][0],R[A-1][1],R[A]]:[R[A-1][0],R[A-1][1],R[A-1][2],R[A]];case 307:case 308:return R[A].length===2?[R[A][0],R[A][1],[R[A-1]]]:[R[A][0],R[A][1],R[A][2],[R[A-1]]];case 310:return["loop",R[A]];case 311:return["loop",[R[A]]];case 312:return["for-in",R[A-3],R[A-1],null,null,R[A]];case 313:return["for-in",R[A-5],R[A-3],null,R[A-1],R[A]];case 314:return["for-in",R[A-5],R[A-3],R[A-1],null,R[A]];case 315:return["for-in",R[A-7],R[A-5],R[A-1],R[A-3],R[A]];case 316:return["for-in",R[A-7],R[A-5],R[A-3],R[A-1],R[A]];case 317:return["for-of",R[A-3],R[A-1],!1,null,R[A]];case 318:return["for-of",R[A-5],R[A-3],!1,R[A-1],R[A]];case 319:return["for-of",R[A-3],R[A-1],!0,null,R[A]];case 320:return["for-of",R[A-5],R[A-3],!0,R[A-1],R[A]];case 321:return["for-from",R[A-3],R[A-1],!1,null,R[A]];case 322:return["for-from",R[A-5],R[A-3],!1,R[A-1],R[A]];case 323:return["for-from",R[A-3],R[A-1],!0,null,R[A]];case 324:return["for-from",R[A-5],R[A-3],!0,R[A-1],R[A]];case 325:return["for-in",[],R[A-1],null,null,R[A]];case 326:return["for-in",[],R[A-3],R[A-1],null,R[A]];case 327:return["comprehension",R[A-4],[["for-in",R[A-2],R[A],null]],[]];case 328:return["comprehension",R[A-6],[["for-in",R[A-4],R[A-2],null]],[R[A]]];case 329:return["comprehension",R[A-6],[["for-in",R[A-4],R[A-2],R[A]]],[]];case 330:return["comprehension",R[A-8],[["for-in",R[A-6],R[A-4],R[A]]],[R[A-2]]];case 331:return["comprehension",R[A-8],[["for-in",R[A-6],R[A-4],R[A-2]]],[R[A]]];case 332:return["comprehension",R[A-4],[["for-of",R[A-2],R[A],!1]],[]];case 333:return["comprehension",R[A-6],[["for-of",R[A-4],R[A-2],!1]],[R[A]]];case 334:return["comprehension",R[A-5],[["for-of",R[A-2],R[A],!0]],[]];case 335:return["comprehension",R[A-7],[["for-of",R[A-4],R[A-2],!0]],[R[A]]];case 336:return["comprehension",R[A-4],[["for-from",R[A-2],R[A],!1,null]],[]];case 337:return["comprehension",R[A-6],[["for-from",R[A-4],R[A-2],!1,null]],[R[A]]];case 338:return["comprehension",R[A-5],[["for-from",R[A-2],R[A],!0,null]],[]];case 339:return["comprehension",R[A-7],[["for-from",R[A-4],R[A-2],!0,null]],[R[A]]];case 340:return["comprehension",R[A-2],[["for-in",[],R[A],null]],[]];case 341:return["comprehension",R[A-4],[["for-in",[],R[A-2],R[A]]],[]];case 346:return["switch",R[A-3],R[A-1],null];case 347:return["switch",R[A-5],R[A-3],R[A-1]];case 348:return["switch",null,R[A-1],null];case 349:return["switch",null,R[A-3],R[A-1]];case 352:return["when",R[A-1],R[A]];case 353:return["when",R[A-2],R[A-1]];case 354:return["if",R[A-1],R[A]];case 355:return R[A-4].length===3?["if",R[A-4][1],R[A-4][2],["if",R[A-1],R[A]]]:[...R[A-4],["if",R[A-1],R[A]]];case 356:return["unless",R[A-1],R[A]];case 357:return["if",["!",R[A-3]],R[A-2],R[A]];case 359:return R[A-2].length===3?["if",R[A-2][1],R[A-2][2],R[A]]:[...R[A-2],R[A]];case 361:case 362:return["if",R[A],[R[A-2]]];case 363:case 364:return["unless",R[A],[R[A-2]]];case 366:case 367:case 369:case 398:return["do-iife",R[A]];case 371:return["-",R[A]];case 372:return["+",R[A]];case 373:return["await",R[A]];case 374:return["await",R[A-1]];case 375:return["--",R[A],!1];case 376:return["++",R[A],!1];case 377:return["--",R[A-1],!0];case 378:return["++",R[A-1],!0];case 379:return["?",R[A-1]];case 380:return["+",R[A-2],R[A]];case 381:return["-",R[A-2],R[A]];case 383:return["**",R[A-2],R[A]];case 386:return["&",R[A-2],R[A]];case 387:return["^",R[A-2],R[A]];case 388:return["|",R[A-2],R[A]];case 389:return["&&",R[A-2],R[A]];case 390:return["||",R[A-2],R[A]];case 391:return["??",R[A-2],R[A]];case 392:return["!?",R[A-2],R[A]];case 394:return["?:",R[A-4],R[A-2],R[A]];case 396:return[R[A-3],R[A-4],R[A-1]];case 397:return[R[A-2],R[A-3],R[A]]}},parseError(U,_){let E,X,R,A,$,Y,F;if(_.recoverable)return this.trace(U);else throw R=(_.line||0)+1,E=_.loc?.first_column||0,F=_.token?` (token: ${_.token})`:"",Y=_.text?` near '${_.text}'`:"",A=`line ${R}, column ${E}`,$=`Parse error at ${A}${F}${Y}: ${U}`,X=Error($),X.hash=_,X},parse(U){let _,E,X,R,A,$,Y,F,G,M,D,J,Q,Z,O,K,H,W,q,N,z,S,T,I,L,j,w,P;[z,T,G]=[[0],[null],[]],[Z,w,L,I,W]=[this.parseTable,"",0,0,0],[E,_]=[2,1],F=Object.create(this.lexer),q={yy:{}};for(let V in this.yy)if(Object.hasOwn(this.yy,V)){let v=this.yy[V];q.yy[V]=v}if(F.setInput(U,q.yy),[q.yy.lexer,q.yy.parser]=[F,this],F.yylloc==null)F.yylloc={};j=F.yylloc,G.push(j),H=F.options?.ranges,this.parseError=typeof q.yy.parseError==="function"?q.yy.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let V;if(V=F.lex()||_,typeof V!=="number")V=this.symbolIds[V]||V;return V},[S,O,N,X,K,P,Q,$,J,A]=[null,null,null,null,null,{},null,null,null,null];while(!0){if(N=z[z.length-1],S==null)S=Y();if(X=Z[N]!=null?Z[N][S]:void 0,X==null){if(R="",!W)A=(()=>{let V=[];for(let v in Z[N]){if(!Object.hasOwn(Z[N],v))continue;if(this.tokenNames[v]&&v>E)V.push(`'${this.tokenNames[v]}'`)}return V})();throw R=(()=>{if(F.showPosition)return`Parse error on line ${L+1}:
|
|
20
|
+
${F.showPosition()}
|
|
21
|
+
Expecting ${A.join(", ")}, got '${this.tokenNames[S]||S}'`;else return`Parse error on line ${L+1}: Unexpected ${S===_?"end of input":`'${this.tokenNames[S]||S}'`}`,this.parseError(R,{text:F.match,token:this.tokenNames[S]||S,line:F.yylineno,loc:j,expected:A})})(),Error(R)}if(X>0)if(z.push(S,X),T.push(F.yytext),G.push(F.yylloc),S=null,!O){if([I,w,L,j]=[F.yyleng,F.yytext,F.yylineno,F.yylloc],W>0)W--}else[S,O]=[O,null];else if(X<0){if($=this.ruleTable[-X*2+1],P.$=T[T.length-$],[M,D]=[G[G.length-($||1)],G[G.length-1]],P._$={first_line:M.first_line,last_line:D.last_line,first_column:M.first_column,last_column:D.last_column},H)P._$.range=[M.range[0],D.range[1]];if(K=this.ruleActions.apply(P,[-X,T,G,q.yy]),K!=null)P.$=K;if($)z.length-=$*2,T.length-=$,G.length-=$;z.push(this.ruleTable[-X*2]),T.push(P.$),G.push(P._$),J=Z[z[z.length-2]][z[z.length-1]],z.push(J)}else if(X===0)return T[T.length-1]}},trace(){},yy:{}},_3=(U={})=>{let _=Object.create(A3);return Object.defineProperty(_,"yy",{value:{...U},enumerable:!1,writable:!0,configurable:!0}),_},$1=_3();var G3=$1.parse.bind($1);var E3=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","!?","not","&","|","^","<<",">>",">>>","=",".","?.","[]","?[]","::","?::","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]);function q1(U){if(!Array.isArray(U)||U.length===0)return!1;let _=U[0]?.valueOf?.()??U[0];if(E3.has(_))return!0;return U.length<=4&&!U.some(Array.isArray)}function M1(U){if(Array.isArray(U))return"(???)";if(typeof U==="number")return String(U);if(U===null)return"null";if(U==="")return'""';let _=String(U);if(_[0]==="/"&&_.indexOf(`
|
|
22
|
+
`)>=0){let E=_.match(/\/([gimsuvy]*)$/),X=E?E[1]:"",R=_.slice(1);if(X)R=R.slice(0,-X.length-1);else R=R.slice(0,-1);return`"/${R.split(`
|
|
23
|
+
`).map((Y)=>Y.replace(/#.*$/,"").trim()).join("")}/${X}"`}return _}function o(U,_=0,E=!1){if(!Array.isArray(U))return M1(U);if(E&&U[0]==="program"){let G=U[1],D=[Array.isArray(G)?"(program":"(program "+M1(G)],J=Array.isArray(G)?1:2;for(let Q=J;Q<U.length;Q++){let Z=o(U[Q],2,!1);D.push(Z[0]==="("?" "+Z:Z)}return D.push(")"),D.join(`
|
|
24
|
+
`)}let X=U[0];if(q1(U)&&U.slice(1).every((G)=>!Array.isArray(G)||q1(G))){let M=`(${U.map((D)=>Array.isArray(D)?o(D,0,!1):M1(D)).join(" ")})`;if(!M.includes(`
|
|
25
|
+
`))return" ".repeat(_)+M}let A=" ".repeat(_),$;if(Array.isArray(X)){if($=o(X,0,!1),$.includes(`
|
|
26
|
+
`))$=$.split(`
|
|
27
|
+
`).map((M,D)=>D===0?M:" ".repeat(_+2)+M).join(`
|
|
28
|
+
`)}else $=M1(X);let Y=[`${A}(${$}`],F=X==="block";for(let G=1;G<U.length;G++){let M=U[G];if(!Array.isArray(M))Y[Y.length-1]+=" "+M1(M);else{let D=q1(M)&&M.every((J)=>!Array.isArray(J)||q1(J));if(!F&&D){let J=o(M,0,!1);if(!J.includes(`
|
|
29
|
+
`)){Y[Y.length-1]+=" "+J;continue}}Y.push(o(M,_+2,!1))}}return Y[Y.length-1]+=")",Y.join(`
|
|
30
|
+
`)}class c{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_REGEX=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_REGEX=/^-?\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","::":"generatePrototype","?::":"generateOptionalPrototype","[]":"generateIndexAccess","?[]":"generateSoakIndex",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-from":"generateForFrom",while:"generateWhile",until:"generateUntil",try:"generateTry",throw:"generateThrow",switch:"generateSwitch",when:"generateWhen",comprehension:"generateComprehension","object-comprehension":"generateObjectComprehension",class:"generateClass",super:"generateSuper","?call":"generateSoakCall",import:"generateImport",export:"generateExport","export-default":"generateExportDefault","export-all":"generateExportAll","export-from":"generateExportFrom","do-iife":"generateDoIIFE",regex:"generateRegex","tagged-template":"generateTaggedTemplate",str:"generateString"};constructor(U={}){if(this.options=U,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=U.dataSection,U.reactiveVars)this.reactiveVars=new Set(U.reactiveVars)}compile(U){return this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.collectProgramVariables(U),this.generate(U)}collectProgramVariables(U){if(!Array.isArray(U))return;let[_,...E]=U,X=_ instanceof String?_.await:void 0,R=_ instanceof String?_.invert:void 0;if(_ instanceof String)_=_.valueOf();if(X!==void 0)U[0].await=X;if(R!==void 0)U[0].invert=R;if(Array.isArray(_)){U.forEach((A)=>this.collectProgramVariables(A));return}if(_==="export"||_==="export-default"||_==="export-all"||_==="export-from")return;if(_==="state"||_==="computed"||_==="readonly"){let[A]=E,$=typeof A==="string"?A:A.valueOf();if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add($);return}if(c.ASSIGNMENT_OPS.has(_)){let[A,$]=E;if(typeof A==="string"||A instanceof String){let Y=A instanceof String?A.valueOf():A;if(!this.reactiveVars?.has(Y))this.programVars.add(Y)}else if(Array.isArray(A)&&A[0]==="array")this.collectVarsFromArray(A,this.programVars);else if(Array.isArray(A)&&A[0]==="object")this.collectVarsFromObject(A,this.programVars);this.collectProgramVariables($);return}if(_==="def"||_==="->"||_==="=>")return;if(_==="if"){let[A,$,Y]=E;if(this.collectProgramVariables(A),this.collectProgramVariables($),Y)this.collectProgramVariables(Y);return}if(_==="unless"){let[A,$]=E;this.collectProgramVariables(A),this.collectProgramVariables($);return}if(_==="try"){if(this.collectProgramVariables(E[0]),E.length>=2&&Array.isArray(E[1])&&E[1].length===2&&E[1][0]!=="block"){let[A,$]=E[1];if(A&&Array.isArray(A)&&A[0]==="object")A.slice(1).forEach((Y)=>{if(Array.isArray(Y)&&Y.length===2){let F=Y[1];if(typeof F==="string")this.programVars.add(F)}});else if(A&&Array.isArray(A)&&A[0]==="array")A.slice(1).forEach((Y)=>{if(typeof Y==="string")this.programVars.add(Y)});this.collectProgramVariables($)}if(E.length===3)this.collectProgramVariables(E[2]);else if(E.length===2&&(!Array.isArray(E[1])||E[1][0]==="block"))this.collectProgramVariables(E[1]);return}E.forEach((A)=>this.collectProgramVariables(A))}collectFunctionVariables(U){let _=new Set,E=(X)=>{if(!Array.isArray(X))return;let[R,...A]=X;if(R instanceof String)R=R.valueOf();if(Array.isArray(R)){X.forEach(($)=>E($));return}if(c.ASSIGNMENT_OPS.has(R)){let[$,Y]=A;if(typeof $==="string")_.add($);else if(Array.isArray($)&&$[0]==="array")this.collectVarsFromArray($,_);else if(Array.isArray($)&&$[0]==="object")this.collectVarsFromObject($,_);E(Y);return}if(R==="def"||R==="->"||R==="=>")return;if(R==="try"){if(E(A[0]),A.length>=2&&Array.isArray(A[1])&&A[1].length===2&&A[1][0]!=="block"){let[$,Y]=A[1];if($&&Array.isArray($)&&$[0]==="object")$.slice(1).forEach((F)=>{if(Array.isArray(F)&&F.length===2&&typeof F[1]==="string")_.add(F[1])});else if($&&Array.isArray($)&&$[0]==="array")$.slice(1).forEach((F)=>{if(typeof F==="string")_.add(F)});E(Y)}if(A.length===3)E(A[2]);else if(A.length===2&&(!Array.isArray(A[1])||A[1][0]==="block"))E(A[1]);return}A.forEach(($)=>E($))};return E(U),_}generate(U,_="statement"){if(U instanceof String){if(U.await===!0)return`await ${U.valueOf()}()`;if(U.delimiter==="///"&&U.heregex){let $=U.valueOf(),Y=$.match(/^\/(.*)\/([gimsuvy]*)$/s);if(Y){let[,F,G]=Y;return`/${this.processHeregex(F)}/${G}`}return $}if(U.quote){let $=U.valueOf(),Y=U.quote;if(Y==='"""'||Y==="'''"){let G=this.extractStringContent(U);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if($[0]===Y)return $;let F=$.slice(1,-1);return`${Y}${F}${Y}`}U=U.valueOf()}if(typeof U==="string"){if(U.startsWith('"')||U.startsWith("'")||U.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive string (should be String object):",U);let $=U.slice(1,-1);if($.includes(`
|
|
31
|
+
`))return`\`${$.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let Y=$.includes("'")&&!$.includes('"')?'"':"'",F=$.replace(new RegExp(Y,"g"),`\\${Y}`);return`${Y}${F}${Y}`}if(this.reactiveVars?.has(U)&&!this.suppressReactiveUnwrap)return`${U}.value`;return U}if(typeof U==="number")return String(U);if(U===null||U===void 0)return"null";if(!Array.isArray(U))throw Error(`Invalid s-expression: ${JSON.stringify(U)}`);let[E,...X]=U,R=E instanceof String?E.await:void 0;if(E instanceof String)E=E.valueOf();let A=c.GENERATORS[E];if(A)return this[A](E,X,_,U);if(typeof E==="string"&&!E.startsWith('"')&&!E.startsWith("'")){if(c.NUMBER_START_REGEX.test(E))return E;if(E==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor"){let M=X.map((D)=>this.unwrap(this.generate(D,"value"))).join(", ");return`super.${this.currentMethodName}(${M})`}if(_==="statement"&&X.length===1){let M=this.findPostfixConditional(X[0]);if(M){let D;if(M.parentOp){let K=Array.isArray(M.value)&&M.value.length===1?M.value[0]:M.value;D=[M.parentOp,...M.otherOperands,K]}else D=Array.isArray(M.value)&&M.value.length===1?M.value[0]:M.value;let J=this.generate(E,"value"),Q=this.generate(M.condition,"value"),Z=this.generate(D,"value"),O=`${J}(${Z})`;if(M.type==="unless")return`if (!${Q}) ${O}`;else return`if (${Q}) ${O}`}}let $=R===!0,Y=this.generate(E,"value"),F=X.map((M)=>this.unwrap(this.generate(M,"value"))).join(", "),G=`${Y}(${F})`;return $?`await ${G}`:G}if(Array.isArray(E)&&typeof E[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","unless","return","throw"].includes(E[0]))return`(${U.map((F)=>this.generate(F,"value")).join(", ")})`}if(Array.isArray(E)){if(E[0]==="."&&(E[2]==="new"||E[2]instanceof String&&E[2].valueOf()==="new")){let M=E[1],D=this.generate(M,"value"),J=X.map((O)=>this.unwrap(this.generate(O,"value"))).join(", ");return`new ${Array.isArray(M)?`(${D})`:D}(${J})`}if(_==="statement"&&X.length===1){let M=this.findPostfixConditional(X[0]);if(M){let D;if(M.parentOp){let K=Array.isArray(M.value)&&M.value.length===1?M.value[0]:M.value;D=[M.parentOp,...M.otherOperands,K]}else D=Array.isArray(M.value)&&M.value.length===1?M.value[0]:M.value;let J=this.generate(E,"value"),Q=this.generate(M.condition,"value"),Z=this.generate(D,"value"),O=`${J}(${Z})`;if(M.type==="unless")return`if (!${Q}) ${O}`;else return`if (${Q}) ${O}`}}let $=!1,Y;if(Array.isArray(E)&&(E[0]==="."||E[0]==="::")&&E[2]instanceof String&&E[2].await===!0){$=!0;let[M,D]=E.slice(1),J=this.generate(M,"value"),Q=c.NUMBER_LITERAL_REGEX.test(J),Z=Array.isArray(M)&&M[0]==="object",O=Array.isArray(M)&&(M[0]==="await"||M[0]==="yield"),H=Q||Z||O?`(${J})`:J,W=D.valueOf();if(E[0]==="::")Y=`${H}.prototype.${W}`;else Y=`${H}.${W}`}else Y=this.generate(E,"value");let F=X.map((M)=>this.unwrap(this.generate(M,"value"))).join(", "),G=`${Y}(${F})`;return $?`await ${G}`:G}throw Error(`Unknown s-expression type: ${E}`)}generateProgram(U,_,E,X){let R="",A=[],$=[],Y=[];_.forEach((M)=>{if(Array.isArray(M)){let D=M[0];if(D==="import")A.push(M);else if(D==="export"||D==="export-default"||D==="export-all"||D==="export-from")$.push(M);else Y.push(M)}else Y.push(M)});let F=Y.map((M,D)=>{let J=Y.length===1&&A.length===0&&$.length===0,Q=Array.isArray(M)&&M[0]==="object",Z=Q&&M.length===2&&Array.isArray(M[1])&&Array.isArray(M[1][1])&&M[1][1][0]==="comprehension",O=Array.isArray(M)&&(M[0]==="comprehension"||M[0]==="object-comprehension"||M[0]==="do-iife"),K=this.programVars.size===0,H=J&&Q&&K&&!O&&!Z,q=D===Y.length-1&&O,N;if(H)N=`(${this.generate(M,"value")})`;else if(q)N=this.generate(M,"value");else N=this.generate(M,"statement");if(N&&!N.endsWith(";")){let z=Array.isArray(M)?M[0]:null;if(!["def","class","if","unless","for-in","for-of","for-from","while","until","loop","switch","try"].includes(z)||!N.endsWith("}"))return N+";"}return N}).join(`
|
|
32
|
+
`),G=!1;if(A.length>0)R+=A.map((M)=>this.addSemicolon(M,this.generate(M,"statement"))).join(`
|
|
33
|
+
`),G=!0;if(this.programVars.size>0){let M=Array.from(this.programVars).sort().join(", ");if(G)R+=`
|
|
34
|
+
`;R+=`let ${M};
|
|
35
|
+
`,G=!0}if(this.helpers.has("slice"))R+=`const slice = [].slice;
|
|
36
|
+
`,G=!0;if(this.helpers.has("modulo"))R+=`const modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
37
|
+
`,G=!0;if(this.helpers.has("toSearchable"))R+=`const toSearchable = (v, allowNewlines) => {
|
|
38
|
+
`,R+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
39
|
+
`,R+=` if (v == null) return "";
|
|
40
|
+
`,R+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
|
|
41
|
+
`,R+=` if (typeof v === "symbol") return v.description || "";
|
|
42
|
+
`,R+=` if (v instanceof Uint8Array || v instanceof ArrayBuffer) {
|
|
43
|
+
`,R+=` return new TextDecoder().decode(v instanceof Uint8Array ? v : new Uint8Array(v));
|
|
44
|
+
`,R+=` }
|
|
45
|
+
`,R+=` if (Array.isArray(v)) return v.join(",");
|
|
46
|
+
`,R+=` if (typeof v.toString === "function" && v.toString !== Object.prototype.toString) {
|
|
47
|
+
`,R+=` try { return v.toString(); } catch { return ""; }
|
|
48
|
+
`,R+=` }
|
|
49
|
+
`,R+=` return "";
|
|
50
|
+
`,R+=`};
|
|
51
|
+
`,G=!0;if(this.usesReactivity&&!this.options.skipReactiveRuntime)R+=this.getReactiveRuntime(),G=!0;if(this.dataSection!==null&&this.dataSection!==void 0)R+=`var DATA;
|
|
52
|
+
`,R+=`_setDataSection();
|
|
53
|
+
`,G=!0;if(G&&R.length>0)R+=`
|
|
54
|
+
`;if(R+=F,$.length>0)R+=`
|
|
55
|
+
`+$.map((M)=>this.addSemicolon(M,this.generate(M,"statement"))).join(`
|
|
56
|
+
`);if(this.dataSection!==null&&this.dataSection!==void 0)R+=`
|
|
57
57
|
|
|
58
58
|
function _setDataSection() {
|
|
59
59
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
60
|
-
}`;return
|
|
61
|
-
${this.withIndent(()=>this.formatStatements(
|
|
60
|
+
}`;return R}generateBinaryOp(U,_,E,X){if((U==="+"||U==="-")&&_.length===1){let[$]=_;return`(${U}${this.generate($,"value")})`}let[R,A]=_;if(U==="!?"){let $=this.generate(R,"value"),Y=this.generate(A,"value");return`(${$} !== undefined ? ${$} : ${Y})`}if(U==="==")U="===";if(U==="!=")U="!==";return`(${this.generate(R,"value")} ${U} ${this.generate(A,"value")})`}generateModulo(U,_,E,X){let[R,A]=_;return this.helpers.add("modulo"),`modulo(${this.generate(R,"value")}, ${this.generate(A,"value")})`}generateFloorDiv(U,_,E,X){let[R,A]=_;return`Math.floor(${this.generate(R,"value")} / ${this.generate(A,"value")})`}generateFloorDivAssign(U,_,E,X){let[R,A]=_,$=this.generate(R,"value"),Y=this.generate(A,"value");return`${$} = Math.floor(${$} / ${Y})`}generateAssignment(U,_,E,X){let[R,A]=_,$=U==="?="?"??=":U,Y=Array.isArray(A)&&(A[0]==="->"||A[0]==="=>"||A[0]==="def");if(R instanceof String&&R.await!==void 0&&!Y){let K=R.await===!0?"!":"&";throw Error(`Cannot use ${K} sigil in variable declaration '${R.valueOf()}'. Sigils are only for call-sites.`)}if(R instanceof String&&R.await===!0&&Y)this.nextFunctionIsVoid=!0;let G=Array.isArray(R)&&R[0]==="array"&&R.length===1,M=Array.isArray(R)&&R[0]==="object"&&R.length===1;if(G||M){let K=this.generate(A,"value");if(M&&E==="statement")return`(${K})`;return K}if(Array.isArray(R)&&R[0]==="array"){let K=R.slice(1).findIndex((H)=>Array.isArray(H)&&H[0]==="..."||H==="...");if(K!==-1&&K<R.length-2){let H=R.slice(1),W=H.slice(K+1),q=W.length;if(q>0){let N=this.generate(A,"value"),S=H.slice(0,K).map((P)=>{if(P===",")return"";if(typeof P==="string")return P;return this.generate(P,"value")}).join(", "),T=W.map((P)=>{if(P===",")return"";if(typeof P==="string")return P;return this.generate(P,"value")}).join(", ");this.helpers.add("slice"),((P)=>{P.forEach((V)=>{if(V===","||V==="...")return;if(typeof V==="string")this.programVars.add(V);else if(Array.isArray(V)&&V[0]==="..."){if(typeof V[1]==="string")this.programVars.add(V[1])}})})(H);let L=H[K],j=Array.isArray(L)&&L[0]==="..."?L[1]:null,w=[];if(S)w.push(`[${S}] = ${N}`);if(j)w.push(`[...${j}] = ${N}.slice(${K}, -${q})`);return w.push(`[${T}] = slice.call(${N}, -${q})`),w.join(", ")}}}if(E==="statement"&&U==="="&&Array.isArray(A)&&(A[0]==="||"||A[0]==="&&")&&A.length===3){let[K,H,W]=A;if(Array.isArray(W)&&(W[0]==="unless"||W[0]==="if")&&W.length===3){let[q,N,z]=W,S=Array.isArray(z)&&z.length===1?z[0]:z,T=[K,H,S],I=this.generate(R,"value"),L=this.generate(N,"value"),j=this.generate(T,"value");if(q==="unless")return`if (!${L}) ${I} = ${j}`;else return`if (${L}) ${I} = ${j}`}}if(E==="statement"&&U==="="&&Array.isArray(A)&&A.length===3){let K=A[0],[H,W,q]=A,N=Array.isArray(q)&&q.length===1&&(!Array.isArray(q[0])||q[0][0]!=="block");if((K==="unless"||K==="if")&&N){let z=q;if(Array.isArray(q)&&q.length===1)z=q[0];let S=this.generate(R,"value"),T=this.unwrapLogical(this.generate(W,"value")),I=this.generate(z,"value");if(K==="unless"){if(T.includes(" ")||T.includes("===")||T.includes("!==")||T.includes(">")||T.includes("<")||T.includes("&&")||T.includes("||"))T=`(${T})`;return`if (!${T}) ${S} = ${I}`}else return`if (${T}) ${S} = ${I}`}}let D;if(R instanceof String&&R.await!==void 0)D=R.valueOf();else if(typeof R==="string"&&this.reactiveVars?.has(R))D=`${R}.value`;else this.suppressReactiveUnwrap=!0,D=this.generate(R,"value"),this.suppressReactiveUnwrap=!1;let J=this.generate(A,"value");if(!(Array.isArray(A)&&A[0]==="object"))J=this.unwrap(J);let Z=E==="value",O=E==="statement"&&Array.isArray(R)&&R[0]==="object";if(Z||O)return`(${D} ${$} ${J})`;return`${D} ${$} ${J}`}generatePropertyAccess(U,_,E,X){let[R,A]=_;this.suppressReactiveUnwrap=!0;let $=this.generate(R,"value");this.suppressReactiveUnwrap=!1;let Y=c.NUMBER_LITERAL_REGEX.test($),F=Array.isArray(R)&&R[0]==="object",G=Array.isArray(R)&&(R[0]==="await"||R[0]==="yield"),D=Y||F||G?`(${$})`:$;if(A instanceof String&&A.await===!0){let Q=A.valueOf();return`await ${D}.${Q}()`}let J=A instanceof String?A.valueOf():A;return`${D}.${J}`}generateOptionalProperty(U,_,E,X){let[R,A]=_;return`${this.generate(R,"value")}?.${A}`}generatePrototype(U,_,E,X){let[R,A]=_,$=this.generate(R,"value");if(A==="prototype")return`${$}.prototype`;let Y=A instanceof String?A.valueOf():A;return`${$}.prototype.${Y}`}generateOptionalPrototype(U,_,E,X){let[R,A]=_,$=this.generate(R,"value");if(A==="prototype")return`(${$} != null ? ${$}.prototype : undefined)`;return`(${$} != null ? ${$}.prototype.${A} : undefined)`}generateRegexIndex(U,_,E,X){let[R,A,$]=_;this.helpers.add("toSearchable"),this.programVars.add("_");let Y=this.generate(R,"value"),F=this.generate(A,"value"),G=$!==null?this.generate($,"value"):"0",D=F.includes("/m")?", true":"";return`(_ = toSearchable(${Y}${D}).match(${F})) && _[${G}]`}generateIndexAccess(U,_,E,X){let[R,A]=_;if(Array.isArray(A)&&(A[0]===".."||A[0]==="...")){let Y=A[0]==="..",F=this.generate(R,"value"),[G,M]=A.slice(1);if(G===null&&M===null)return`${F}.slice()`;else if(G===null){if(Y&&this.isNegativeOneLiteral(M))return`${F}.slice(0)`;let D=this.generate(M,"value");if(Y)return`${F}.slice(0, +${D} + 1 || 9e9)`;else return`${F}.slice(0, ${D})`}else if(M===null){let D=this.generate(G,"value");return`${F}.slice(${D})`}else{let D=this.generate(G,"value");if(Y&&this.isNegativeOneLiteral(M))return`${F}.slice(${D})`;let J=this.generate(M,"value");if(Y)return`${F}.slice(${D}, +${J} + 1 || 9e9)`;else return`${F}.slice(${D}, ${J})`}}let $=this.unwrap(this.generate(A,"value"));return`${this.generate(R,"value")}[${$}]`}generateSoakIndex(U,_,E,X){let[R,A]=_,$=this.generate(R,"value"),Y=this.generate(A,"value");return`(${$} != null ? ${$}[${Y}] : undefined)`}generateOptIndex(U,_,E,X){let[R,A]=_,$=this.generate(R,"value"),Y=this.generate(A,"value");return`${$}?.[${Y}]`}generateOptCall(U,_,E,X){let[R,...A]=_,$=this.generate(R,"value"),Y=A.map((F)=>this.generate(F,"value")).join(", ");return`${$}?.(${Y})`}generateDef(U,_,E,X){let[R,A,$]=_,Y=R instanceof String&&R.await===!0,F=R instanceof String?R.valueOf():R,G=this.generateParamList(A),M=this.generateFunctionBody($,A,Y),D=this.containsAwait($),J=this.containsYield($);return`${D?"async ":""}function${J?"*":""} ${F}(${G}) ${M}`}generateThinArrow(U,_,E,X){let[R,A]=_,$=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.generateParamList(R),F=this.generateFunctionBody(A,R,$),G=this.containsAwait(A),M=this.containsYield(A),Q=`${G?"async ":""}function${M?"*":""}(${Y}) ${F}`;return E==="value"?`(${Q})`:Q}generateFatArrow(U,_,E,X){let[R,A]=_,$=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.generateParamList(R),G=R.length===1&&typeof R[0]==="string"&&!Y.includes("=")&&!Y.includes("...")&&!Y.includes("[")&&!Y.includes("{")?Y:`(${Y})`,D=this.containsAwait(A)?"async ":"";if(!$){if(Array.isArray(A)&&A[0]==="block"&&A.length===2){let Q=A[1];if(!Array.isArray(Q)||Q[0]!=="return")return`${D}${G} => ${this.generate(Q,"value")}`}if(!Array.isArray(A)||A[0]!=="block")return`${D}${G} => ${this.generate(A,"value")}`}let J=this.generateFunctionBody(A,R,$);return`${D}${G} => ${J}`}generateReturn(U,_,E,X){if(_.length===0)return"return";let[R]=_;if(this.sideEffectOnly)return"return";if(Array.isArray(R)&&R[0]==="unless"){let[,A,$]=R,Y=Array.isArray($)&&$.length===1?$[0]:$;return`if (!${this.generate(A,"value")}) return ${this.generate(Y,"value")}`}if(Array.isArray(R)&&R[0]==="if"){let[,A,$,...Y]=R;if(Y.length===0){let F=Array.isArray($)&&$.length===1?$[0]:$;return`if (${this.generate(A,"value")}) return ${this.generate(F,"value")}`}}if(Array.isArray(R)&&R[0]==="new"&&Array.isArray(R[1])&&R[1][0]==="unless"){let[,A]=R,[,$,Y]=A,F=Array.isArray(Y)&&Y.length===1?Y[0]:Y;return`if (!${this.generate($,"value")}) return ${this.generate(["new",F],"value")}`}return`return ${this.generate(R,"value")}`}generateState(U,_,E,X){let[R,A]=_;this.usesReactivity=!0;let $=typeof R==="string"?R:R.valueOf(),Y=this.generate(A,"value");if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add($),`const ${$} = __state(${Y})`}generateComputed(U,_,E,X){let[R,A]=_;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let $=typeof R==="string"?R:R.valueOf();this.reactiveVars.add($);let Y=this.generate(A,"value");return`const ${$} = __computed(() => ${Y})`}generateReadonly(U,_,E,X){let[R,A]=_,$=typeof R==="string"?R:R.valueOf(),Y=this.generate(A,"value");return`const ${$} = ${Y}`}generateEffect(U,_,E,X){let[R,A]=_;this.usesReactivity=!0;let $;if(Array.isArray(A)&&A[0]==="block"){let F=A.slice(1);$=`{
|
|
61
|
+
${this.withIndent(()=>this.formatStatements(F)).join(`
|
|
62
62
|
`)}
|
|
63
|
-
${this.indent()}}`}else if(Array.isArray(
|
|
64
|
-
${
|
|
63
|
+
${this.indent()}}`}else if(Array.isArray(A)&&(A[0]==="->"||A[0]==="=>")){let F=this.generate(A,"value");if(R)return`const ${typeof R==="string"?R:this.generate(R,"value")} = __effect(${F})`;return`__effect(${F})`}else $=`{ ${this.generate(A,"value")}; }`;let Y=`__effect(() => ${$})`;if(R)return`const ${typeof R==="string"?R:this.generate(R,"value")} = ${Y}`;return Y}generateBreak(U,_,E,X){return"break"}generateBreakIf(U,_,E,X){let[R]=_;return`if (${this.generate(R,"value")}) break`}generateContinue(U,_,E,X){return"continue"}generateContinueIf(U,_,E,X){let[R]=_;return`if (${this.generate(R,"value")}) continue`}generateExistential(U,_,E,X){let[R]=_;return`(${this.generate(R,"value")} != null)`}generateTernary(U,_,E,X){let[R,A,$]=_;return`(${this.unwrap(this.generate(R,"value"))} ? ${this.generate(A,"value")} : ${this.generate($,"value")})`}generateLoop(U,_,E,X){let[R]=_;return`while (true) ${this.generateLoopBody(R)}`}generateAwait(U,_,E,X){let[R]=_;return`await ${this.generate(R,"value")}`}generateYield(U,_,E,X){if(_.length===0)return"yield";let[R]=_;return`yield ${this.generate(R,"value")}`}generateYieldFrom(U,_,E,X){let[R]=_;return`yield* ${this.generate(R,"value")}`}generateIf(U,_,E,X){if(U==="unless"){let[Y,F]=_;if(Array.isArray(F)&&F.length===1){let M=F[0];if(!Array.isArray(M)||M[0]!=="block")F=M}if(E==="value"){let M=this.extractExpression(F);return`(!${this.generate(Y,"value")} ? ${M} : undefined)`}let G=this.unwrap(this.generate(Y,"value"));if(G.includes(" ")||G.includes("===")||G.includes("!==")||G.includes(">")||G.includes("<")||G.includes("&&")||G.includes("||"))G=`(${G})`;return`if (!${G}) `+this.generate(F,"statement")}let[R,A,...$]=_;if(E==="value")return this.generateIfAsExpression(R,A,$);else return this.generateIfAsStatement(R,A,$)}generateForIn(U,_,E,X){let[R,A,$,Y,F]=_;if(E==="value"&&this.comprehensionDepth===0){let H=["for-in",R,A,$],W=Y?[Y]:[];return this.generate(["comprehension",F,[H],W],E)}let G=Array.isArray(R)?R:[R],M=G.length===0,[D,J]=M?["_i",null]:G,Q=D;if(Array.isArray(D)&&(D[0]==="array"||D[0]==="object"))Q=this.generateDestructuringPattern(D);if($&&$!==null){let H=this.generate(A,"value"),W=J||"_i",q=this.generate($,"value"),N=this.isNegativeStep($),z=N&&($[1]==="1"||$[1]===1||$[1]instanceof String&&$[1].valueOf()==="1"),S=!N&&($==="1"||$===1||$ instanceof String&&$.valueOf()==="1"),T;if(z)T=`for (let ${W} = ${H}.length - 1; ${W} >= 0; ${W}--) `;else if(S)T=`for (let ${W} = 0; ${W} < ${H}.length; ${W}++) `;else if(N)T=`for (let ${W} = ${H}.length - 1; ${W} >= 0; ${W} += ${q}) `;else T=`for (let ${W} = 0; ${W} < ${H}.length; ${W} += ${q}) `;if(Array.isArray(F)&&F[0]==="block"){let I=F.slice(1);this.indentLevel++;let L=[];if(!M)L.push(`const ${Q} = ${H}[${W}];`);if(Y){let j=this.generate(Y,"value");L.push(`if (${j}) {`),this.indentLevel++,L.push(...this.formatStatements(I)),this.indentLevel--,L.push(this.indent()+"}")}else L.push(...I.map((j)=>this.addSemicolon(j,this.generate(j,"statement"))));return this.indentLevel--,T+`{
|
|
64
|
+
${L.map((j)=>this.indent()+j).join(`
|
|
65
65
|
`)}
|
|
66
|
-
${this.indent()}}`}else if(
|
|
66
|
+
${this.indent()}}`}else if(M)if(Y){let I=this.generate(Y,"value");return T+`{ if (${I}) ${this.generate(F,"statement")}; }`}else return T+`{ ${this.generate(F,"statement")}; }`;else if(Y){let I=this.generate(Y,"value");return T+`{ const ${Q} = ${H}[${W}]; if (${I}) ${this.generate(F,"statement")}; }`}else return T+`{ const ${Q} = ${H}[${W}]; ${this.generate(F,"statement")}; }`}if(J){let H=this.generate(A,"value"),W=`for (let ${J} = 0; ${J} < ${H}.length; ${J}++) `;if(Array.isArray(F)&&F[0]==="block"){let q=F.slice(1);if(W+=`{
|
|
67
67
|
`,this.indentLevel++,W+=this.indent()+`const ${Q} = ${H}[${J}];
|
|
68
68
|
`,Y){let N=this.unwrap(this.generate(Y,"value"));W+=this.indent()+`if (${N}) {
|
|
69
69
|
`,this.indentLevel++,W+=this.formatStatements(q).join(`
|
|
@@ -71,193 +71,193 @@ ${this.indent()}}`}else if(G)if(Y){let I=this.generate(Y,"value");return L+`{ if
|
|
|
71
71
|
`,this.indentLevel--,W+=this.indent()+`}
|
|
72
72
|
`}else W+=this.formatStatements(q).join(`
|
|
73
73
|
`)+`
|
|
74
|
-
`;this.indentLevel--,W+=this.indent()+"}"}else if(Y){let q=this.unwrap(this.generate(Y,"value"));W+=`{ const ${Q} = ${H}[${J}]; if (${q}) ${this.generate(
|
|
74
|
+
`;this.indentLevel--,W+=this.indent()+"}"}else if(Y){let q=this.unwrap(this.generate(Y,"value"));W+=`{ const ${Q} = ${H}[${J}]; if (${q}) ${this.generate(F,"statement")}; }`}else W+=`{ const ${Q} = ${H}[${J}]; ${this.generate(F,"statement")}; }`;return W}let Z=Array.isArray(A)&&A[0];if(Z instanceof String)Z=Z.valueOf();if(Z===".."||Z==="..."){let H=Z==="...",[W,q]=A.slice(1),N=(z)=>{if(typeof z==="number")return!0;if(z instanceof String)return!z.valueOf().includes("(");if(typeof z==="string"&&!z.includes("("))return!0;if(Array.isArray(z)&&z[0]===".")return!0;return!1};if(N(W)&&N(q)){let z=this.generate(W,"value"),S=this.generate(q,"value"),T=H?"<":"<=",I=`${Q}++`;if($&&$!==null){let j=this.generate($,"value");I=`${Q} += ${j}`}let L=`for (let ${Q} = ${z}; ${Q} ${T} ${S}; ${I}) `;if(Y)L+=this.generateLoopBodyWithGuard(F,Y);else L+=this.generateLoopBody(F);return L}}let K=`for (const ${Q} of ${this.generate(A,"value")}) `;if(Y)K+=this.generateLoopBodyWithGuard(F,Y);else K+=this.generateLoopBody(F);return K}generateForOf(U,_,E,X){let[R,A,$,Y,F]=_,[G,M]=Array.isArray(R)?R:[R],D=this.generate(A,"value"),J=`for (const ${G} in ${D}) `;if($&&!M&&!Y){if(Array.isArray(F)&&F[0]==="block"){let Q=F.slice(1);this.indentLevel++;let Z=[`if (!Object.hasOwn(${D}, ${G})) continue;`,...Q.map((O)=>this.addSemicolon(O,this.generate(O,"statement")))];this.indentLevel--,J+=`{
|
|
75
75
|
${Z.map((O)=>this.indent()+O).join(`
|
|
76
76
|
`)}
|
|
77
|
-
${this.indent()}}`}else J+=`{ if (!Object.hasOwn(${D}, ${
|
|
78
|
-
${Z}if (!Object.hasOwn(${D}, ${
|
|
79
|
-
${Z}const ${
|
|
77
|
+
${this.indent()}}`}else J+=`{ if (!Object.hasOwn(${D}, ${G})) continue; ${this.generate(F,"statement")}; }`;return J}if(M)if($&&Y)if(Array.isArray(F)&&F[0]==="block"){let Q=F.slice(1);this.indentLevel++;let Z=this.indent(),O=this.generate(Y,"value");this.indentLevel++;let K=this.indent(),H=Q.map((W)=>K+this.addSemicolon(W,this.generate(W,"statement")));this.indentLevel-=2,J+=`{
|
|
78
|
+
${Z}if (!Object.hasOwn(${D}, ${G})) continue;
|
|
79
|
+
${Z}const ${M} = ${D}[${G}];
|
|
80
80
|
${Z}if (${O}) {
|
|
81
81
|
${H.join(`
|
|
82
82
|
`)}
|
|
83
83
|
${Z}}
|
|
84
|
-
${this.indent()}}`}else{let Q=this.generate(Y,"value");J+=`{ if (!Object.hasOwn(${D}, ${
|
|
84
|
+
${this.indent()}}`}else{let Q=this.generate(Y,"value");J+=`{ if (!Object.hasOwn(${D}, ${G})) continue; const ${M} = ${D}[${G}]; if (${Q}) ${this.generate(F,"statement")}; }`}else if($)if(Array.isArray(F)&&F[0]==="block"){let Q=F.slice(1);this.indentLevel++;let Z=[`if (!Object.hasOwn(${D}, ${G})) continue;`,`const ${M} = ${D}[${G}];`,...Q.map((O)=>this.addSemicolon(O,this.generate(O,"statement")))];this.indentLevel--,J+=`{
|
|
85
85
|
${Z.map((O)=>this.indent()+O).join(`
|
|
86
86
|
`)}
|
|
87
|
-
${this.indent()}}`}else J+=`{ if (!Object.hasOwn(${D}, ${
|
|
88
|
-
${Z}const ${
|
|
87
|
+
${this.indent()}}`}else J+=`{ if (!Object.hasOwn(${D}, ${G})) continue; const ${M} = ${D}[${G}]; ${this.generate(F,"statement")}; }`;else if(Y)if(Array.isArray(F)&&F[0]==="block"){let Q=F.slice(1);this.indentLevel++;let Z=this.indent(),O=this.generate(Y,"value");this.indentLevel++;let K=this.indent(),H=Q.map((W)=>K+this.addSemicolon(W,this.generate(W,"statement")));this.indentLevel-=2,J+=`{
|
|
88
|
+
${Z}const ${M} = ${D}[${G}];
|
|
89
89
|
${Z}if (${O}) {
|
|
90
90
|
${H.join(`
|
|
91
91
|
`)}
|
|
92
92
|
${Z}}
|
|
93
|
-
${this.indent()}}`}else J+=`{ const ${
|
|
93
|
+
${this.indent()}}`}else J+=`{ const ${M} = ${D}[${G}]; if (${this.generate(Y,"value")}) ${this.generate(F,"statement")}; }`;else if(Array.isArray(F)&&F[0]==="block"){let Q=F.slice(1);this.indentLevel++;let Z=[`const ${M} = ${D}[${G}];`,...Q.map((O)=>this.addSemicolon(O,this.generate(O,"statement")))];this.indentLevel--,J+=`{
|
|
94
94
|
${Z.map((O)=>this.indent()+O).join(`
|
|
95
95
|
`)}
|
|
96
|
-
${this.indent()}}`}else J+=`{ const ${
|
|
96
|
+
${this.indent()}}`}else J+=`{ const ${M} = ${D}[${G}]; ${this.generate(F,"statement")}; }`;else if(Y)J+=this.generateLoopBodyWithGuard(F,Y);else J+=this.generateLoopBody(F);return J}generateForFrom(U,_,E,X){let R=Array.isArray(_[0])?_[0]:[_[0]],[A]=R,$=_[1],Y=_[2],F=_[3],G=_[4],M=!1,D=[];if(Array.isArray(A)&&A[0]==="array"){let K=A.slice(1),H=K.findIndex((W)=>Array.isArray(W)&&W[0]==="..."||W==="...");if(H!==-1&&H<K.length-1){M=!0;let W=K.slice(H+1),q=W.length,N=K.slice(0,H),z=K[H],S=Array.isArray(z)&&z[0]==="..."?z[1]:"_rest",T=N.map((w)=>{if(w===",")return"";if(typeof w==="string")return w;return this.generate(w,"value")}).join(", "),I=T?`${T}, ...${S}`:`...${S}`,L=W.map((w)=>{if(w===",")return"";if(typeof w==="string")return w;return this.generate(w,"value")}).join(", ");D.push(`[${I}] = _item`),D.push(`[${L}] = ${S}.splice(-${q})`),this.helpers.add("slice"),((w)=>{w.slice(1).forEach((P)=>{if(P===","||P==="...")return;if(typeof P==="string")this.programVars.add(P);else if(Array.isArray(P)&&P[0]==="..."){if(typeof P[1]==="string")this.programVars.add(P[1])}})})(A)}}let J=this.generate($,"value"),Q=Y?"await ":"",Z;if(M)Z="_item";else if(Array.isArray(A)&&(A[0]==="array"||A[0]==="object"))Z=this.generateDestructuringPattern(A);else Z=A;let O=`for ${Q}(const ${Z} of ${J}) `;if(M&&D.length>0){let K=this.unwrapBlock(G),H=this.withIndent(()=>[...D.map((W)=>this.indent()+W+";"),...this.formatStatements(K)]);O+=`{
|
|
97
97
|
${H.join(`
|
|
98
98
|
`)}
|
|
99
|
-
${this.indent()}}`}else if(
|
|
99
|
+
${this.indent()}}`}else if(F)O+=this.generateLoopBodyWithGuard(G,F);else O+=this.generateLoopBody(G);return O}generateWhile(U,_,E,X){let R=_[0],A=_.length===3?_[1]:null,$=_[_.length-1],F=`while (${this.unwrap(this.generate(R,"value"))}) `;if(A)F+=this.generateLoopBodyWithGuard($,A);else F+=this.generateLoopBody($);return F}generateUntil(U,_,E,X){let[R,A]=_,Y=`while (!(${this.unwrap(this.generate(R,"value"))})) `;return Y+=this.generateLoopBody(A),Y}generateRange(U,_,E,X){if(U==="..."){if(_.length===1){let[J]=_;return`...${this.generate(J,"value")}`}let[F,G]=_,M=this.generate(F,"value"),D=this.generate(G,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${M}, ${D})`}let[R,A]=_,$=this.generate(R,"value"),Y=this.generate(A,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${$}, ${Y})`}generateNot(U,_,E,X){let[R]=_;if(typeof R==="string"||R instanceof String)return`!${this.generate(R,"value")}`;if(Array.isArray(R)){let $=R[0];if([".","?.","::","?::","[]","?[]","optindex","optcall"].includes($))return`!${this.generate(R,"value")}`}let A=this.generate(R,"value");if(A.startsWith("("))return`!${A}`;return`(!${A})`}generateBitwiseNot(U,_,E,X){let[R]=_;return`(~${this.generate(R,"value")})`}generateIncDec(U,_,E,X){let[R,A]=_,$=this.generate(R,"value");if(A)return`(${$}${U})`;else return`(${U}${$})`}generateTypeof(U,_,E,X){let[R]=_;return`typeof ${this.generate(R,"value")}`}generateDelete(U,_,E,X){let[R]=_;return`(delete ${this.generate(R,"value")})`}generateInstanceof(U,_,E,X){let[R,A]=_,$=X[0]?.invert,Y=`(${this.generate(R,"value")} instanceof ${this.generate(A,"value")})`;return $?`(!${Y})`:Y}generateIn(U,_,E,X){let[R,A]=_,$=this.generate(R,"value"),Y=X[0]?.invert;if(Array.isArray(A)&&A[0]==="object"){let M=this.generate(A,"value"),D=`(${$} in ${M})`;return Y?`(!${D})`:D}let F=this.generate(A,"value"),G=`(Array.isArray(${F}) || typeof ${F} === 'string' ? ${F}.includes(${$}) : (${$} in ${F}))`;return Y?`(!${G})`:G}generateOf(U,_,E,X){let[R,A]=_,$=this.generate(R,"value"),Y=this.generate(A,"value"),F=X[0]?.invert,G=`(${$} in ${Y})`;return F?`(!${G})`:G}generateRegexMatch(U,_,E,X){let[R,A]=_;this.helpers.add("toSearchable"),this.programVars.add("_");let $=this.generate(A,"value"),F=$.includes("/m")?", true":"";return`(_ = toSearchable(${this.generate(R,"value")}${F}).match(${$}))`}generateNew(U,_,E,X){let[R]=_;if(Array.isArray(R)&&(R[0]==="."||R[0]==="?.")){let[A,$,Y]=R;if(Array.isArray($)&&!$[0].startsWith)return`(${this.generate(["new",$],"value")}).${Y}`;return`new ${this.generate($,"value")}.${Y}`}if(Array.isArray(R)){let[A,...$]=R,Y=this.generate(A,"value"),F=$.map((G)=>this.unwrap(this.generate(G,"value"))).join(", ");return`new ${Y}(${F})`}return`new ${this.generate(R,"value")}()`}generateLogicalAnd(U,_,E,X){let A=this.flattenBinaryChain(X).slice(1);if(A.length===0)return"true";if(A.length===1)return this.generate(A[0],"value");return`(${A.map((Y)=>this.generate(Y,"value")).join(" && ")})`}generateLogicalOr(U,_,E,X){let A=this.flattenBinaryChain(X).slice(1);if(A.length===0)return"true";if(A.length===1)return this.generate(A[0],"value");return`(${A.map((Y)=>this.generate(Y,"value")).join(" || ")})`}generateArray(U,_,E,X){let R=_.length>0&&_[_.length-1]===",",A=_.map(($)=>{if($===",")return"";if($==="...")return"";if(Array.isArray($)&&$[0]==="...")return`...${this.generate($[1],"value")}`;return this.generate($,"value")}).join(", ");return R?`[${A},]`:`[${A}]`}generateObject(U,_,E,X){if(_.length===1&&Array.isArray(_[0])&&Array.isArray(_[0][1])&&_[0][1][0]==="comprehension"){let[A,$]=_[0],[,Y,F,G]=$;return this.generate(["object-comprehension",A,Y,F,G],E)}return`{${_.map((A)=>{if(Array.isArray(A)&&A[0]==="...")return`...${this.generate(A[1],"value")}`;let[$,Y,F]=A,G;if(Array.isArray($)&&$[0]==="dynamicKey"){let D=$[1];G=`[${this.generate(D,"value")}]`}else G=this.generate($,"value");let M=this.generate(Y,"value");if(F==="=")return`${G} = ${M}`;else if(F===":")return`${G}: ${M}`;else{if(G===M&&!Array.isArray($))return G;return`${G}: ${M}`}}).join(", ")}}`}generateBlock(U,_,E,X){if(E==="statement")return`{
|
|
100
100
|
${this.withIndent(()=>this.formatStatements(_)).join(`
|
|
101
101
|
`)}
|
|
102
|
-
${this.indent()}}`;return this.formatStatements(_,E)}generateTry(U,_,E
|
|
102
|
+
${this.indent()}}`;return this.formatStatements(_,E)}generateTry(U,_,E,X){let R=E==="value",A="try ",$=_[0];if(R&&Array.isArray($)&&$[0]==="block")A+=this.generateBlockWithReturns($);else A+=this.generate($,"statement");if(_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[Y,F]=_[1];if(A+=" catch",Y&&Array.isArray(Y)&&(Y[0]==="object"||Y[0]==="array")){A+=" (error)";let D=`(${this.generate(Y,"value")} = error)`;if(Array.isArray(F)&&F[0]==="block")F=["block",D,...F.slice(1)];else F=["block",D,F]}else if(Y)A+=` (${Y})`;if(R&&Array.isArray(F)&&F[0]==="block")A+=" "+this.generateBlockWithReturns(F);else A+=" "+this.generate(F,"statement")}else if(_.length===2)A+=" finally "+this.generate(_[1],"statement");if(_.length===3)A+=" finally "+this.generate(_[2],"statement");if(R)return`(${this.containsAwait(_[0])||_[1]&&this.containsAwait(_[1])?"async ":""}() => { ${A} })()`;return A}generateThrow(U,_,E,X){let[R]=_,A=null;if(Array.isArray(R)){let Y=R,F=null;if(R[0]==="new"&&Array.isArray(R[1])&&(R[1][0]==="if"||R[1][0]==="unless"))F="new",Y=R[1];else if(R[0]==="if"||R[0]==="unless")Y=R;if(Y[0]==="if"||Y[0]==="unless"){let[G,M,D]=Y,J=G==="unless",Q=D;if(Array.isArray(D)&&D.length===1)Q=D[0];if(F==="new")R=["new",Q];else R=Q;let Z=this.generate(M,"value"),O=`throw ${this.generate(R,"value")}`;if(J)return`if (!(${Z})) {
|
|
103
103
|
${this.indent()} ${O};
|
|
104
104
|
${this.indent()}}`;else return`if (${Z}) {
|
|
105
105
|
${this.indent()} ${O};
|
|
106
|
-
${this.indent()}}`}}let
|
|
107
|
-
`;this.indentLevel++;let
|
|
108
|
-
`}this.indentLevel++,Y+=this.generateSwitchCaseBody(D,E),this.indentLevel--}if(
|
|
109
|
-
`,this.indentLevel++,Y+=this.generateSwitchCaseBody(
|
|
110
|
-
`;this.indentLevel++,this.comprehensionDepth++,
|
|
111
|
-
`;for(let D of
|
|
112
|
-
`,this.indentLevel++}else{let I=this.generate(Z,"value"),
|
|
113
|
-
`;else
|
|
114
|
-
`;if(this.indentLevel++,!W)
|
|
115
|
-
`}}else if(N){let S=this.generate(Z,"value");
|
|
116
|
-
`,this.indentLevel++,
|
|
117
|
-
`}else
|
|
118
|
-
`,this.indentLevel++}else if(J==="for-of"){let K=O,H=Array.isArray(Q)?Q:[Q],[W,q]=H,N=W;if(Array.isArray(W)&&(W[0]==="array"||W[0]==="object"))N=this.generateDestructuringPattern(W);let z=this.generate(Z,"value");if(
|
|
119
|
-
`,this.indentLevel++,K)
|
|
120
|
-
`;if(q)
|
|
121
|
-
`}else if(J==="for-from"){let K=D[3],H=Array.isArray(Q)?Q:[Q],[W]=H,q=W;if(Array.isArray(W)&&(W[0]==="array"||W[0]==="object"))q=this.generateDestructuringPattern(W);let N=K?"await ":"";
|
|
122
|
-
`,this.indentLevel++}}for(let D of
|
|
123
|
-
`,this.indentLevel++;let
|
|
124
|
-
`;else if(Array.isArray(Q)&&["for-in","for-of","for-from","while","until","loop"].includes(Q[0]))
|
|
125
|
-
`;else
|
|
126
|
-
`}}else if(
|
|
127
|
-
`;else if(Array.isArray(
|
|
128
|
-
`;else
|
|
129
|
-
`;for(let D=0;D
|
|
130
|
-
`;for(let D=0;D<
|
|
106
|
+
${this.indent()}}`}}let $=`throw ${this.generate(R,"value")}`;if(E==="value")return`(() => { ${$}; })()`;return $}generateSwitch(U,_,E,X){let[R,A,$]=_;if(R===null)return this.generateSwitchAsIfChain(A,$,E);let Y=`switch (${this.generate(R,"value")}) {
|
|
107
|
+
`;this.indentLevel++;let F=(G)=>G instanceof String?G.valueOf():G;for(let G of A){let[,M,D]=G,J=F(Array.isArray(M)&&M.length>0?M[0]:null),Z=Array.isArray(M)&&M.length>0&&typeof J==="string"&&!J.match(/^[-+*\/%<>=!&|^~]$|^(typeof|delete|new|not|await|yield)$/)?M:[M];for(let O of Z){let K=F(O),H;if(Array.isArray(K))H=this.generate(K,"value");else if(typeof K==="string"&&(K.startsWith('"')||K.startsWith("'")))H=`'${K.slice(1,-1)}'`;else H=this.generate(K,"value");Y+=this.indent()+`case ${H}:
|
|
108
|
+
`}this.indentLevel++,Y+=this.generateSwitchCaseBody(D,E),this.indentLevel--}if($)Y+=this.indent()+`default:
|
|
109
|
+
`,this.indentLevel++,Y+=this.generateSwitchCaseBody($,E),this.indentLevel--;if(this.indentLevel--,Y+=this.indent()+"}",E==="value")return`(${A.some((D)=>this.containsAwait(D[2]))||$&&this.containsAwait($)?"async ":""}() => { ${Y} })()`;return Y}generateWhen(U,_,E,X){throw Error("when clause should be handled by switch")}generateComprehension(U,_,E,X){let[R,A,$]=_;if(E==="statement")return this.generateComprehensionAsLoop(R,A,$);if(this.comprehensionTarget)return this.generateComprehensionWithTarget(R,A,$,this.comprehensionTarget);let G=`(${this.containsAwait(R)?"async ":""}() => {
|
|
110
|
+
`;this.indentLevel++,this.comprehensionDepth++,G+=this.indent()+`const result = [];
|
|
111
|
+
`;for(let D of A){let[J,Q,Z,O]=D;if(J==="for-in"){let K=O,H=Array.isArray(Q)?Q:[Q],W=H.length===0,[q,N]=W?["_i",null]:H,z=q;if(Array.isArray(q)&&(q[0]==="array"||q[0]==="object"))z=this.generateDestructuringPattern(q);if(K&&K!==null){let S=Array.isArray(Z)&&Z[0];if(S instanceof String)S=S.valueOf();if(S===".."||S==="..."){let I=S==="...",[L,j]=Z.slice(1),w=this.generate(L,"value"),P=this.generate(j,"value"),V=this.generate(K,"value"),v=I?"<":"<=";G+=this.indent()+`for (let ${z} = ${w}; ${z} ${v} ${P}; ${z} += ${V}) {
|
|
112
|
+
`,this.indentLevel++}else{let I=this.generate(Z,"value"),L=N||"_i",j=this.generate(K,"value");if(this.isNegativeStep(K))G+=this.indent()+`for (let ${L} = ${I}.length - 1; ${L} >= 0; ${L} += ${j}) {
|
|
113
|
+
`;else G+=this.indent()+`for (let ${L} = 0; ${L} < ${I}.length; ${L} += ${j}) {
|
|
114
|
+
`;if(this.indentLevel++,!W)G+=this.indent()+`const ${z} = ${I}[${L}];
|
|
115
|
+
`}}else if(N){let S=this.generate(Z,"value");G+=this.indent()+`for (let ${N} = 0; ${N} < ${S}.length; ${N}++) {
|
|
116
|
+
`,this.indentLevel++,G+=this.indent()+`const ${z} = ${S}[${N}];
|
|
117
|
+
`}else G+=this.indent()+`for (const ${z} of ${this.generate(Z,"value")}) {
|
|
118
|
+
`,this.indentLevel++}else if(J==="for-of"){let K=O,H=Array.isArray(Q)?Q:[Q],[W,q]=H,N=W;if(Array.isArray(W)&&(W[0]==="array"||W[0]==="object"))N=this.generateDestructuringPattern(W);let z=this.generate(Z,"value");if(G+=this.indent()+`for (const ${N} in ${z}) {
|
|
119
|
+
`,this.indentLevel++,K)G+=this.indent()+`if (!Object.hasOwn(${z}, ${N})) continue;
|
|
120
|
+
`;if(q)G+=this.indent()+`const ${q} = ${z}[${N}];
|
|
121
|
+
`}else if(J==="for-from"){let K=D[3],H=Array.isArray(Q)?Q:[Q],[W]=H,q=W;if(Array.isArray(W)&&(W[0]==="array"||W[0]==="object"))q=this.generateDestructuringPattern(W);let N=K?"await ":"";G+=this.indent()+`for ${N}(const ${q} of ${this.generate(Z,"value")}) {
|
|
122
|
+
`,this.indentLevel++}}for(let D of $)G+=this.indent()+`if (${this.generate(D,"value")}) {
|
|
123
|
+
`,this.indentLevel++;let M=(D)=>{if(typeof D==="string"&&(D==="break"||D==="continue"))return!0;if(!Array.isArray(D))return!1;if(D[0]==="break"||D[0]==="continue"||D[0]==="break-if"||D[0]==="continue-if"||D[0]==="return"||D[0]==="throw")return!0;if(D[0]==="if"||D[0]==="unless")return D.slice(1).some((J)=>M(J));return D.some((J)=>M(J))};if(Array.isArray(R)&&R[0]==="block"){let D=R.slice(1);for(let J=0;J<D.length;J++){let Q=D[J],Z=J===D.length-1,O=M(Q);if(!Z||O)G+=this.indent()+this.generate(Q,"statement")+`;
|
|
124
|
+
`;else if(Array.isArray(Q)&&["for-in","for-of","for-from","while","until","loop"].includes(Q[0]))G+=this.indent()+this.generate(Q,"statement")+`;
|
|
125
|
+
`;else G+=this.indent()+`result.push(${this.generate(Q,"value")});
|
|
126
|
+
`}}else if(M(R))G+=this.indent()+this.generate(R,"statement")+`;
|
|
127
|
+
`;else if(Array.isArray(R)&&["for-in","for-of","for-from","while","until","loop"].includes(R[0]))G+=this.indent()+this.generate(R,"statement")+`;
|
|
128
|
+
`;else G+=this.indent()+`result.push(${this.generate(R,"value")});
|
|
129
|
+
`;for(let D=0;D<$.length;D++)this.indentLevel--,G+=this.indent()+`}
|
|
130
|
+
`;for(let D=0;D<A.length;D++)this.indentLevel--,G+=this.indent()+`}
|
|
131
|
+
`;return G+=this.indent()+`return result;
|
|
132
|
+
`,this.indentLevel--,this.comprehensionDepth--,G+=this.indent()+"})()",G}generateObjectComprehension(U,_,E,X){let[R,A,$,Y]=_,F=`(() => {
|
|
133
|
+
`;this.indentLevel++,F+=this.indent()+`const result = {};
|
|
134
|
+
`;for(let D of $){let[J,Q,Z,O]=D;if(J==="for-of"){let[K,H]=Q,W=this.generate(Z,"value");if(F+=this.indent()+`for (const ${K} in ${W}) {
|
|
135
|
+
`,this.indentLevel++,O)F+=this.indent()+`if (!Object.hasOwn(${W}, ${K})) continue;
|
|
136
|
+
`;if(H)F+=this.indent()+`const ${H} = ${W}[${K}];
|
|
137
|
+
`}}for(let D of Y)F+=this.indent()+`if (${this.generate(D,"value")}) {
|
|
138
|
+
`,this.indentLevel++;let G=this.generate(R,"value"),M=this.generate(A,"value");F+=this.indent()+`result[${G}] = ${M};
|
|
139
|
+
`;for(let D=0;D<Y.length;D++)this.indentLevel--,F+=this.indent()+`}
|
|
140
|
+
`;for(let D=0;D<$.length;D++)this.indentLevel--,F+=this.indent()+`}
|
|
131
141
|
`;return F+=this.indent()+`return result;
|
|
132
|
-
`,this.indentLevel--,
|
|
133
|
-
|
|
134
|
-
`;for(let D of X){let[J,Q,Z,O]=D;if(J==="for-of"){let[K,H]=Q,W=this.generate(Z,"value");if(M+=this.indent()+`for (const ${K} in ${W}) {
|
|
135
|
-
`,this.indentLevel++,O)M+=this.indent()+`if (!Object.hasOwn(${W}, ${K})) continue;
|
|
136
|
-
`;if(H)M+=this.indent()+`const ${H} = ${W}[${K}];
|
|
137
|
-
`}}for(let D of Y)M+=this.indent()+`if (${this.generate(D,"value")}) {
|
|
138
|
-
`,this.indentLevel++;let F=this.generate(A,"value"),G=this.generate(R,"value");M+=this.indent()+`result[${F}] = ${G};
|
|
139
|
-
`;for(let D=0;D<Y.length;D++)this.indentLevel--,M+=this.indent()+`}
|
|
140
|
-
`;for(let D=0;D<X.length;D++)this.indentLevel--,M+=this.indent()+`}
|
|
141
|
-
`;return M+=this.indent()+`return result;
|
|
142
|
-
`,this.indentLevel--,M+=this.indent()+"})()",M}generateClass(U,_,E,$){let[A,R,...X]=_,Y=A?`class ${A}`:"class";if(R)Y+=` extends ${this.generate(R,"value")}`;if(Y+=` {
|
|
143
|
-
`,X.length>0&&Array.isArray(X[0])){let M=X[0];if(M[0]==="block"){let F=M.slice(1),G=F.length>0&&Array.isArray(F[0])&&F[0][0]==="object";if(G&&F.length===1){let J=F[0].slice(1);this.indentLevel++;let Q=[];for(let[Z,O]of J){let K=this.isStaticMember(Z),H=this.isComputedMember(Z),W=this.extractMemberName(Z);if(this.isBoundMethod(O)&&!K&&!H&&W!=="constructor")Q.push(W)}for(let[Z,O]of J){let K=this.isStaticMember(Z),H=this.isComputedMember(Z),W=this.extractMemberName(Z);if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[q,N,z]=O,S=this.containsAwait(z),L=this.containsYield(z),I=N,T=[];if(W==="constructor"){I=N.map((v)=>{if(Array.isArray(v)&&v[0]==="."&&v[1]==="this"){let C=v[2];return T.push(`this.${C} = ${C}`),C}return v});for(let v of Q)T.unshift(`this.${v} = this.${v}.bind(this)`)}let j=this.generateParamList(I),w=S?"async ":"",P=L?"*":"";if(K)Y+=this.indent()+`static ${w}${P}${W}(${j}) `;else Y+=this.indent()+`${w}${P}${W}(${j}) `;let V=W==="constructor";if(!H)this.currentMethodName=W;Y+=this.generateMethodBody(z,T,V,I),this.currentMethodName=null,Y+=`
|
|
142
|
+
`,this.indentLevel--,F+=this.indent()+"})()",F}generateClass(U,_,E,X){let[R,A,...$]=_,Y=R?`class ${R}`:"class";if(A)Y+=` extends ${this.generate(A,"value")}`;if(Y+=` {
|
|
143
|
+
`,$.length>0&&Array.isArray($[0])){let F=$[0];if(F[0]==="block"){let G=F.slice(1),M=G.length>0&&Array.isArray(G[0])&&G[0][0]==="object";if(M&&G.length===1){let J=G[0].slice(1);this.indentLevel++;let Q=[];for(let[Z,O]of J){let K=this.isStaticMember(Z),H=this.isComputedMember(Z),W=this.extractMemberName(Z);if(this.isBoundMethod(O)&&!K&&!H&&W!=="constructor")Q.push(W)}for(let[Z,O]of J){let K=this.isStaticMember(Z),H=this.isComputedMember(Z),W=this.extractMemberName(Z);if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[q,N,z]=O,S=this.containsAwait(z),T=this.containsYield(z),I=N,L=[];if(W==="constructor"){I=N.map((v)=>{if(Array.isArray(v)&&v[0]==="."&&v[1]==="this"){let C=v[2];return L.push(`this.${C} = ${C}`),C}return v});for(let v of Q)L.unshift(`this.${v} = this.${v}.bind(this)`)}let j=this.generateParamList(I),w=S?"async ":"",P=T?"*":"";if(K)Y+=this.indent()+`static ${w}${P}${W}(${j}) `;else Y+=this.indent()+`${w}${P}${W}(${j}) `;let V=W==="constructor";if(!H)this.currentMethodName=W;Y+=this.generateMethodBody(z,L,V,I),this.currentMethodName=null,Y+=`
|
|
144
144
|
`}else if(K){let q=this.generate(O,"value");Y+=this.indent()+`static ${W} = ${q};
|
|
145
145
|
`}else{let q=this.generate(O,"value");Y+=this.indent()+`${W} = ${q};
|
|
146
|
-
`}}this.indentLevel--}else if(
|
|
146
|
+
`}}this.indentLevel--}else if(M){let J=G[0].slice(1),Q=G.slice(1);this.indentLevel++;for(let[Z,O]of J){let K=this.isStaticMember(Z),H=this.isComputedMember(Z),W=this.extractMemberName(Z);if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[q,N,z]=O,S=this.containsAwait(z),T=this.containsYield(z),I=this.generateParamList(N),L=S?"async ":"",j=T?"*":"";if(K)Y+=this.indent()+`static ${L}${j}${W}(${I}) `;else Y+=this.indent()+`${L}${j}${W}(${I}) `;this.currentMethodName=W,Y+=this.generateMethodBody(z,[],W==="constructor",N),this.currentMethodName=null,Y+=`
|
|
147
147
|
`}else if(K){let q=this.generate(O,"value");Y+=this.indent()+`static ${W} = ${q};
|
|
148
148
|
`}else{let q=this.generate(O,"value");Y+=this.indent()+`${W} = ${q};
|
|
149
149
|
`}}for(let Z of Q)if(Array.isArray(Z)&&Z[0]==="class"){let[,O,K,...H]=Z;if(Array.isArray(O)&&O[0]==="."&&O[1]==="this"){let W=O[2];Y+=this.indent()+`static ${W} = `;let q=this.generate(["class",null,K,...H],"value");Y+=q+`;
|
|
150
150
|
`}}else Y+=this.indent()+this.generate(Z,"statement")+`;
|
|
151
|
-
`;this.indentLevel--}else{this.indentLevel++;for(let D of
|
|
151
|
+
`;this.indentLevel--}else{this.indentLevel++;for(let D of G)if(Array.isArray(D)&&D[0]==="="&&Array.isArray(D[1])&&D[1][0]==="."&&D[1][1]==="this"){let J=D[1][2],Q=this.generate(D[2],"value");Y+=this.indent()+`static ${J} = ${Q};
|
|
152
152
|
`}else Y+=this.indent()+this.generate(D,"statement")+`;
|
|
153
|
-
`;this.indentLevel--}}}return Y+=this.indent()+"}",Y}generateSuper(U,_,E
|
|
154
|
-
export default ${
|
|
153
|
+
`;this.indentLevel--}}}return Y+=this.indent()+"}",Y}generateSuper(U,_,E,X){if(_.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let R=_.map((A)=>this.unwrap(this.generate(A,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${R})`;return`super(${R})`}generateSoakCall(U,_,E,X){let[R,...A]=_,$=this.generate(R,"value"),Y=A.map((F)=>this.generate(F,"value")).join(", ");return`(typeof ${$} === 'function' ? ${$}(${Y}) : undefined)`}generateImport(U,_,E,X){if(_.length===1){let[Y]=_;return`import(${this.generate(Y,"value")})`}let[R,A]=_,$=this.addJsExtensionAndAssertions(A);if(typeof R==="string")return`import ${R} from ${$}`;if(Array.isArray(R)){if(R[0]==="*"&&R.length===2)return`import * as ${R[1]} from ${$}`;if(typeof R[0]==="string"&&Array.isArray(R[1])){let F=R[0],G=R[1];if(G[0]==="*"&&G.length===2)return`import ${F}, * as ${G[1]} from ${$}`;let M=(Array.isArray(G)?G:[G]).map((D)=>{if(Array.isArray(D)&&D.length===2)return`${D[0]} as ${D[1]}`;return D}).join(", ");return`import ${F}, { ${M} } from ${$}`}return`import { ${R.map((F)=>{if(Array.isArray(F)&&F.length===2)return`${F[0]} as ${F[1]}`;return F}).join(", ")} } from ${$}`}return`import ${this.generate(R,"value")} from ${$}`}generateExport(U,_,E,X){let[R]=_;if(Array.isArray(R)&&R.every((A)=>typeof A==="string"))return`export { ${R.join(", ")} }`;if(Array.isArray(R)&&R[0]==="="){let[,A,$]=R;return`export const ${A} = ${this.generate($,"value")}`}return`export ${this.generate(R,"statement")}`}generateExportDefault(U,_,E,X){let[R]=_;if(Array.isArray(R)&&R[0]==="="){let[,A,$]=R;return`${`const ${A} = ${this.generate($,"value")}`};
|
|
154
|
+
export default ${A}`}return`export default ${this.generate(R,"statement")}`}generateExportAll(U,_,E,X){let[R]=_;return`export * from ${this.addJsExtensionAndAssertions(R)}`}generateExportFrom(U,_,E,X){let[R,A]=_,$=this.addJsExtensionAndAssertions(A);if(Array.isArray(R))return`export { ${R.map((F)=>{if(Array.isArray(F)&&F.length===2)return`${F[0]} as ${F[1]}`;return F}).join(", ")} } from ${$}`;return`export ${R} from ${$}`}generateDoIIFE(U,_,E,X){let[R]=_;return`(${this.generate(R,"statement")})()`}generateRegex(U,_,E,X){if(_.length===0)return U;let[R]=_;return this.generate(R,"value")}generateTaggedTemplate(U,_,E,X){let[R,A]=_,$=this.generate(R,"value"),Y=this.generate(A,"value");if(Y.startsWith("`"))return`${$}${Y}`;if(Y.startsWith('"')||Y.startsWith("'")){let F=Y.slice(1,-1);return`${$}\`${F}\``}return`${$}\`${Y}\``}generateString(U,_,E,X){let R="`";for(let A=0;A<_.length;A++){let $=_[A];if($ instanceof String)R+=this.extractStringContent($);else if(typeof $==="string")if($.startsWith('"')||$.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str interpolation:",$);R+=$.slice(1,-1)}else R+=$;else if(Array.isArray($))if($.length===1&&typeof $[0]==="string"&&!Array.isArray($[0])){let Y=$[0];if(/^[\d"']/.test(Y))R+="${"+this.generate(Y,"value")+"}";else R+="${"+Y+"}"}else{let Y=$;if($.length===1&&Array.isArray($[0]))Y=$[0];R+="${"+this.generate(Y,"value")+"}"}}return R+="`",R}findPostfixConditional(U){if(!Array.isArray(U))return null;let _=U[0];if((_==="unless"||_==="if")&&U.length===3)return{type:_,condition:U[1],value:U[2]};if(_==="+"||_==="-"||_==="*"||_==="/")for(let E=1;E<U.length;E++){let X=this.findPostfixConditional(U[E]);if(X)return X.parentOp=_,X.operandIndex=E,X.otherOperands=U.slice(1).filter((R,A)=>A!==E-1),X}return null}generateDestructuringPattern(U){return this.formatParam(U)}generateParamList(U){let _=U.findIndex((X)=>Array.isArray(X)&&X[0]==="expansion");if(_!==-1){let X=U.slice(0,_),R=U.slice(_+1),A=X.map((Y)=>this.formatParam(Y)).join(", "),$=A?`${A}, ..._rest`:"..._rest";return this.expansionAfterParams=R,$}let E=U.findIndex((X)=>Array.isArray(X)&&X[0]==="rest");if(E!==-1&&E<U.length-1){let X=U.slice(0,E),R=U[E],A=U.slice(E+1),$=X.map((F)=>this.formatParam(F)),Y=$.length>0?`${$.join(", ")}, ...${R[1]}`:`...${R[1]}`;return this.restMiddleParam={restName:R[1],afterParams:A,beforeCount:X.length},Y}return this.expansionAfterParams=null,this.restMiddleParam=null,U.map((X)=>this.formatParam(X)).join(", ")}formatParam(U){if(typeof U==="string")return U;if(Array.isArray(U)&&U[0]==="rest")return`...${U[1]}`;if(Array.isArray(U)&&U[0]==="default"){let[,_,E]=U;return`${_} = ${this.generate(E,"value")}`}if(Array.isArray(U)&&U[0]==="."&&U[1]==="this")return U[2];if(Array.isArray(U)&&U[0]==="array")return`[${U.slice(1).map((E)=>{if(E===",")return"";if(E==="...")return"";if(Array.isArray(E)&&E[0]==="...")return`...${E[1]}`;if(Array.isArray(E)&&E[0]==="="&&typeof E[1]==="string"){let[,X,R]=E;return`${X} = ${this.generate(R,"value")}`}if(typeof E==="string")return E;return this.formatParam(E)}).join(", ")}]`;if(Array.isArray(U)&&U[0]==="object")return`{${U.slice(1).map((E)=>{if(Array.isArray(E)&&E[0]==="...")return`...${E[1]}`;if(Array.isArray(E)&&E[0]==="default"){let[,A,$]=E,Y=this.generate($,"value");return`${A} = ${Y}`}let[X,R]=E;if(X===R)return X;return`${X}: ${R}`}).join(", ")}}`;return JSON.stringify(U)}generateBodyWithReturns(U,_=[],E={}){let{sideEffectOnly:X=!1,autoAssignments:R=[],isConstructor:A=!1,hasExpansionParams:$=!1}=E,Y=this.sideEffectOnly;this.sideEffectOnly=X;let F=new Set,G=(Z)=>{if(typeof Z==="string")F.add(Z);else if(Array.isArray(Z)){if(Z[0]==="rest"||Z[0]==="..."){if(typeof Z[1]==="string")F.add(Z[1])}else if(Z[0]==="default"){if(typeof Z[1]==="string")F.add(Z[1])}else if(Z[0]==="array"||Z[0]==="object")this.collectVarsFromArray(Z,F)}};if(Array.isArray(_))_.forEach(G);let M=this.collectFunctionVariables(U),D=new Set([...M].filter((Z)=>!this.programVars.has(Z)&&!this.reactiveVars?.has(Z)&&!F.has(Z))),J=["return","throw","break","continue"],Q=["for-in","for-of","for-from","while","until","loop"];if(Array.isArray(U)&&U[0]==="block"){let Z=this.unwrapBlock(U);if($&&this.expansionAfterParams&&this.expansionAfterParams.length>0)Z=[...this.expansionAfterParams.map((W,q)=>{return`const ${typeof W==="string"?W:JSON.stringify(W)} = _rest[_rest.length - ${this.expansionAfterParams.length-q}]`}),...Z],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:H,afterParams:W}=this.restMiddleParam,q=W.length,N=[];if(W.forEach((z,S)=>{let T=typeof z==="string"?z:Array.isArray(z)&&z[0]==="default"?z[1]:JSON.stringify(z),I=q-S;N.push(`const ${T} = ${H}[${H}.length - ${I}]`)}),q>0)N.push(`${H} = ${H}.slice(0, -${q})`);Z=[...N,...Z],this.restMiddleParam=null}this.indentLevel++;let O=`{
|
|
155
155
|
`;if(D.size>0){let H=Array.from(D).sort().join(", ");O+=this.indent()+`let ${H};
|
|
156
|
-
`}if(
|
|
156
|
+
`}if(R.length>0&&Z.length>0&&Array.isArray(Z[0])&&Z[0][0]==="super"){if(Z.length===1&&!A)O+=this.indent()+"return "+this.generate(Z[0],"value")+`;
|
|
157
157
|
`;else O+=this.indent()+this.generate(Z[0],"statement")+`;
|
|
158
|
-
`;for(let W of
|
|
159
|
-
`;Z.slice(1).forEach((W,q)=>{let N=q===Z.length-2,z=Array.isArray(W)?W[0]:null;if(!N&&z==="comprehension"){let[,
|
|
160
|
-
`;return}if(!
|
|
158
|
+
`;for(let W of R)O+=this.indent()+W+`;
|
|
159
|
+
`;Z.slice(1).forEach((W,q)=>{let N=q===Z.length-2,z=Array.isArray(W)?W[0]:null;if(!N&&z==="comprehension"){let[,L,j,w]=W;O+=this.indent()+this.generateComprehensionAsLoop(L,j,w)+`
|
|
160
|
+
`;return}if(!A&&N&&(z==="if"||z==="unless")){let[L,j,...w]=W.slice(1),P=(V)=>{return Array.isArray(V)&&V[0]==="block"&&V.length>2};if(P(j)||w.some(P)){O+=this.generateIfElseWithEarlyReturns(W);return}}let S=!A&&!X&&N&&!J.includes(z)&&!Q.includes(z)&&!this.hasExplicitControlFlow(W),T=S?"value":"statement",I=this.generate(W,T);if(S)O+=this.indent()+"return "+I+`;
|
|
161
161
|
`;else O+=this.indent()+this.addSemicolon(W,I)+`
|
|
162
|
-
`})}else{for(let H of
|
|
163
|
-
`;Z.forEach((H,W)=>{let q=W===Z.length-1,N=Array.isArray(H)?H[0]:null;if(!q&&N==="comprehension"){let[,I,
|
|
164
|
-
`;return}if(!
|
|
165
|
-
`;return}}}let z=!
|
|
166
|
-
`;else O+=this.indent()+this.addSemicolon(H,
|
|
167
|
-
`})}if(
|
|
168
|
-
`}return this.indentLevel--,O+=this.indent()+"}",this.sideEffectOnly=Y,O}if(
|
|
169
|
-
${this.withIndent(()=>{return _.map((
|
|
162
|
+
`})}else{for(let H of R)O+=this.indent()+H+`;
|
|
163
|
+
`;Z.forEach((H,W)=>{let q=W===Z.length-1,N=Array.isArray(H)?H[0]:null;if(!q&&N==="comprehension"){let[,I,L,j]=H;O+=this.indent()+this.generateComprehensionAsLoop(I,L,j)+`
|
|
164
|
+
`;return}if(!A&&!X&&q&&(N==="if"||N==="unless")){let[I,L,...j]=H.slice(1),w=(P)=>{return Array.isArray(P)&&P[0]==="block"&&P.length>2};if(w(L)||j.some(w)){O+=this.generateIfElseWithEarlyReturns(H);return}}if(!A&&!X&&q&&N==="="){let[I,L]=H.slice(1);if(typeof I==="string"&&Array.isArray(L)){let j=L[0];if(j==="comprehension"||j==="for-in"){this.comprehensionTarget=I,O+=this.generate(L,"value"),this.comprehensionTarget=null,O+=this.indent()+`return ${I};
|
|
165
|
+
`;return}}}let z=!A&&!X&&q&&!J.includes(N)&&!Q.includes(N)&&!this.hasExplicitControlFlow(H),S=z?"value":"statement",T=this.generate(H,S);if(z)O+=this.indent()+"return "+T+`;
|
|
166
|
+
`;else O+=this.indent()+this.addSemicolon(H,T)+`
|
|
167
|
+
`})}if(X&&Z.length>0){let H=Z[Z.length-1],W=Array.isArray(H)?H[0]:null;if(!J.includes(W))O+=this.indent()+`return;
|
|
168
|
+
`}return this.indentLevel--,O+=this.indent()+"}",this.sideEffectOnly=Y,O}if(A||this.hasExplicitControlFlow(U))return this.sideEffectOnly=Y,`{ ${this.generate(U,"statement")}; }`;if(Array.isArray(U)&&(J.includes(U[0])||Q.includes(U[0])))return this.sideEffectOnly=Y,`{ ${this.generate(U,"statement")}; }`;if(this.sideEffectOnly=Y,X)return`{ ${this.generate(U,"statement")}; return; }`;return`{ return ${this.generate(U,"value")}; }`}generateFunctionBody(U,_=[],E=!1){let X=this.expansionAfterParams?.length>0;return this.generateBodyWithReturns(U,_,{sideEffectOnly:E,hasExpansionParams:X})}generateBlockWithReturns(U){if(!Array.isArray(U)||U[0]!=="block")return this.generate(U,"statement");let _=this.unwrapBlock(U);return`{
|
|
169
|
+
${this.withIndent(()=>{return _.map((X,R)=>{let A=R===_.length-1,$=Array.isArray(X)?X[0]:null,F=A&&!["return","throw","break","continue"].includes($),G=F?"value":"statement",M=this.generate(X,G);if(F)return this.indent()+"return "+M+";";return this.indent()+M+";"})}).join(`
|
|
170
170
|
`)}
|
|
171
|
-
${this.indent()}}`}extractExpression(U){let _=this.unwrapBlock(U);if(_.length>0)return this.generate(_[_.length-1],"value");return"undefined"}generateMethodBody(U,_=[],E=!1
|
|
172
|
-
${this.withIndent(()=>{return _.map((
|
|
171
|
+
${this.indent()}}`}extractExpression(U){let _=this.unwrapBlock(U);if(_.length>0)return this.generate(_[_.length-1],"value");return"undefined"}generateMethodBody(U,_=[],E=!1,X=[]){return this.generateBodyWithReturns(U,X,{autoAssignments:_,isConstructor:E})}generateLoopBody(U){if(!Array.isArray(U)){if(Array.isArray(U)&&U[0]==="comprehension"){let[,_,E,X]=U;return`{ ${this.generateComprehensionAsLoop(_,E,X)} }`}return`{ ${this.generate(U,"statement")}; }`}if(U[0]==="block"||Array.isArray(U[0])){let _=U[0]==="block"?U.slice(1):U;return`{
|
|
172
|
+
${this.withIndent(()=>{return _.map((X)=>{if(Array.isArray(X)&&X[0]==="comprehension"){let[,R,A,$]=X;return this.indent()+this.generateComprehensionAsLoop(R,A,$)}return this.indent()+this.addSemicolon(X,this.generate(X,"statement"))})}).join(`
|
|
173
173
|
`)}
|
|
174
|
-
${this.indent()}}`}return`{ ${this.generate(U,"statement")}; }`}generateLoopBodyWithGuard(U,_){let E=this.unwrap(this.generate(_,"value"));if(!Array.isArray(U))return`{ if (${E}) ${this.generate(U,"statement")}; }`;if(U[0]==="block"||Array.isArray(U[0])){let
|
|
175
|
-
|
|
176
|
-
${
|
|
174
|
+
${this.indent()}}`}return`{ ${this.generate(U,"statement")}; }`}generateLoopBodyWithGuard(U,_){let E=this.unwrap(this.generate(_,"value"));if(!Array.isArray(U))return`{ if (${E}) ${this.generate(U,"statement")}; }`;if(U[0]==="block"||Array.isArray(U[0])){let X=U[0]==="block"?U.slice(1):U,R=this.withIndent(()=>this.indent()),A=`if (${E}) {
|
|
175
|
+
`,$=this.withIndent(()=>{this.indentLevel++;let F=this.formatStatements(X);return this.indentLevel--,F}),Y=this.withIndent(()=>this.indent()+"}");return`{
|
|
176
|
+
${R}${A}${$.join(`
|
|
177
177
|
`)}
|
|
178
178
|
${Y}
|
|
179
|
-
${this.indent()}}`}return`{ if (${this.generate(_,"value")}) ${this.generate(U,"statement")}; }`}addJsExtensionAndAssertions(U){if(U instanceof String)U=U.valueOf();if(typeof U!=="string")return U;let E=U.startsWith('"')||U.startsWith("'")?U.slice(1,-1):U
|
|
179
|
+
${this.indent()}}`}return`{ if (${this.generate(_,"value")}) ${this.generate(U,"statement")}; }`}addJsExtensionAndAssertions(U){if(U instanceof String)U=U.valueOf();if(typeof U!=="string")return U;let E=U.startsWith('"')||U.startsWith("'")?U.slice(1,-1):U,X=E.startsWith("./")||E.startsWith("../"),R=E,A="";if(X){let Y=E.lastIndexOf("/"),F=Y>=0?E.substring(Y+1):E;if(F.includes(".")){if(F.endsWith(".json"))A=" with { type: 'json' }"}else R=E+".js"}return`'${R}'`+A}shouldAwaitCall(U){if(U instanceof String&&U.await!==void 0)return U.await===!0;return!1}containsAwait(U){if(!U)return!1;if(U instanceof String&&U.await===!0)return!0;if(typeof U!=="object")return!1;if(Array.isArray(U)&&U[0]==="await")return!0;if(Array.isArray(U)&&U[0]==="for-from"&&U[3]===!0)return!0;if(Array.isArray(U)&&(U[0]==="def"||U[0]==="->"||U[0]==="=>"||U[0]==="class"))return!1;if(Array.isArray(U))return U.some((_)=>this.containsAwait(_));return!1}containsYield(U){if(!U)return!1;if(typeof U!=="object")return!1;if(Array.isArray(U)&&(U[0]==="yield"||U[0]==="yield-from"))return!0;if(Array.isArray(U)&&(U[0]==="def"||U[0]==="->"||U[0]==="=>"||U[0]==="class"))return!1;if(Array.isArray(U))return U.some((_)=>this.containsYield(_));return!1}extractStringContent(U){let _=U.valueOf().slice(1,-1);if(U.indent){let E=new RegExp(`\\n${U.indent}`,"g");_=_.replace(E,`
|
|
180
180
|
`)}if(U.initialChunk&&_.startsWith(`
|
|
181
181
|
`))_=_.slice(1);if(U.finalChunk&&_.endsWith(`
|
|
182
|
-
`))_=_.slice(0,-1);return _}processHeregex(U){let _="",E=!1
|
|
183
|
-
`)
|
|
184
|
-
`;else E+=this.indent()+this.generate(
|
|
185
|
-
`}return E}generateComprehensionWithTarget(U,_,E
|
|
186
|
-
`;let
|
|
187
|
-
`}else{let S=this.generate(D,"value"),
|
|
188
|
-
`;else
|
|
189
|
-
`;if(this.indentLevel++,!O)
|
|
190
|
-
`}}else{let N=this.generate(D,"value");
|
|
191
|
-
`}if(this.indentLevel++,E&&E.length>0)
|
|
192
|
-
`,this.indentLevel++;let q=this.unwrap(this.generate(
|
|
193
|
-
`,E&&E.length>0)this.indentLevel--,
|
|
194
|
-
`;return this.indentLevel--,
|
|
195
|
-
`,
|
|
196
|
-
`}generateComprehensionAsLoop(U,_,E){let
|
|
197
|
-
`,this.indentLevel++,!D)
|
|
198
|
-
`}if(E&&E.length>0){if(!K)
|
|
199
|
-
`,this.indentLevel
|
|
200
|
-
`,this.indentLevel
|
|
201
|
-
`,this.indentLevel
|
|
202
|
-
`,this.indentLevel
|
|
203
|
-
`,this.indentLevel
|
|
204
|
-
`,this.indentLevel
|
|
205
|
-
`+this.indent()+"}";return
|
|
206
|
-
`,this.indentLevel
|
|
207
|
-
`}else{if(
|
|
208
|
-
`,this.indentLevel
|
|
209
|
-
`,this.indentLevel
|
|
210
|
-
`,this.indentLevel
|
|
211
|
-
`,this.indentLevel
|
|
212
|
-
`,this.indentLevel
|
|
213
|
-
`,this.indentLevel
|
|
214
|
-
`,this.indentLevel
|
|
215
|
-
`,this.indentLevel
|
|
216
|
-
`,this.indentLevel
|
|
217
|
-
`,this.indentLevel
|
|
218
|
-
`,this.indentLevel
|
|
219
|
-
`,this.indentLevel
|
|
220
|
-
`,this.indentLevel++,J&&!D&&!E?.length)
|
|
221
|
-
|
|
222
|
-
`;else if(J&&D&&E?.length)
|
|
223
|
-
`,this.indentLevel
|
|
224
|
-
|
|
225
|
-
`,this.indentLevel
|
|
226
|
-
`,this.indentLevel
|
|
227
|
-
`,this.indentLevel
|
|
228
|
-
`;else if(J&&D)
|
|
229
|
-
`,this.indentLevel
|
|
230
|
-
|
|
231
|
-
`,this.indentLevel
|
|
232
|
-
`;else if(D&&E?.length)
|
|
233
|
-
|
|
234
|
-
`,this.indentLevel
|
|
235
|
-
`,this.indentLevel
|
|
236
|
-
`;else if(D)
|
|
237
|
-
|
|
238
|
-
`;else if(E?.length)
|
|
239
|
-
`,this.indentLevel
|
|
240
|
-
`,this.indentLevel
|
|
241
|
-
`;else
|
|
242
|
-
`;return this.indentLevel
|
|
243
|
-
`,
|
|
244
|
-
`,
|
|
245
|
-
`,
|
|
246
|
-
`,
|
|
247
|
-
`}else if(_==="value")if(Array.isArray(U)&&U[0]==="block"&&U.length>2){let
|
|
248
|
-
`}else E+=this.indent()+this.generate(A
|
|
249
|
-
`}else{let
|
|
250
|
-
`}else{if(Array.isArray(U)&&U[0]==="block"&&U.length>1){let
|
|
251
|
-
`}else{let
|
|
182
|
+
`))_=_.slice(0,-1);return _}processHeregex(U){let _="",E=!1,X=0;while(X<U.length){let R=U[X],A=X>0?U[X-1]:null,$=U[X+1],Y=()=>{let F=0,G=X-1;while(G>=0&&U[G]==="\\")F++,G--;return F%2===1};if(R==="["&&!Y()){E=!0,_+=R,X++;continue}if(R==="]"&&E&&!Y()){E=!1,_+=R,X++;continue}if(E){_+=R,X++;continue}if(/\s/.test(R)){X++;continue}if(R==="#"){if(Y()){_+=R,X++;continue}let F=X-1;while(F>=0&&U[F]==="\\")F--;if(F<X-1){_+=R,X++;continue}while(X<U.length&&U[X]!==`
|
|
183
|
+
`)X++;continue}_+=R,X++}return _}collectVarsFromArray(U,_){U.slice(1).forEach((E)=>{if(E===",")return;if(E==="...")return;if(typeof E==="string")_.add(E);else if(Array.isArray(E)){if(E[0]==="..."){if(typeof E[1]==="string")_.add(E[1])}else if(E[0]==="array")this.collectVarsFromArray(E,_);else if(E[0]==="object")this.collectVarsFromObject(E,_)}})}collectVarsFromObject(U,_){U.slice(1).forEach((E)=>{if(Array.isArray(E)){if(E[0]==="..."){if(typeof E[1]==="string")_.add(E[1])}else if(E.length>=2){let[X,R,A]=E;if(A==="="){if(typeof X==="string")_.add(X)}else if(typeof R==="string")_.add(R);else if(Array.isArray(R)){if(R[0]==="array")this.collectVarsFromArray(R,_);else if(R[0]==="object")this.collectVarsFromObject(R,_)}}}})}indent(){return this.indentString.repeat(this.indentLevel)}unwrapBlock(U){if(!Array.isArray(U))return[U];if(U[0]==="block")return U.slice(1);if(Array.isArray(U[0]))return U;return[U]}needsSemicolon(U,_){if(!_||_.endsWith(";"))return!1;if(!_.endsWith("}"))return!0;let E=Array.isArray(U)?U[0]:null;return!["def","class","if","unless","for-in","for-of","for-from","while","until","loop","switch","try"].includes(E)}addSemicolon(U,_){return _+(this.needsSemicolon(U,_)?";":"")}formatStatements(U,_="statement"){return U.map((E)=>this.indent()+this.addSemicolon(E,this.generate(E,_)))}hasExplicitControlFlow(U){if(!Array.isArray(U))return!1;let _=U[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block"){let E=U.slice(1);if(E.length===0)return!1;return E.some((X)=>Array.isArray(X)&&(X[0]==="return"||X[0]==="throw"||X[0]==="break"||X[0]==="continue"))}if(_==="switch"){let[,,E]=U;return E&&E.some((X)=>{let R=X[2];return this.unwrapBlock(R).some(($)=>Array.isArray($)&&($[0]==="return"||$[0]==="throw"||$[0]==="break"||$[0]==="continue"))})}if(_==="if"||_==="unless"){let[,,E,X]=U,R=this.branchHasControlFlow(E),A=X&&this.branchHasControlFlow(X);return R&&A}return!1}branchHasControlFlow(U){if(!Array.isArray(U))return!1;let _=this.unwrapBlock(U);if(_.length===0)return!1;let E=_[_.length-1];return Array.isArray(E)&&(E[0]==="return"||E[0]==="throw"||E[0]==="break"||E[0]==="continue")}withIndent(U){this.indentLevel++;let _=U();return this.indentLevel--,_}isNegativeStep(U){if(!Array.isArray(U))return!1;if(U.length!==2)return!1;return(U[0]instanceof String?U[0].valueOf():U[0])==="-"}generateBranchWithReturn(U){let _=this.unwrapBlock(U),E="";for(let X=0;X<_.length;X++){let R=X===_.length-1,A=_[X],$=Array.isArray(A)?A[0]:null;if(R&&!($==="return"||$==="throw"||$==="break"||$==="continue"))E+=this.indent()+`return ${this.generate(A,"value")};
|
|
184
|
+
`;else E+=this.indent()+this.generate(A,"statement")+`;
|
|
185
|
+
`}return E}generateComprehensionWithTarget(U,_,E,X){let R="";R+=this.indent()+`${X} = [];
|
|
186
|
+
`;let A=U;if(Array.isArray(U)&&U[0]==="block"&&U.length===2)A=U[1];if(_.length===1){let F=_[0],[G,M,D,J]=F;if(G==="for-in"){let Q=J,Z=Array.isArray(M)?M:[M],O=Z.length===0,[K,H]=O?["_i",null]:Z,W=K;if(Array.isArray(K)&&(K[0]==="array"||K[0]==="object"))W=this.generateDestructuringPattern(K);if(Q&&Q!==null){let N=Array.isArray(D)&&D[0];if(N instanceof String)N=N.valueOf();if(N===".."||N==="..."){let S=N==="...",[T,I]=D.slice(1),L=this.generate(T,"value"),j=this.generate(I,"value"),w=this.generate(Q,"value"),P=S?"<":"<=";R+=this.indent()+`for (let ${W} = ${L}; ${W} ${P} ${j}; ${W} += ${w}) {
|
|
187
|
+
`}else{let S=this.generate(D,"value"),T=H||"_i",I=this.generate(Q,"value");if(this.isNegativeStep(Q))R+=this.indent()+`for (let ${T} = ${S}.length - 1; ${T} >= 0; ${T} += ${I}) {
|
|
188
|
+
`;else R+=this.indent()+`for (let ${T} = 0; ${T} < ${S}.length; ${T} += ${I}) {
|
|
189
|
+
`;if(this.indentLevel++,!O)R+=this.indent()+`const ${W} = ${S}[${T}];
|
|
190
|
+
`}}else{let N=this.generate(D,"value");R+=this.indent()+`for (const ${W} of ${N}) {
|
|
191
|
+
`}if(this.indentLevel++,E&&E.length>0)R+=this.indent()+`if (${E.map((N)=>this.generate(N,"value")).join(" && ")}) {
|
|
192
|
+
`,this.indentLevel++;let q=this.unwrap(this.generate(A,"value"));if(R+=this.indent()+`${X}.push(${q});
|
|
193
|
+
`,E&&E.length>0)this.indentLevel--,R+=this.indent()+`}
|
|
194
|
+
`;return this.indentLevel--,R+=this.indent()+`}
|
|
195
|
+
`,R}}let Y=this.containsAwait(U)?"async ":"";return this.indent()+`${X} = (${Y}() => { /* complex comprehension */ })();
|
|
196
|
+
`}generateComprehensionAsLoop(U,_,E){let X="";if(_.length===1){let R=_[0],[A,$,Y,F]=R;if(A==="for-in"){let G=F,M=Array.isArray($)?$:[$],D=M.length===0,[J,Q]=D?["_i",null]:M,Z=J;if(Array.isArray(J)&&(J[0]==="array"||J[0]==="object"))Z=this.generateDestructuringPattern(J);if(G&&G!==null){let O=Array.isArray(Y)&&Y[0];if(O instanceof String)O=O.valueOf();let K=O===".."||O==="...";if(K){let H=O==="...",[W,q]=Y.slice(1),N=this.generate(W,"value"),z=this.generate(q,"value"),S=this.generate(G,"value");X+=`for (let ${Z} = ${N}; ${Z} ${H?"<":"<="} ${z}; ${Z} += ${S}) `}else{let H=this.generate(Y,"value"),W=Q||"_i",q=this.generate(G,"value"),N=this.isNegativeStep(G),z=N&&(G[1]==="1"||G[1]===1||G[1]instanceof String&&G[1].valueOf()==="1"),S=!N&&(G==="1"||G===1||G instanceof String&&G.valueOf()==="1");if(z)X+=`for (let ${W} = ${H}.length - 1; ${W} >= 0; ${W}--) `;else if(S)X+=`for (let ${W} = 0; ${W} < ${H}.length; ${W}++) `;else if(N)X+=`for (let ${W} = ${H}.length - 1; ${W} >= 0; ${W} += ${q}) `;else X+=`for (let ${W} = 0; ${W} < ${H}.length; ${W} += ${q}) `;if(X+=`{
|
|
197
|
+
`,this.indentLevel++,!D)X+=this.indent()+`const ${Z} = ${H}[${W}];
|
|
198
|
+
`}if(E&&E.length>0){if(!K)X+=this.indent();X+=`{
|
|
199
|
+
`,this.indentLevel++,X+=this.indent()+`if (${E.map((H)=>this.generate(H,"value")).join(" && ")}) {
|
|
200
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
201
|
+
`,this.indentLevel--,X+=this.indent()+`}
|
|
202
|
+
`,this.indentLevel--,X+=this.indent()+"}"}else{if(!K)X+=this.indent();X+=`{
|
|
203
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
204
|
+
`,this.indentLevel--,X+=this.indent()+"}"}if(!K)this.indentLevel--,X+=`
|
|
205
|
+
`+this.indent()+"}";return X}else if(Q){let O=this.generate(Y,"value");X+=`for (let ${Q} = 0; ${Q} < ${O}.length; ${Q}++) `,X+=`{
|
|
206
|
+
`,this.indentLevel++,X+=this.indent()+`const ${Z} = ${O}[${Q}];
|
|
207
|
+
`}else{if(X+=`for (const ${Z} of ${this.generate(Y,"value")}) `,E&&E.length>0)X+=`{
|
|
208
|
+
`,this.indentLevel++,X+=this.indent()+`if (${E.map((O)=>this.generate(O,"value")).join(" && ")}) {
|
|
209
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
210
|
+
`,this.indentLevel--,X+=this.indent()+`}
|
|
211
|
+
`,this.indentLevel--,X+=this.indent()+"}";else X+=`{
|
|
212
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
213
|
+
`,this.indentLevel--,X+=this.indent()+"}";return X}}else if(A==="for-from"){let G=Array.isArray($)?$:[$],[M]=G,D=M;if(Array.isArray(M)&&(M[0]==="array"||M[0]==="object"))D=this.generateDestructuringPattern(M);if(X+=`for (const ${D} of ${this.generate(Y,"value")}) `,E&&E.length>0)X+=`{
|
|
214
|
+
`,this.indentLevel++,X+=this.indent()+`if (${E.map((J)=>this.generate(J,"value")).join(" && ")}) {
|
|
215
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
216
|
+
`,this.indentLevel--,X+=this.indent()+`}
|
|
217
|
+
`,this.indentLevel--,X+=this.indent()+"}";else X+=`{
|
|
218
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
219
|
+
`,this.indentLevel--,X+=this.indent()+"}";return X}else if(A==="for-of"){let G=Array.isArray($)?$:[$],[M,D]=G,J=F,Q=this.generate(Y,"value");if(X+=`for (const ${M} in ${Q}) `,X+=`{
|
|
220
|
+
`,this.indentLevel++,J&&!D&&!E?.length)X+=this.indent()+`if (!Object.hasOwn(${Q}, ${M})) continue;
|
|
221
|
+
`,X+=this.indent()+this.generate(U,"statement")+`;
|
|
222
|
+
`;else if(J&&D&&E?.length)X+=this.indent()+`if (Object.hasOwn(${Q}, ${M})) {
|
|
223
|
+
`,this.indentLevel++,X+=this.indent()+`const ${D} = ${Q}[${M}];
|
|
224
|
+
`,X+=this.indent()+`if (${E.map((Z)=>this.generate(Z,"value")).join(" && ")}) {
|
|
225
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
226
|
+
`,this.indentLevel--,X+=this.indent()+`}
|
|
227
|
+
`,this.indentLevel--,X+=this.indent()+`}
|
|
228
|
+
`;else if(J&&D)X+=this.indent()+`if (Object.hasOwn(${Q}, ${M})) {
|
|
229
|
+
`,this.indentLevel++,X+=this.indent()+`const ${D} = ${Q}[${M}];
|
|
230
|
+
`,X+=this.indent()+this.generate(U,"statement")+`;
|
|
231
|
+
`,this.indentLevel--,X+=this.indent()+`}
|
|
232
|
+
`;else if(D&&E?.length)X+=this.indent()+`const ${D} = ${Q}[${M}];
|
|
233
|
+
`,X+=this.indent()+`if (${E.map((Z)=>this.generate(Z,"value")).join(" && ")}) {
|
|
234
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
235
|
+
`,this.indentLevel--,X+=this.indent()+`}
|
|
236
|
+
`;else if(D)X+=this.indent()+`const ${D} = ${Q}[${M}];
|
|
237
|
+
`,X+=this.indent()+this.generate(U,"statement")+`;
|
|
238
|
+
`;else if(E?.length)X+=this.indent()+`if (${E.map((Z)=>this.generate(Z,"value")).join(" && ")}) {
|
|
239
|
+
`,this.indentLevel++,X+=this.indent()+this.generate(U,"statement")+`;
|
|
240
|
+
`,this.indentLevel--,X+=this.indent()+`}
|
|
241
|
+
`;else X+=this.indent()+this.generate(U,"statement")+`;
|
|
242
|
+
`;return this.indentLevel--,X+=this.indent()+"}",X}}return this.generate(["comprehension",U,_,E],"value")}generateIfElseWithEarlyReturns(U){let[_,E,X,...R]=U,A="",$=_==="unless"?`!${this.generate(E,"value")}`:this.generate(E,"value");A+=this.indent()+`if (${$}) {
|
|
243
|
+
`,A+=this.withIndent(()=>this.generateBranchWithReturn(X)),A+=this.indent()+"}";for(let Y of R)if(A+=" else ",Array.isArray(Y)&&Y[0]==="if"){let[,F,G,...M]=Y;if(A+=`if (${this.generate(F,"value")}) {
|
|
244
|
+
`,A+=this.withIndent(()=>this.generateBranchWithReturn(G)),A+=this.indent()+"}",M.length>0)for(let D of M)A+=` else {
|
|
245
|
+
`,A+=this.withIndent(()=>this.generateBranchWithReturn(D)),A+=this.indent()+"}"}else A+=`{
|
|
246
|
+
`,A+=this.withIndent(()=>this.generateBranchWithReturn(Y)),A+=this.indent()+"}";return A}unwrap(U){if(typeof U!=="string")return U;while(U.startsWith("(")&&U.endsWith(")")){let _=0,E=!0;for(let X=0;X<U.length;X++){if(U[X]==="(")_++;if(U[X]===")")_--;if(_===0&&X<U.length-1){E=!1;break}}if(E)U=U.slice(1,-1);else break}return U}flattenBinaryChain(U){if(!Array.isArray(U)||U.length<3)return U;let[_,...E]=U;if(_!=="&&"&&_!=="||")return U;let X=[],R=(A)=>{if(Array.isArray(A)&&A[0]===_)for(let $=1;$<A.length;$++)R(A[$]);else X.push(A)};for(let A of E)R(A);return[_,...X]}unwrapLogical(U){if(typeof U!=="string")return U;while(U.startsWith("(")&&U.endsWith(")")){let _=0,E=1/0;for(let X=1;X<U.length-1;X++){if(U[X]==="(")_++;if(U[X]===")")_--;E=Math.min(E,_)}if(E>=0)U=U.slice(1,-1);else break}return U}unwrapIfBranch(U){if(Array.isArray(U)&&U.length===1){let _=U[0];if(!Array.isArray(_)||_[0]!=="block")return _}return U}isNegativeOneLiteral(U){return Array.isArray(U)&&U[0]==="-"&&U.length===2&&(U[1]==="1"||U[1]===1||U[1]instanceof String&&U[1].valueOf()==="1")}hasStatementInBranch(U){if(!Array.isArray(U))return!1;let _=U[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return U.slice(1).some((X)=>this.hasStatementInBranch(X));return!1}isMultiStatementBlock(U){return Array.isArray(U)&&U[0]==="block"&&U.length>2}hasNestedMultiStatement(U){if(!Array.isArray(U))return!1;if(U[0]==="if"){let[_,E,X,...R]=U;return this.isMultiStatementBlock(X)||R.some((A)=>this.hasNestedMultiStatement(A))}return!1}buildTernaryChain(U){if(U.length===0)return"undefined";if(U.length===1)return this.extractExpression(this.unwrapIfBranch(U[0]));let _=U[0];if(Array.isArray(_)&&_[0]==="if"){let[E,X,R,...A]=_,$=this.extractExpression(this.unwrapIfBranch(R)),Y=this.buildTernaryChain([...A,...U.slice(1)]);return`(${this.generate(X,"value")} ? ${$} : ${Y})`}return this.extractExpression(this.unwrapIfBranch(_))}generateIfAsExpression(U,_,E){if(this.isMultiStatementBlock(_)||this.hasStatementInBranch(_)||E.some((Y)=>this.isMultiStatementBlock(Y)||this.hasStatementInBranch(Y)||this.hasNestedMultiStatement(Y))){let Y=this.containsAwait(U)||this.containsAwait(_)||E.some((D)=>this.containsAwait(D)),M=`${Y?"await ":""}(${Y?"async ":""}() => { `;M+=`if (${this.generate(U,"value")}) `,M+=this.generateBlockWithReturns(_);for(let D of E)if(M+=" else ",Array.isArray(D)&&D[0]==="if"){let[J,Q,Z,...O]=D;M+=`if (${this.generate(Q,"value")}) `,M+=this.generateBlockWithReturns(Z);for(let K of O)if(M+=" else ",Array.isArray(K)&&K[0]==="if"){let[H,W,q,...N]=K;M+=`if (${this.generate(W,"value")}) `,M+=this.generateBlockWithReturns(q),E.push(...N)}else M+=this.generateBlockWithReturns(K)}else M+=this.generateBlockWithReturns(D);return M+=" })()",M}let R=this.extractExpression(this.unwrapIfBranch(_)),A=this.buildTernaryChain(E),$=this.generate(U,"value");if(Array.isArray(U)&&(U[0]==="yield"||U[0]==="await"))$=`(${$})`;return`(${$} ? ${R} : ${A})`}generateIfAsStatement(U,_,E){let R=`if (${this.unwrap(this.generate(U,"value"))}) `;R+=this.generate(this.unwrapIfBranch(_),"statement");for(let A of E)R+=" else ",R+=this.generate(this.unwrapIfBranch(A),"statement");return R}isStaticMember(U){return Array.isArray(U)&&U[0]==="."&&U[1]==="this"}isComputedMember(U){return Array.isArray(U)&&U[0]==="computed"}extractMemberName(U){if(this.isStaticMember(U))return U[2];else if(this.isComputedMember(U))return`[${this.generate(U[1],"value")}]`;else return U}isBoundMethod(U){return Array.isArray(U)&&U[0]==="=>"}generateSwitchCaseBody(U,_){let E="";if(this.hasExplicitControlFlow(U)){let R=this.unwrapBlock(U);for(let A of R)E+=this.indent()+this.generate(A,"statement")+`;
|
|
247
|
+
`}else if(_==="value")if(Array.isArray(U)&&U[0]==="block"&&U.length>2){let R=U.slice(1);for(let A=0;A<R.length;A++)if(A===R.length-1){let Y=this.generate(R[A],"value");E+=this.indent()+`return ${Y};
|
|
248
|
+
`}else E+=this.indent()+this.generate(R[A],"statement")+`;
|
|
249
|
+
`}else{let R=this.extractExpression(U);E+=this.indent()+`return ${R};
|
|
250
|
+
`}else{if(Array.isArray(U)&&U[0]==="block"&&U.length>1){let R=U.slice(1);for(let A of R)E+=this.indent()+this.generate(A,"statement")+`;
|
|
251
|
+
`}else{let R=this.generate(U,"statement");E+=this.indent()+R+`;
|
|
252
252
|
`}E+=this.indent()+`break;
|
|
253
|
-
`}return E}generateSwitchAsIfChain(U,_,E){let
|
|
254
|
-
`;else
|
|
255
|
-
`;if(this.indentLevel++,E==="value"){let
|
|
256
|
-
`}else{let
|
|
257
|
-
`}this.indentLevel
|
|
258
|
-
`,this.indentLevel++,E==="value"){let
|
|
259
|
-
`}else{let
|
|
260
|
-
`}this.indentLevel
|
|
253
|
+
`}return E}generateSwitchAsIfChain(U,_,E){let X="";for(let R=0;R<U.length;R++){let A=U[R],[,$,Y]=A;if(R===0)X+=`if (${this.generate($,"value")}) {
|
|
254
|
+
`;else X+=` else if (${this.generate($,"value")}) {
|
|
255
|
+
`;if(this.indentLevel++,E==="value"){let F=this.extractExpression(Y);X+=this.indent()+`return ${F};
|
|
256
|
+
`}else{let F=this.unwrapBlock(Y);for(let G of F)X+=this.indent()+this.generate(G,"statement")+`;
|
|
257
|
+
`}this.indentLevel--,X+=this.indent()+"}"}if(_){if(X+=` else {
|
|
258
|
+
`,this.indentLevel++,E==="value"){let R=this.extractExpression(_);X+=this.indent()+`return ${R};
|
|
259
|
+
`}else{let R=this.unwrapBlock(_);for(let A of R)X+=this.indent()+this.generate(A,"statement")+`;
|
|
260
|
+
`}this.indentLevel--,X+=this.indent()+"}"}if(E==="value")return`(() => { ${X} })()`;return X}getReactiveRuntime(){return`// ============================================================================
|
|
261
261
|
// Rip Reactive Runtime
|
|
262
262
|
// A minimal, fine-grained reactivity system
|
|
263
263
|
//
|
|
@@ -523,8 +523,8 @@ function __catchErrors(fn) {
|
|
|
523
523
|
}
|
|
524
524
|
|
|
525
525
|
// === End Reactive Runtime ===
|
|
526
|
-
`}}class
|
|
527
|
-
`)
|
|
526
|
+
`}}class z1{constructor(U={}){this.options={showTokens:!1,showSExpr:!1,...U}}compile(U){let _=null,E=U.split(`
|
|
527
|
+
`),X=E.findIndex((G)=>G==="__DATA__");if(X!==-1){let G=E.slice(X+1);_=G.length>0?G.join(`
|
|
528
528
|
`)+`
|
|
529
|
-
`:"",U=E.slice(0
|
|
530
|
-
`)}let
|
|
529
|
+
`:"",U=E.slice(0,X).join(`
|
|
530
|
+
`)}let A=new m1().tokenize(U);if(this.options.showTokens)A.forEach((G)=>console.log(`${G[0].padEnd(12)} ${JSON.stringify(G[1])}`)),console.log();$1.lexer={tokens:A,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let G=this.tokens[this.pos++];return this.yytext=G[1],this.yylloc=G[2],G[0]}};let $;try{$=$1.parse(U)}catch(G){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(U)||/\?\s+\w+\s+\?\s+/.test(U))throw Error("Nested ternary operators are not supported. Use if/else statements instead.");throw G}if(this.options.showSExpr)console.log(o($,0,!0)),console.log();let Y=new c({dataSection:_,skipReactiveRuntime:this.options.skipReactiveRuntime,reactiveVars:this.options.reactiveVars}),F=Y.compile($);return{tokens:A,sexpr:$,code:F,data:_,reactiveVars:Y.reactiveVars}}compileToJS(U){return this.compile(U).code}compileToSExpr(U){return this.compile(U).sexpr}}function U3(U,_={}){return new z1(_).compile(U)}function S1(U,_={}){return new z1(_).compileToJS(U)}var Q3="2.8.3",W3="2026-02-04@08:25:13GMT",$3=(U)=>{let _=U.match(/^[ \t]*(?=\S)/gm),E=Math.min(...(_||[]).map((X)=>X.length));return U.replace(RegExp(`^[ ]{${E}}`,"gm"),"").trim()};async function k2(){let U=document.querySelectorAll('script[type="text/rip"]');for(let _ of U){if(_.hasAttribute("data-rip-processed"))continue;try{let E=$3(_.textContent),X=S1(E);(0,eval)(X),_.setAttribute("data-rip-processed","true")}catch(E){console.error("Error compiling Rip script:",E),console.error("Script content:",_.textContent)}}}if(typeof document<"u")if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",k2);else k2();function X3(U){try{let E=S1(U).replace(/^let\s+[^;]+;\s*\n\s*/m,"");E=E.replace(/^const\s+/gm,"var ");let X=(0,eval)(E);if(X!==void 0)globalThis._=X;return X}catch(_){console.error("Rip compilation error:",_.message);return}}if(typeof globalThis<"u")globalThis.rip=X3;export{X3 as rip,k2 as processRipScripts,$1 as parser,o as formatSExpr,S1 as compileToJS,U3 as compile,Q3 as VERSION,m1 as Lexer,z1 as Compiler,c as CodeGenerator,W3 as BUILD_DATE};
|