>>31<<2)+16|0;f=c[g>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(A|0)){p=f;break c}else{e=e<<1;h=f}}if(g>>>0<(c[37432]|0)>>>0)$a();else{c[g>>2]=d;c[z+(a+24)>>2]=h;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break b}}else p=h;while(0);f=p+8|0;e=c[f>>2]|0;H=c[37432]|0;if(p>>>0>=H>>>0&e>>>0>=H>>>0){c[e+12>>2]=d;c[f>>2]=d;c[z+(a+8)>>2]=e;c[z+(a+12)>>2]=p;c[z+(a+24)>>2]=0;break}else $a()}else{H=A+a|0;c[z+4>>2]=H|3;H=z+(H+4)|0;c[H>>2]=c[H>>2]|1}while(0);H=z+8|0;i=b;return H|0}}}else a=-1;while(0);p=c[37430]|0;if(p>>>0>=a>>>0){e=p-a|0;d=c[37433]|0;if(e>>>0>15){c[37433]=d+a;c[37430]=e;c[d+(a+4)>>2]=e|1;c[d+p>>2]=e;c[d+4>>2]=a|3}else{c[37430]=0;c[37433]=0;c[d+4>>2]=p|3;H=d+(p+4)|0;c[H>>2]=c[H>>2]|1}H=d+8|0;i=b;return H|0}p=c[37431]|0;if(p>>>0>a>>>0){G=p-a|0;c[37431]=G;H=c[37434]|0;c[37434]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}do if(!(c[37546]|0)){p=Xa(30)|0;if(!(p+ -1&p)){c[37548]=p;c[37547]=p;c[37549]=-1;c[37550]=-1;c[37551]=0;c[37539]=0;c[37546]=(bb(0)|0)&-16^1431655768;break}else $a()}while(0);x=a+48|0;p=c[37548]|0;w=a+47|0;A=p+w|0;p=0-p|0;v=A&p;if(v>>>0<=a>>>0){H=0;i=b;return H|0}z=c[37538]|0;if((z|0)!=0?(G=c[37536]|0,H=G+v|0,H>>>0<=G>>>0|H>>>0>z>>>0):0){H=0;i=b;return H|0}d:do if(!(c[37539]&4)){B=c[37434]|0;e:do if(B){z=150160|0;while(1){C=c[z>>2]|0;if(C>>>0<=B>>>0?(y=z+4|0,(C+(c[y>>2]|0)|0)>>>0>B>>>0):0)break;z=c[z+8>>2]|0;if(!z){o=181;break e}}if(z){A=A-(c[37431]|0)&p;if(A>>>0<2147483647){p=Ca(A|0)|0;if((p|0)==((c[z>>2]|0)+(c[y>>2]|0)|0)){z=A;o=190}else{z=A;o=191}}else z=0}else o=181}else o=181;while(0);do if((o|0)==181){y=Ca(0)|0;if((y|0)!=(-1|0)){A=y;z=c[37547]|0;p=z+ -1|0;if(!(p&A))z=v;else z=v-A+(p+A&0-z)|0;p=c[37536]|0;A=p+z|0;if(z>>>0>a>>>0&z>>>0<2147483647){H=c[37538]|0;if((H|0)!=0?A>>>0<=p>>>0|A>>>0>H>>>0:0){z=0;break}p=Ca(z|0)|0;if((p|0)==(y|0)){p=y;o=190}else o=191}else z=0}else z=0}while(0);f:do if((o|0)==190){if((p|0)!=(-1|0)){q=z;o=201;break d}}else if((o|0)==191){o=0-z|0;do if((p|0)!=(-1|0)&z>>>0<2147483647&x>>>0>z>>>0?(u=c[37548]|0,u=w-z+u&0-u,u>>>0<2147483647):0)if((Ca(u|0)|0)==(-1|0)){Ca(o|0)|0;z=0;break f}else{z=u+z|0;break}while(0);if((p|0)==(-1|0))z=0;else{q=z;o=201;break d}}while(0);c[37539]=c[37539]|4;o=198}else{z=0;o=198}while(0);if((((o|0)==198?v>>>0<2147483647:0)?(t=Ca(v|0)|0,s=Ca(0)|0,(t|0)!=(-1|0)&(s|0)!=(-1|0)&t>>>0>>0):0)?(r=s-t|0,q=r>>>0>(a+40|0)>>>0,q):0){p=t;q=q?r:z;o=201}if((o|0)==201){r=(c[37536]|0)+q|0;c[37536]=r;if(r>>>0>(c[37537]|0)>>>0)c[37537]=r;r=c[37434]|0;g:do if(r){t=150160|0;while(1){s=c[t>>2]|0;v=t+4|0;w=c[v>>2]|0;if((p|0)==(s+w|0)){o=213;break}u=c[t+8>>2]|0;if(!u)break;else t=u}if(((o|0)==213?(c[t+12>>2]&8|0)==0:0)?r>>>0>=s>>>0&r>>>0>>0:0){c[v>>2]=w+q;d=(c[37431]|0)+q|0;e=r+8|0;if(!(e&7))e=0;else e=0-e&7;H=d-e|0;c[37434]=r+e;c[37431]=H;c[r+(e+4)>>2]=H|1;c[r+(d+4)>>2]=40;c[37435]=c[37550];break}s=c[37432]|0;if(p>>>0>>0){c[37432]=p;s=p}v=p+q|0;t=150160|0;while(1){if((c[t>>2]|0)==(v|0)){o=223;break}u=c[t+8>>2]|0;if(!u)break;else t=u}if((o|0)==223?(c[t+12>>2]&8|0)==0:0){c[t>>2]=p;h=t+4|0;c[h>>2]=(c[h>>2]|0)+q;h=p+8|0;if(!(h&7))h=0;else h=0-h&7;j=p+(q+8)|0;if(!(j&7))n=0;else n=0-j&7;o=p+(n+q)|0;k=h+a|0;j=p+k|0;m=o-(p+h)-a|0;c[p+(h+4)>>2]=a|3;h:do if((o|0)!=(r|0)){if((o|0)==(c[37433]|0)){H=(c[37430]|0)+m|0;c[37430]=H;c[37433]=j;c[p+(k+4)>>2]=H|1;c[p+(H+k)>>2]=H;break}r=q+4|0;u=c[p+(r+n)>>2]|0;if((u&3|0)==1){a=u&-8;t=u>>>3;i:do if(u>>>0>=256){l=c[p+((n|24)+q)>>2]|0;t=c[p+(q+12+n)>>2]|0;do if((t|0)==(o|0)){v=n|16;u=p+(r+v)|0;t=c[u>>2]|0;if(!t){u=p+(v+q)|0;t=c[u>>2]|0;if(!t){g=0;break}}while(1){w=t+20|0;v=c[w>>2]|0;if(v){t=v;u=w;continue}w=t+16|0;v=c[w>>2]|0;if(!v)break;else{t=v;u=w}}if(u>>>0>>0)$a();else{c[u>>2]=0;g=t;break}}else{u=c[p+((n|8)+q)>>2]|0;if(u>>>0>>0)$a();v=u+12|0;if((c[v>>2]|0)!=(o|0))$a();s=t+8|0;if((c[s>>2]|0)==(o|0)){c[v>>2]=t;c[s>>2]=u;g=t;break}else $a()}while(0);if(!l)break;s=c[p+(q+28+n)>>2]|0;t=150016+(s<<2)|0;do if((o|0)!=(c[t>>2]|0)){if(l>>>0<(c[37432]|0)>>>0)$a();s=l+16|0;if((c[s>>2]|0)==(o|0))c[s>>2]=g;else c[l+20>>2]=g;if(!g)break i}else{c[t>>2]=g;if(g)break;c[37429]=c[37429]&~(1<>>0>>0)$a();c[g+24>>2]=l;s=n|16;l=c[p+(s+q)>>2]|0;do if(l)if(l>>>0>>0)$a();else{c[g+16>>2]=l;c[l+24>>2]=g;break}while(0);l=c[p+(r+s)>>2]|0;if(!l)break;if(l>>>0<(c[37432]|0)>>>0)$a();else{c[g+20>>2]=l;c[l+24>>2]=g;break}}else{g=c[p+((n|8)+q)>>2]|0;r=c[p+(q+12+n)>>2]|0;u=149752+(t<<1<<2)|0;do if((g|0)!=(u|0)){if(g>>>0>>0)$a();if((c[g+12>>2]|0)==(o|0))break;$a()}while(0);if((r|0)==(g|0)){c[37428]=c[37428]&~(1<>>0>>0)$a();s=r+8|0;if((c[s>>2]|0)==(o|0)){l=s;break}$a()}while(0);c[g+12>>2]=r;c[l>>2]=g}while(0);o=p+((a|n)+q)|0;m=a+m|0}g=o+4|0;c[g>>2]=c[g>>2]&-2;c[p+(k+4)>>2]=m|1;c[p+(m+k)>>2]=m;g=m>>>3;if(m>>>0<256){l=g<<1;d=149752+(l<<2)|0;m=c[37428]|0;g=1<>2]|0;if(g>>>0>=(c[37432]|0)>>>0){f=l;e=g;break}$a()}while(0);c[f>>2]=j;c[e+12>>2]=j;c[p+(k+8)>>2]=e;c[p+(k+12)>>2]=d;break}e=m>>>8;do if(!e)e=0;else{if(m>>>0>16777215){e=31;break}G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=m>>>(e+7|0)&1|e<<1}while(0);l=150016+(e<<2)|0;c[p+(k+28)>>2]=e;c[p+(k+20)>>2]=0;c[p+(k+16)>>2]=0;g=c[37429]|0;f=1<>2]=j;c[p+(k+24)>>2]=l;c[p+(k+12)>>2]=j;c[p+(k+8)>>2]=j;break}f=c[l>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;j:do if((c[f+4>>2]&-8|0)!=(m|0)){e=m<>>31<<2)+16|0;l=c[g>>2]|0;if(!l)break;if((c[l+4>>2]&-8|0)==(m|0)){d=l;break j}else{e=e<<1;f=l}}if(g>>>0<(c[37432]|0)>>>0)$a();else{c[g>>2]=j;c[p+(k+24)>>2]=f;c[p+(k+12)>>2]=j;c[p+(k+8)>>2]=j;break h}}else d=f;while(0);e=d+8|0;f=c[e>>2]|0;H=c[37432]|0;if(d>>>0>=H>>>0&f>>>0>=H>>>0){c[f+12>>2]=j;c[e>>2]=j;c[p+(k+8)>>2]=f;c[p+(k+12)>>2]=d;c[p+(k+24)>>2]=0;break}else $a()}else{H=(c[37431]|0)+m|0;c[37431]=H;c[37434]=j;c[p+(k+4)>>2]=H|1}while(0);H=p+(h|8)|0;i=b;return H|0}e=150160|0;while(1){d=c[e>>2]|0;if(d>>>0<=r>>>0?(n=c[e+4>>2]|0,m=d+n|0,m>>>0>r>>>0):0)break;e=c[e+8>>2]|0}e=d+(n+ -39)|0;if(!(e&7))e=0;else e=0-e&7;d=d+(n+ -47+e)|0;d=d>>>0<(r+16|0)>>>0?r:d;e=d+8|0;f=p+8|0;if(!(f&7))f=0;else f=0-f&7;H=q+ -40-f|0;c[37434]=p+f;c[37431]=H;c[p+(f+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[37435]=c[37550];c[d+4>>2]=27;c[e+0>>2]=c[37540];c[e+4>>2]=c[37541];c[e+8>>2]=c[37542];c[e+12>>2]=c[37543];c[37540]=p;c[37541]=q;c[37543]=0;c[37542]=e;e=d+28|0;c[e>>2]=7;if((d+32|0)>>>0>>0)do{H=e;e=e+4|0;c[e>>2]=7}while((H+8|0)>>>0>>0);if((d|0)!=(r|0)){d=d-r|0;e=r+(d+4)|0;c[e>>2]=c[e>>2]&-2;c[r+4>>2]=d|1;c[r+d>>2]=d;e=d>>>3;if(d>>>0<256){f=e<<1;d=149752+(f<<2)|0;g=c[37428]|0;e=1<>2]|0;if(e>>>0>=(c[37432]|0)>>>0){k=f;j=e;break}$a()}while(0);c[k>>2]=r;c[j+12>>2]=r;c[r+8>>2]=j;c[r+12>>2]=d;break}e=d>>>8;if(e)if(d>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=d>>>(e+7|0)&1|e<<1}else e=0;j=150016+(e<<2)|0;c[r+28>>2]=e;c[r+20>>2]=0;c[r+16>>2]=0;f=c[37429]|0;g=1<>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break}f=c[j>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;k:do if((c[f+4>>2]&-8|0)!=(d|0)){e=d<>>31<<2)+16|0;g=c[f>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(d|0)){h=g;break k}else{e=e<<1;j=g}}if(f>>>0<(c[37432]|0)>>>0)$a();else{c[f>>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break g}}else h=f;while(0);e=h+8|0;d=c[e>>2]|0;H=c[37432]|0;if(h>>>0>=H>>>0&d>>>0>=H>>>0){c[d+12>>2]=r;c[e>>2]=r;c[r+8>>2]=d;c[r+12>>2]=h;c[r+24>>2]=0;break}else $a()}}else{H=c[37432]|0;if((H|0)==0|p>>>0>>0)c[37432]=p;c[37540]=p;c[37541]=q;c[37543]=0;c[37437]=c[37546];c[37436]=-1;d=0;do{H=d<<1;G=149752+(H<<2)|0;c[149752+(H+3<<2)>>2]=G;c[149752+(H+2<<2)>>2]=G;d=d+1|0}while((d|0)!=32);d=p+8|0;if(!(d&7))d=0;else d=0-d&7;H=q+ -40-d|0;c[37434]=p+d;c[37431]=H;c[p+(d+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[37435]=c[37550]}while(0);d=c[37431]|0;if(d>>>0>a>>>0){G=d-a|0;c[37431]=G;H=c[37434]|0;c[37434]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}}c[(Qa()|0)>>2]=12;H=0;i=b;return H|0}function Ul(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=i;if(!a){i=b;return}q=a+ -8|0;r=c[37432]|0;if(q>>>0>>0)$a();n=c[a+ -4>>2]|0;m=n&3;if((m|0)==1)$a();j=n&-8;h=a+(j+ -8)|0;do if(!(n&1)){u=c[q>>2]|0;if(!m){i=b;return}q=-8-u|0;n=a+q|0;m=u+j|0;if(n>>>0>>0)$a();if((n|0)==(c[37433]|0)){e=a+(j+ -4)|0;o=c[e>>2]|0;if((o&3|0)!=3){e=n;o=m;break}c[37430]=m;c[e>>2]=o&-2;c[a+(q+4)>>2]=m|1;c[h>>2]=m;i=b;return}t=u>>>3;if(u>>>0<256){e=c[a+(q+8)>>2]|0;o=c[a+(q+12)>>2]|0;p=149752+(t<<1<<2)|0;if((e|0)!=(p|0)){if(e>>>0>>0)$a();if((c[e+12>>2]|0)!=(n|0))$a()}if((o|0)==(e|0)){c[37428]=c[37428]&~(1<>>0>>0)$a();p=o+8|0;if((c[p>>2]|0)==(n|0))s=p;else $a()}else s=o+8|0;c[e+12>>2]=o;c[s>>2]=e;e=n;o=m;break}s=c[a+(q+24)>>2]|0;t=c[a+(q+12)>>2]|0;do if((t|0)==(n|0)){u=a+(q+20)|0;t=c[u>>2]|0;if(!t){u=a+(q+16)|0;t=c[u>>2]|0;if(!t){p=0;break}}while(1){v=t+20|0;w=c[v>>2]|0;if(w){t=w;u=v;continue}v=t+16|0;w=c[v>>2]|0;if(!w)break;else{t=w;u=v}}if(u>>>0>>0)$a();else{c[u>>2]=0;p=t;break}}else{u=c[a+(q+8)>>2]|0;if(u>>>0>>0)$a();r=u+12|0;if((c[r>>2]|0)!=(n|0))$a();v=t+8|0;if((c[v>>2]|0)==(n|0)){c[r>>2]=t;c[v>>2]=u;p=t;break}else $a()}while(0);if(s){r=c[a+(q+28)>>2]|0;t=150016+(r<<2)|0;if((n|0)==(c[t>>2]|0)){c[t>>2]=p;if(!p){c[37429]=c[37429]&~(1<>>0<(c[37432]|0)>>>0)$a();r=s+16|0;if((c[r>>2]|0)==(n|0))c[r>>2]=p;else c[s+20>>2]=p;if(!p){e=n;o=m;break}}r=c[37432]|0;if(p>>>0>>0)$a();c[p+24>>2]=s;s=c[a+(q+16)>>2]|0;do if(s)if(s>>>0>>0)$a();else{c[p+16>>2]=s;c[s+24>>2]=p;break}while(0);q=c[a+(q+20)>>2]|0;if(q)if(q>>>0<(c[37432]|0)>>>0)$a();else{c[p+20>>2]=q;c[q+24>>2]=p;e=n;o=m;break}else{e=n;o=m}}else{e=n;o=m}}else{e=q;o=j}while(0);if(e>>>0>=h>>>0)$a();m=a+(j+ -4)|0;n=c[m>>2]|0;if(!(n&1))$a();if(!(n&2)){if((h|0)==(c[37434]|0)){w=(c[37431]|0)+o|0;c[37431]=w;c[37434]=e;c[e+4>>2]=w|1;if((e|0)!=(c[37433]|0)){i=b;return}c[37433]=0;c[37430]=0;i=b;return}if((h|0)==(c[37433]|0)){w=(c[37430]|0)+o|0;c[37430]=w;c[37433]=e;c[e+4>>2]=w|1;c[e+w>>2]=w;i=b;return}o=(n&-8)+o|0;m=n>>>3;do if(n>>>0>=256){l=c[a+(j+16)>>2]|0;m=c[a+(j|4)>>2]|0;do if((m|0)==(h|0)){n=a+(j+12)|0;m=c[n>>2]|0;if(!m){n=a+(j+8)|0;m=c[n>>2]|0;if(!m){k=0;break}}while(1){q=m+20|0;p=c[q>>2]|0;if(p){m=p;n=q;continue}p=m+16|0;q=c[p>>2]|0;if(!q)break;else{m=q;n=p}}if(n>>>0<(c[37432]|0)>>>0)$a();else{c[n>>2]=0;k=m;break}}else{n=c[a+j>>2]|0;if(n>>>0<(c[37432]|0)>>>0)$a();p=n+12|0;if((c[p>>2]|0)!=(h|0))$a();q=m+8|0;if((c[q>>2]|0)==(h|0)){c[p>>2]=m;c[q>>2]=n;k=m;break}else $a()}while(0);if(l){m=c[a+(j+20)>>2]|0;n=150016+(m<<2)|0;if((h|0)==(c[n>>2]|0)){c[n>>2]=k;if(!k){c[37429]=c[37429]&~(1<>>0<(c[37432]|0)>>>0)$a();m=l+16|0;if((c[m>>2]|0)==(h|0))c[m>>2]=k;else c[l+20>>2]=k;if(!k)break}h=c[37432]|0;if(k>>>0>>0)$a();c[k+24>>2]=l;l=c[a+(j+8)>>2]|0;do if(l)if(l>>>0>>0)$a();else{c[k+16>>2]=l;c[l+24>>2]=k;break}while(0);h=c[a+(j+12)>>2]|0;if(h)if(h>>>0<(c[37432]|0)>>>0)$a();else{c[k+20>>2]=h;c[h+24>>2]=k;break}}}else{k=c[a+j>>2]|0;j=c[a+(j|4)>>2]|0;a=149752+(m<<1<<2)|0;if((k|0)!=(a|0)){if(k>>>0<(c[37432]|0)>>>0)$a();if((c[k+12>>2]|0)!=(h|0))$a()}if((j|0)==(k|0)){c[37428]=c[37428]&~(1<>>0<(c[37432]|0)>>>0)$a();a=j+8|0;if((c[a>>2]|0)==(h|0))l=a;else $a()}else l=j+8|0;c[k+12>>2]=j;c[l>>2]=k}while(0);c[e+4>>2]=o|1;c[e+o>>2]=o;if((e|0)==(c[37433]|0)){c[37430]=o;i=b;return}}else{c[m>>2]=n&-2;c[e+4>>2]=o|1;c[e+o>>2]=o}h=o>>>3;if(o>>>0<256){j=h<<1;d=149752+(j<<2)|0;k=c[37428]|0;h=1<>2]|0;if(h>>>0<(c[37432]|0)>>>0)$a();else{f=j;g=h}}else{c[37428]=k|h;f=149752+(j+2<<2)|0;g=d}c[f>>2]=e;c[g+12>>2]=e;c[e+8>>2]=g;c[e+12>>2]=d;i=b;return}f=o>>>8;if(f)if(o>>>0>16777215)f=31;else{v=(f+1048320|0)>>>16&8;w=f<>>16&4;w=w<>>16&2;f=14-(u|v|f)+(w<>>15)|0;f=o>>>(f+7|0)&1|f<<1}else f=0;g=150016+(f<<2)|0;c[e+28>>2]=f;c[e+20>>2]=0;c[e+16>>2]=0;j=c[37429]|0;h=1<>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;b:do if((c[g+4>>2]&-8|0)!=(o|0)){f=o<>>31<<2)+16|0;h=c[j>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(o|0)){d=h;break b}else{f=f<<1;g=h}}if(j>>>0<(c[37432]|0)>>>0)$a();else{c[j>>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e;break a}}else d=g;while(0);g=d+8|0;f=c[g>>2]|0;w=c[37432]|0;if(d>>>0>=w>>>0&f>>>0>=w>>>0){c[f+12>>2]=e;c[g>>2]=e;c[e+8>>2]=f;c[e+12>>2]=d;c[e+24>>2]=0;break}else $a()}else{c[37429]=j|h;c[g>>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e}while(0);w=(c[37436]|0)+ -1|0;c[37436]=w;if(!w)d=150168|0;else{i=b;return}while(1){d=c[d>>2]|0;if(!d)break;else d=d+8|0}c[37436]=-1;i=b;return}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;do if(a){if(b>>>0>4294967231){c[(Qa()|0)>>2]=12;e=0;break}if(b>>>0<11)e=16;else e=b+11&-8;e=xm(a+ -8|0,e)|0;if(e){e=e+8|0;break}e=Tl(b)|0;if(!e)e=0;else{f=c[a+ -4>>2]|0;f=(f&-8)-((f&3|0)==0?8:4)|0;Km(e|0,a|0,(f>>>0>>0?f:b)|0)|0;Ul(a)}}else e=Tl(b)|0;while(0);i=d;return e|0}function Wl(a){a=a|0;return(a+ -48|0)>>>0<10|0}function Xl(a){a=a|0;if((a|0)==32)a=1;else a=(a+ -9|0)>>>0<5;return a&1|0}function Yl(a){a=a|0;return(a+ -65|0)>>>0<26|0}function Zl(a){a=a|0;var b=0,c=0;c=i;b=(Yl(a)|0)==0;i=c;return(b?a:a|32)|0}function _l(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;if(e>>>0>36){c[(Qa()|0)>>2]=22;s=0;t=0;G=s;i=j;return t|0}k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;o=d[m>>0]|0}else o=bm(b)|0}while((Xl(o)|0)!=0);do if((o|0)==43|(o|0)==45){m=((o|0)==45)<<31>>31;n=c[k>>2]|0;if(n>>>0<(c[l>>2]|0)>>>0){c[k>>2]=n+1;o=d[n>>0]|0;break}else{o=bm(b)|0;break}}else m=0;while(0);n=(e|0)==0;do if((e&-17|0)==0&(o|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;o=d[o>>0]|0}else o=bm(b)|0;if((o|32|0)!=120)if(n){e=8;f=46;break}else{f=32;break}e=c[k>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[k>>2]=e+1;o=d[e>>0]|0}else o=bm(b)|0;if((d[o+150209>>0]|0)>15){g=(c[l>>2]|0)==0;if(!g)c[k>>2]=(c[k>>2]|0)+ -1;if(!f){am(b,0);s=0;t=0;G=s;i=j;return t|0}if(g){s=0;t=0;G=s;i=j;return t|0}c[k>>2]=(c[k>>2]|0)+ -1;s=0;t=0;G=s;i=j;return t|0}else{e=16;f=46}}else{e=n?10:e;if((d[o+150209>>0]|0)>>>0>>0)f=32;else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+ -1;am(b,0);c[(Qa()|0)>>2]=22;s=0;t=0;G=s;i=j;return t|0}}while(0);if((f|0)==32)if((e|0)==10){e=o+ -48|0;if(e>>>0<10){n=0;do{n=(n*10|0)+e|0;e=c[k>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[k>>2]=e+1;o=d[e>>0]|0}else o=bm(b)|0;e=o+ -48|0}while(e>>>0<10&n>>>0<429496729);p=0}else{n=0;p=0}e=o+ -48|0;if(e>>>0<10){do{q=Sm(n|0,p|0,10,0)|0;r=G;s=((e|0)<0)<<31>>31;t=~s;if(r>>>0>t>>>0|(r|0)==(t|0)&q>>>0>~e>>>0)break;n=Im(q|0,r|0,e|0,s|0)|0;p=G;e=c[k>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[k>>2]=e+1;o=d[e>>0]|0}else o=bm(b)|0;e=o+ -48|0}while(e>>>0<10&(p>>>0<429496729|(p|0)==429496729&n>>>0<2576980378));if(e>>>0<=9){e=10;f=72}}}else f=46;a:do if((f|0)==46){if(!(e+ -1&e)){f=a[150472+((e*23|0)>>>5&7)>>0]|0;r=a[o+150209>>0]|0;n=r&255;if(n>>>0>>0){o=n;n=0;do{n=o|n<>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;s=d[o>>0]|0}else s=bm(b)|0;r=a[s+150209>>0]|0;o=r&255}while(o>>>0>>0&n>>>0<134217728);p=0}else{p=0;n=0;s=o}o=Jm(-1,-1,f|0)|0;q=G;if((r&255)>>>0>=e>>>0|(p>>>0>q>>>0|(p|0)==(q|0)&n>>>0>o>>>0)){o=s;f=72;break}while(1){n=Gm(n|0,p|0,f|0)|0;p=G;n=r&255|n;r=c[k>>2]|0;if(r>>>0<(c[l>>2]|0)>>>0){c[k>>2]=r+1;s=d[r>>0]|0}else s=bm(b)|0;r=a[s+150209>>0]|0;if((r&255)>>>0>=e>>>0|(p>>>0>q>>>0|(p|0)==(q|0)&n>>>0>o>>>0)){o=s;f=72;break a}}}r=a[o+150209>>0]|0;f=r&255;if(f>>>0>>0){n=0;do{n=f+(ca(n,e)|0)|0;f=c[k>>2]|0;if(f>>>0<(c[l>>2]|0)>>>0){c[k>>2]=f+1;q=d[f>>0]|0}else q=bm(b)|0;r=a[q+150209>>0]|0;f=r&255}while(f>>>0>>0&n>>>0<119304647);p=0}else{n=0;p=0;q=o}if((r&255)>>>0>>0){f=Tm(-1,-1,e|0,0)|0;o=G;while(1){if(p>>>0>o>>>0|(p|0)==(o|0)&n>>>0>f>>>0){o=q;f=72;break a}s=Sm(n|0,p|0,e|0,0)|0;t=G;r=r&255;if(t>>>0>4294967295|(t|0)==-1&s>>>0>~r>>>0){o=q;f=72;break a}n=Im(r|0,0,s|0,t|0)|0;p=G;q=c[k>>2]|0;if(q>>>0<(c[l>>2]|0)>>>0){c[k>>2]=q+1;q=d[q>>0]|0}else q=bm(b)|0;r=a[q+150209>>0]|0;if((r&255)>>>0>=e>>>0){o=q;f=72;break}}}else{o=q;f=72}}while(0);if((f|0)==72)if((d[o+150209>>0]|0)>>>0>>0){do{f=c[k>>2]|0;if(f>>>0<(c[l>>2]|0)>>>0){c[k>>2]=f+1;f=d[f>>0]|0}else f=bm(b)|0}while((d[f+150209>>0]|0)>>>0>>0);c[(Qa()|0)>>2]=34;p=h;n=g}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+ -1;if(!(p>>>0>>0|(p|0)==(h|0)&n>>>0>>0)){if(!((g&1|0)!=0|0!=0|(m|0)!=0)){c[(Qa()|0)>>2]=34;t=Im(g|0,h|0,-1,-1)|0;s=G;G=s;i=j;return t|0}if(p>>>0>h>>>0|(p|0)==(h|0)&n>>>0>g>>>0){c[(Qa()|0)>>2]=34;s=h;t=g;G=s;i=j;return t|0}}t=((m|0)<0)<<31>>31;t=Cm(n^m|0,p^t|0,m|0,t|0)|0;s=G;G=s;i=j;return t|0}function $l(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0.0;g=i;i=i+512|0;k=g;if(!e){e=24;h=-149}else if((e|0)==2){e=53;h=-1074}else if((e|0)==1){e=53;h=-1074}else{J=0.0;i=g;return+J}n=b+4|0;o=b+100|0;do{j=c[n>>2]|0;if(j>>>0<(c[o>>2]|0)>>>0){c[n>>2]=j+1;u=d[j>>0]|0}else u=bm(b)|0}while((Xl(u)|0)!=0);do if((u|0)==43|(u|0)==45){j=1-(((u|0)==45&1)<<1)|0;m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;u=d[m>>0]|0;break}else{u=bm(b)|0;break}}else j=1;while(0);r=0;do{if((u|32|0)!=(a[150488+r>>0]|0))break;do if(r>>>0<7){m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;u=d[m>>0]|0;break}else{u=bm(b)|0;break}}while(0);r=r+1|0}while(r>>>0<8);do if((r|0)==3)p=23;else if((r|0)!=8){m=(f|0)!=0;if(r>>>0>3&m)if((r|0)==8)break;else{p=23;break}a:do if(!r){r=0;do{if((u|32|0)!=(a[150504+r>>0]|0))break a;do if(r>>>0<2){s=c[n>>2]|0;if(s>>>0<(c[o>>2]|0)>>>0){c[n>>2]=s+1;u=d[s>>0]|0;break}else{u=bm(b)|0;break}}while(0);r=r+1|0}while(r>>>0<3)}while(0);if((r|0)==3){e=c[n>>2]|0;if(e>>>0<(c[o>>2]|0)>>>0){c[n>>2]=e+1;e=d[e>>0]|0}else e=bm(b)|0;if((e|0)==40)e=1;else{if(!(c[o>>2]|0)){J=v;i=g;return+J}c[n>>2]=(c[n>>2]|0)+ -1;J=v;i=g;return+J}while(1){h=c[n>>2]|0;if(h>>>0<(c[o>>2]|0)>>>0){c[n>>2]=h+1;h=d[h>>0]|0}else h=bm(b)|0;if(!((h+ -48|0)>>>0<10|(h+ -65|0)>>>0<26)?!((h+ -97|0)>>>0<26|(h|0)==95):0)break;e=e+1|0}if((h|0)==41){J=v;i=g;return+J}h=(c[o>>2]|0)==0;if(!h)c[n>>2]=(c[n>>2]|0)+ -1;if(!m){c[(Qa()|0)>>2]=22;am(b,0);J=0.0;i=g;return+J}if((e|0)==0|h){J=v;i=g;return+J}do{e=e+ -1|0;c[n>>2]=(c[n>>2]|0)+ -1}while((e|0)!=0);q=v;i=g;return+q}else if(!r){do if((u|0)==48){m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;m=d[m>>0]|0}else m=bm(b)|0;if((m|32|0)!=120){if(!(c[o>>2]|0)){u=48;break}c[n>>2]=(c[n>>2]|0)+ -1;u=48;break}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;z=d[k>>0]|0;x=0}else{z=bm(b)|0;x=0}while(1){if((z|0)==46){p=70;break}else if((z|0)!=48){k=0;m=0;s=0;r=0;u=0;y=0;F=1.0;t=0;q=0.0;break}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;z=d[k>>0]|0;x=1;continue}else{z=bm(b)|0;x=1;continue}}if((p|0)==70){k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;z=d[k>>0]|0}else z=bm(b)|0;if((z|0)==48){s=0;r=0;do{k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;z=d[k>>0]|0}else z=bm(b)|0;s=Im(s|0,r|0,-1,-1)|0;r=G}while((z|0)==48);k=0;m=0;x=1;u=1;y=0;F=1.0;t=0;q=0.0}else{k=0;m=0;s=0;r=0;u=1;y=0;F=1.0;t=0;q=0.0}}b:while(1){A=z+ -48|0;do if(A>>>0>=10){B=z|32;C=(z|0)==46;if(!((B+ -97|0)>>>0<6|C))break b;if(C)if(!u){s=m;r=k;u=1;break}else{z=46;break b}else{A=(z|0)>57?B+ -87|0:A;p=83;break}}else p=83;while(0);if((p|0)==83){p=0;do if(!((k|0)<0|(k|0)==0&m>>>0<8)){if((k|0)<0|(k|0)==0&m>>>0<14){J=F*.0625;I=J;q=q+J*+(A|0);break}if((A|0)==0|(y|0)!=0)I=F;else{y=1;I=F;q=q+F*.5}}else{I=F;t=A+(t<<4)|0}while(0);m=Im(m|0,k|0,1,0)|0;k=G;x=1;F=I}z=c[n>>2]|0;if(z>>>0<(c[o>>2]|0)>>>0){c[n>>2]=z+1;z=d[z>>0]|0;continue}else{z=bm(b)|0;continue}}if(!x){e=(c[o>>2]|0)==0;if(!e)c[n>>2]=(c[n>>2]|0)+ -1;if(f){if(!e?(l=c[n>>2]|0,c[n>>2]=l+ -1,(u|0)!=0):0)c[n>>2]=l+ -2}else am(b,0);J=+(j|0)*0.0;i=g;return+J}p=(u|0)==0;l=p?m:s;p=p?k:r;if((k|0)<0|(k|0)==0&m>>>0<8)do{t=t<<4;m=Im(m|0,k|0,1,0)|0;k=G}while((k|0)<0|(k|0)==0&m>>>0<8);do if((z|32|0)==112){m=zm(b,f)|0;k=G;if((m|0)==0&(k|0)==-2147483648)if(!f){am(b,0);J=0.0;i=g;return+J}else{if(!(c[o>>2]|0)){m=0;k=0;break}c[n>>2]=(c[n>>2]|0)+ -1;m=0;k=0;break}}else if(!(c[o>>2]|0)){m=0;k=0}else{c[n>>2]=(c[n>>2]|0)+ -1;m=0;k=0}while(0);l=Gm(l|0,p|0,2)|0;l=Im(l|0,G|0,-32,-1)|0;k=Im(l|0,G|0,m|0,k|0)|0;l=G;if(!t){J=+(j|0)*0.0;i=g;return+J}if((l|0)>0|(l|0)==0&k>>>0>(0-h|0)>>>0){c[(Qa()|0)>>2]=34;J=+(j|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+J}H=h+ -106|0;E=((H|0)<0)<<31>>31;if((l|0)<(E|0)|(l|0)==(E|0)&k>>>0>>0){c[(Qa()|0)>>2]=34;J=+(j|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+J}if((t|0)>-1)do{t=t<<1;if(!(q>=.5))F=q;else{F=q+-1.0;t=t|1}q=q+F;k=Im(k|0,l|0,-1,-1)|0;l=G}while((t|0)>-1);h=Cm(32,0,h|0,((h|0)<0)<<31>>31|0)|0;h=Im(k|0,l|0,h|0,G|0)|0;H=G;if(0>(H|0)|0==(H|0)&e>>>0>h>>>0)if((h|0)<0){e=0;p=126}else{e=h;p=124}else p=124;if((p|0)==124)if((e|0)<53)p=126;else{h=e;F=+(j|0);I=0.0}if((p|0)==126){I=+(j|0);h=e;F=I;I=+oa(+(+em(1.0,84-e|0)),+I)}H=(h|0)<32&q!=0.0&(t&1|0)==0;q=F*(H?0.0:q)+(I+F*+(((H&1)+t|0)>>>0))-I;if(!(q!=0.0))c[(Qa()|0)>>2]=34;J=+fm(q,k);i=g;return+J}while(0);m=h+e|0;l=0-m|0;B=0;while(1){if((u|0)==46){p=137;break}else if((u|0)!=48){D=0;C=0;z=0;break}r=c[n>>2]|0;if(r>>>0<(c[o>>2]|0)>>>0){c[n>>2]=r+1;u=d[r>>0]|0;B=1;continue}else{u=bm(b)|0;B=1;continue}}if((p|0)==137){p=c[n>>2]|0;if(p>>>0<(c[o>>2]|0)>>>0){c[n>>2]=p+1;u=d[p>>0]|0}else u=bm(b)|0;if((u|0)==48){D=0;C=0;do{D=Im(D|0,C|0,-1,-1)|0;C=G;p=c[n>>2]|0;if(p>>>0<(c[o>>2]|0)>>>0){c[n>>2]=p+1;u=d[p>>0]|0}else u=bm(b)|0}while((u|0)==48);B=1;z=1}else{D=0;C=0;z=1}}c[k>>2]=0;A=u+ -48|0;E=(u|0)==46;c:do if(A>>>0<10|E){p=k+496|0;y=0;x=0;t=0;s=0;r=0;d:while(1){do if(E)if(!z){D=y;C=x;z=1}else break d;else{E=Im(y|0,x|0,1,0)|0;x=G;H=(u|0)!=48;if((s|0)>=125){if(!H){y=E;break}c[p>>2]=c[p>>2]|1;y=E;break}y=k+(s<<2)|0;if(t)A=u+ -48+((c[y>>2]|0)*10|0)|0;c[y>>2]=A;t=t+1|0;A=(t|0)==9;y=E;B=1;t=A?0:t;s=(A&1)+s|0;r=H?E:r}while(0);u=c[n>>2]|0;if(u>>>0<(c[o>>2]|0)>>>0){c[n>>2]=u+1;u=d[u>>0]|0}else u=bm(b)|0;A=u+ -48|0;E=(u|0)==46;if(!(A>>>0<10|E)){p=160;break c}}z=(B|0)!=0;p=168}else{y=0;x=0;t=0;s=0;r=0;p=160}while(0);do if((p|0)==160){z=(z|0)==0;D=z?y:D;C=z?x:C;z=(B|0)!=0;if(!(z&(u|32|0)==101))if((u|0)>-1){p=168;break}else{n=D;p=170;break}z=zm(b,f)|0;u=G;do if((z|0)==0&(u|0)==-2147483648)if(!f){am(b,0);J=0.0;i=g;return+J}else{if(!(c[o>>2]|0)){z=0;u=0;break}c[n>>2]=(c[n>>2]|0)+ -1;z=0;u=0;break}while(0);n=Im(z|0,u|0,D|0,C|0)|0;C=G}while(0);if((p|0)==168)if(c[o>>2]|0){c[n>>2]=(c[n>>2]|0)+ -1;if(z)n=D;else p=171}else{n=D;p=170}if((p|0)==170)if(!z)p=171;if((p|0)==171){c[(Qa()|0)>>2]=22;am(b,0);J=0.0;i=g;return+J}b=c[k>>2]|0;if(!b){J=+(j|0)*0.0;i=g;return+J}if((n|0)==(y|0)&(C|0)==(x|0)&((x|0)<0|(x|0)==0&y>>>0<10)?e>>>0>30|(b>>>e|0)==0:0){J=+(j|0)*+(b>>>0);i=g;return+J}H=(h|0)/-2|0;E=((H|0)<0)<<31>>31;if((C|0)>(E|0)|(C|0)==(E|0)&n>>>0>H>>>0){c[(Qa()|0)>>2]=34;J=+(j|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+J}H=h+ -106|0;E=((H|0)<0)<<31>>31;if((C|0)<(E|0)|(C|0)==(E|0)&n>>>0>>0){c[(Qa()|0)>>2]=34;J=+(j|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+J}if(t){if((t|0)<9){b=k+(s<<2)|0;o=c[b>>2]|0;do{o=o*10|0;t=t+1|0}while((t|0)!=9);c[b>>2]=o}s=s+1|0}if((r|0)<9?(r|0)<=(n|0)&(n|0)<18:0){if((n|0)==9){J=+(j|0)*+((c[k>>2]|0)>>>0);i=g;return+J}if((n|0)<9){J=+(j|0)*+((c[k>>2]|0)>>>0)/+(c[150520+(8-n<<2)>>2]|0);i=g;return+J}H=e+27+(ca(n,-3)|0)|0;b=c[k>>2]|0;if((H|0)>30|(b>>>H|0)==0){J=+(j|0)*+(b>>>0)*+(c[150520+(n+ -10<<2)>>2]|0);i=g;return+J}}b=(n|0)%9|0;if(!b){b=0;o=0}else{f=(n|0)>-1?b:b+9|0;r=c[150520+(8-f<<2)>>2]|0;if(s){o=1e9/(r|0)|0;b=0;p=0;t=0;do{D=k+(t<<2)|0;E=c[D>>2]|0;H=((E>>>0)/(r>>>0)|0)+p|0;c[D>>2]=H;p=ca((E>>>0)%(r>>>0)|0,o)|0;E=t;t=t+1|0;if((E|0)==(b|0)&(H|0)==0){b=t&127;n=n+ -9|0}}while((t|0)!=(s|0));if(p){c[k+(s<<2)>>2]=p;s=s+1|0}}else{b=0;s=0}o=0;n=9-f+n|0}e:while(1){f=k+(b<<2)|0;if((n|0)<18){do{r=0;f=s+127|0;while(1){f=f&127;p=k+(f<<2)|0;t=Gm(c[p>>2]|0,0,29)|0;t=Im(t|0,G|0,r|0,0)|0;r=G;if(r>>>0>0|(r|0)==0&t>>>0>1e9){H=Tm(t|0,r|0,1e9,0)|0;t=Um(t|0,r|0,1e9,0)|0;r=H}else r=0;c[p>>2]=t;p=(f|0)==(b|0);if(!((f|0)!=(s+127&127|0)|p))s=(t|0)==0?f:s;if(p)break;else f=f+ -1|0}o=o+ -29|0}while((r|0)==0)}else{if((n|0)!=18)break;do{if((c[f>>2]|0)>>>0>=9007199){n=18;break e}r=0;p=s+127|0;while(1){p=p&127;t=k+(p<<2)|0;u=Gm(c[t>>2]|0,0,29)|0;u=Im(u|0,G|0,r|0,0)|0;r=G;if(r>>>0>0|(r|0)==0&u>>>0>1e9){H=Tm(u|0,r|0,1e9,0)|0;u=Um(u|0,r|0,1e9,0)|0;r=H}else r=0;c[t>>2]=u;t=(p|0)==(b|0);if(!((p|0)!=(s+127&127|0)|t))s=(u|0)==0?p:s;if(t)break;else p=p+ -1|0}o=o+ -29|0}while((r|0)==0)}b=b+127&127;if((b|0)==(s|0)){H=s+127&127;s=k+((s+126&127)<<2)|0;c[s>>2]=c[s>>2]|c[k+(H<<2)>>2];s=H}c[k+(b<<2)>>2]=r;n=n+9|0}f:while(1){f=s+1&127;p=k+((s+127&127)<<2)|0;while(1){t=(n|0)==18;r=(n|0)>27?9:1;while(1){u=0;while(1){x=u+b&127;if((x|0)==(s|0)){u=2;break}z=c[k+(x<<2)>>2]|0;x=c[150512+(u<<2)>>2]|0;if(z>>>0>>0){u=2;break}y=u+1|0;if(z>>>0>x>>>0)break;if((y|0)<2)u=y;else{u=y;break}}if((u|0)==2&t)break f;o=r+o|0;if((b|0)==(s|0))b=s;else break}u=(1<>>r;y=b;t=0;do{D=k+(b<<2)|0;E=c[D>>2]|0;H=(E>>>r)+t|0;c[D>>2]=H;t=ca(E&u,x)|0;H=(b|0)==(y|0)&(H|0)==0;b=b+1&127;n=H?n+ -9|0:n;y=H?b:y}while((b|0)!=(s|0));if(!t){b=y;continue}if((f|0)!=(y|0))break;c[p>>2]=c[p>>2]|1;b=y}c[k+(s<<2)>>2]=t;b=y;s=f}n=b&127;if((n|0)==(s|0)){c[k+(f+ -1<<2)>>2]=0;s=f}F=+((c[k+(n<<2)>>2]|0)>>>0);n=b+1&127;if((n|0)==(s|0)){s=s+1&127;c[k+(s+ -1<<2)>>2]=0}q=+(j|0);I=q*(F*1.0e9+ +((c[k+(n<<2)>>2]|0)>>>0));j=o+53|0;h=j-h|0;if((h|0)<(e|0))if((h|0)<0){e=0;n=1;p=244}else{e=h;n=1;p=243}else{n=0;p=243}if((p|0)==243)if((e|0)<53)p=244;else{F=0.0;J=0.0}if((p|0)==244){L=+oa(+(+em(1.0,105-e|0)),+I);K=+kb(+I,+(+em(1.0,53-e|0)));F=L;J=K;I=L+(I-K)}f=b+2&127;do if((f|0)!=(s|0)){k=c[k+(f<<2)>>2]|0;do if(k>>>0>=5e8){if(k>>>0>5e8){J=q*.75+J;break}if((b+3&127|0)==(s|0)){J=q*.5+J;break}else{J=q*.75+J;break}}else{if((k|0)==0?(b+3&127|0)==(s|0):0)break;J=q*.25+J}while(0);if((53-e|0)<=1)break;if(+kb(+J,1.0)!=0.0)break;J=J+1.0}while(0);q=I+J-F;do if((j&2147483647|0)>(-2-m|0)){if(+R(+q)>=9007199254740992.0){n=(n|0)!=0&(e|0)==(h|0)?0:n;o=o+1|0;q=q*.5}if((o+50|0)<=(l|0)?!((n|0)!=0&J!=0.0):0)break;c[(Qa()|0)>>2]=34}while(0);L=+fm(q,o);i=g;return+L}else{if(c[o>>2]|0)c[n>>2]=(c[n>>2]|0)+ -1;c[(Qa()|0)>>2]=22;am(b,0);L=0.0;i=g;return+L}}while(0);if((p|0)==23){e=(c[o>>2]|0)==0;if(!e)c[n>>2]=(c[n>>2]|0)+ -1;if(!(r>>>0<4|(f|0)==0|e))do{c[n>>2]=(c[n>>2]|0)+ -1;r=r+ -1|0}while(r>>>0>3)}L=+(j|0)*w;i=g;return+L}function am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;c[a+104>>2]=b;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;c[a+108>>2]=g;if((b|0)!=0&(g|0)>(b|0)){c[a+100>>2]=e+b;i=d;return}else{c[a+100>>2]=f;i=d;return}}function bm(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;j=b+104|0;l=c[j>>2]|0;if(!((l|0)!=0?(c[b+108>>2]|0)>=(l|0):0))k=3;if((k|0)==3?(e=km(b)|0,(e|0)>=0):0){k=c[j>>2]|0;j=c[b+8>>2]|0;if((k|0)!=0?(g=c[b+4>>2]|0,h=k-(c[b+108>>2]|0)+ -1|0,(j-g|0)>(h|0)):0)c[b+100>>2]=g+h;else c[b+100>>2]=j;g=c[b+4>>2]|0;if(j){l=b+108|0;c[l>>2]=j+1-g+(c[l>>2]|0)}b=g+ -1|0;if((d[b>>0]|0|0)==(e|0)){l=e;i=f;return l|0}a[b>>0]=e;l=e;i=f;return l|0}c[b+100>>2]=0;l=-1;i=f;return l|0}function cm(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0;d=i;h[k>>3]=a;f=c[k>>2]|0;e=c[k+4>>2]|0;g=Jm(f|0,e|0,52)|0;g=g&2047;if(!g){if(a!=0.0){a=+cm(a*18446744073709552000.0,b);e=(c[b>>2]|0)+ -64|0}else e=0;c[b>>2]=e;i=d;return+a}else if((g|0)==2047){i=d;return+a}else{c[b>>2]=g+ -1022;c[k>>2]=f;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3];i=d;return+a}return 0.0}function dm(a,b){a=+a;b=b|0;var c=0;c=i;a=+cm(a,b);i=c;return+a}function em(a,b){a=+a;b=b|0;var d=0,e=0;d=i;if((b|0)>1023){a=a*8.98846567431158e+307;e=b+ -1023|0;if((e|0)>1023){b=b+ -2046|0;b=(b|0)>1023?1023:b;a=a*8.98846567431158e+307}else b=e}else if((b|0)<-1022){a=a*2.2250738585072014e-308;e=b+1022|0;if((e|0)<-1022){b=b+2044|0;b=(b|0)<-1022?-1022:b;a=a*2.2250738585072014e-308}else b=e}b=Gm(b+1023|0,0,52)|0;e=G;c[k>>2]=b;c[k+4>>2]=e;a=a*+h[k>>3];i=d;return+a}function fm(a,b){a=+a;b=b|0;var c=0;c=i;a=+em(a,b);i=c;return+a}function gm(a,b){a=a|0;b=b|0;var c=0;c=i;if(!a)a=0;else a=hm(a,b,0)|0;i=c;return a|0}function hm(b,d,e){b=b|0;d=d|0;e=e|0;e=i;if(!b){b=1;i=e;return b|0}if(d>>>0<128){a[b>>0]=d;b=1;i=e;return b|0}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;i=e;return b|0}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;i=e;return b|0}if((d+ -65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;i=e;return b|0}else{c[(Qa()|0)>>2]=84;b=-1;i=e;return b|0}return 0}function im(b){b=b|0;var d=0,e=0,f=0;e=i;f=b+74|0;d=a[f>>0]|0;a[f>>0]=d+255|d;f=b+20|0;d=b+44|0;if((c[f>>2]|0)>>>0>(c[d>>2]|0)>>>0)mb[c[b+36>>2]&3](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[f>>2]=0;f=c[b>>2]|0;if(!(f&20)){f=c[d>>2]|0;c[b+8>>2]=f;c[b+4>>2]=f;f=0;i=e;return f|0}if(!(f&4)){f=-1;i=e;return f|0}c[b>>2]=f|32;f=-1;i=e;return f|0}function jm(b){b=b|0;var d=0,e=0,f=0;d=i;e=b+74|0;f=a[e>>0]|0;a[e>>0]=f+255|f;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;f=c[b+44>>2]|0;c[b+28>>2]=f;c[b+20>>2]=f;c[b+16>>2]=f+(c[b+48>>2]|0);f=0;i=d;return f|0}else{c[b>>2]=e|32;f=-1;i=d;return f|0}return 0}function km(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;if((c[a+8>>2]|0)==0?(im(a)|0)!=0:0)a=-1;else if((mb[c[a+32>>2]&3](a,e,1)|0)==1)a=d[e>>0]|0;else a=-1;i=b;return a|0}function lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=e+16|0;j=c[g>>2]|0;do if(!j)if(!(jm(e)|0)){j=c[g>>2]|0;break}else{k=0;i=f;return k|0}while(0);g=e+20|0;h=c[g>>2]|0;if((j-h|0)>>>0>>0){k=mb[c[e+36>>2]&3](e,b,d)|0;i=f;return k|0}a:do if((a[e+75>>0]|0)>-1){j=d;while(1){if(!j){j=0;break a}k=j+ -1|0;if((a[b+k>>0]|0)==10)break;else j=k}if((mb[c[e+36>>2]&3](e,b,j)|0)>>>0>>0){k=j;i=f;return k|0}else{d=d-j|0;b=b+j|0;h=c[g>>2]|0;break}}else j=0;while(0);Km(h|0,b|0,d|0)|0;c[g>>2]=(c[g>>2]|0)+d;k=j+d|0;i=f;return k|0}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=pm(a,b,f)|0;i=e;return d|0}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+224|0;j=e+120|0;g=e+80|0;f=e;h=e+136|0;k=g+0|0;l=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[j>>2]=c[d>>2];if((Am(0,b,j,f,g)|0)<0){o=-1;i=e;return o|0}k=a+48|0;if(!(c[k>>2]|0)){o=a+44|0;d=c[o>>2]|0;c[o>>2]=h;m=a+28|0;c[m>>2]=h;l=a+20|0;c[l>>2]=h;c[k>>2]=80;n=a+16|0;c[n>>2]=h+80;f=Am(a,b,j,f,g)|0;if(d){mb[c[a+36>>2]&3](a,0,0)|0;f=(c[l>>2]|0)==0?-1:f;c[o>>2]=d;c[k>>2]=0;c[n>>2]=0;c[m>>2]=0;c[l>>2]=0}}else f=Am(a,b,j,f,g)|0;o=f;i=e;return o|0}function om(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+128|0;m=g+112|0;h=g;k=h+0|0;j=151120|0;l=k+112|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0));if((d+ -1|0)>>>0>2147483646)if(!d)d=1;else{c[(Qa()|0)>>2]=75;b=-1;i=g;return b|0}else m=b;b=-2-m|0;b=d>>>0>b>>>0?b:d;c[h+48>>2]=b;d=h+20|0;c[d>>2]=m;c[h+44>>2]=m;m=m+b|0;j=h+16|0;c[j>>2]=m;c[h+28>>2]=m;h=nm(h,e,f)|0;if(!b){b=h;i=g;return b|0}b=c[d>>2]|0;a[b+(((b|0)==(c[j>>2]|0))<<31>>31)>>0]=0;b=h;i=g;return b|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=om(a,2147483647,b,c)|0;i=d;return a|0}function qm(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=i;while(1){f=b+1|0;if(!(Xl(a[b>>0]|0)|0))break;else b=f}e=a[b>>0]|0;g=e<<24>>24;if((g|0)==45){e=1;d=5}else if((g|0)==43){e=0;d=5}else{f=e;e=0}if((d|0)==5){b=f;f=a[f>>0]|0}if(!(Wl(f<<24>>24)|0)){b=0;f=(e|0)!=0;g=0-b|0;g=f?b:g;i=c;return g|0}else d=0;do{d=(d*10|0)+48-(a[b>>0]|0)|0;b=b+1|0}while((Wl(a[b>>0]|0)|0)!=0);b=(e|0)!=0;g=0-d|0;g=b?d:g;i=c;return g|0}function rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=d&255;j=(e|0)!=0;a:do if((b&3|0)!=0&j){h=d&255;while(1){if((a[b>>0]|0)==h<<24>>24){h=6;break a}b=b+1|0;e=e+ -1|0;j=(e|0)!=0;if(!((b&3|0)!=0&j)){h=5;break}}}else h=5;while(0);if((h|0)==5)if(j)h=6;else e=0;b:do if((h|0)==6){d=d&255;if((a[b>>0]|0)!=d<<24>>24){g=ca(g,16843009)|0;c:do if(e>>>0>3)do{j=c[b>>2]^g;if((j&-2139062144^-2139062144)&j+ -16843009)break c;b=b+4|0;e=e+ -4|0}while(e>>>0>3);while(0);if(!e)e=0;else while(1){if((a[b>>0]|0)==d<<24>>24)break b;b=b+1|0;e=e+ -1|0;if(!e){e=0;break}}}}while(0);i=f;return((e|0)!=0?b:0)|0}function sm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=i;a:do if(!d)d=0;else{while(1){f=a[b>>0]|0;g=a[c>>0]|0;if(f<<24>>24!=g<<24>>24)break;d=d+ -1|0;if(!d){d=0;break a}else{b=b+1|0;c=c+1|0}}d=(f&255)-(g&255)|0}while(0);i=e;return d|0}function tm(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;e=i;g=a[b>>0]|0;a:do if(!(g<<24>>24))f=0;else{f=g;g=g&255;while(1){h=a[c>>0]|0;if(!(h<<24>>24))break a;if(f<<24>>24!=h<<24>>24?(h=Zl(g)|0,(h|0)!=(Zl(d[c>>0]|0)|0)):0)break;b=b+1|0;c=c+1|0;g=a[b>>0]|0;if(!(g<<24>>24)){f=0;break a}else{f=g;g=g&255}}f=a[b>>0]|0}while(0);h=Zl(f&255)|0;h=h-(Zl(d[c>>0]|0)|0)|0;i=e;return h|0}function um(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=i;f=a[b>>0]|0;e=a[c>>0]|0;if(f<<24>>24==0?1:f<<24>>24!=e<<24>>24)c=f;else{do{b=b+1|0;c=c+1|0;f=a[b>>0]|0;e=a[c>>0]|0}while(!(f<<24>>24==0?1:f<<24>>24!=e<<24>>24));c=f}i=d;return(c&255)-(e&255)|0}function vm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=i;if(!e){b=0;i=f;return b|0}g=a[b>>0]|0;a:do if(!(g<<24>>24))g=0;else while(1){e=e+ -1|0;h=a[c>>0]|0;if(!(h<<24>>24!=0&(e|0)!=0&g<<24>>24==h<<24>>24))break a;b=b+1|0;c=c+1|0;g=a[b>>0]|0;if(!(g<<24>>24)){g=0;break}}while(0);h=(g&255)-(d[c>>0]|0)|0;i=f;return h|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=a+20|0;g=c[f>>2]|0;a=(c[a+16>>2]|0)-g|0;a=a>>>0>d>>>0?d:a;Km(g|0,b|0,a|0)|0;c[f>>2]=(c[f>>2]|0)+a;i=e;return d|0}function xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;f=a+4|0;e=c[f>>2]|0;l=e&-8;j=a+l|0;m=c[37432]|0;h=e&3;if(!((h|0)!=1&a>>>0>=m>>>0&a>>>0>>0))$a();g=a+(l|4)|0;p=c[g>>2]|0;if(!(p&1))$a();if(!h){if(b>>>0<256){r=0;i=d;return r|0}if(l>>>0>=(b+4|0)>>>0?(l-b|0)>>>0<=c[37548]<<1>>>0:0){r=a;i=d;return r|0}r=0;i=d;return r|0}if(l>>>0>=b>>>0){h=l-b|0;if(h>>>0<=15){r=a;i=d;return r|0}c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=h|3;c[g>>2]=c[g>>2]|1;ym(a+b|0,h);r=a;i=d;return r|0}if((j|0)==(c[37434]|0)){g=(c[37431]|0)+l|0;if(g>>>0<=b>>>0){r=0;i=d;return r|0}r=g-b|0;c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=r|1;c[37434]=a+b;c[37431]=r;r=a;i=d;return r|0}if((j|0)==(c[37433]|0)){h=(c[37430]|0)+l|0;if(h>>>0>>0){r=0;i=d;return r|0}g=h-b|0;if(g>>>0>15){c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=g|1;c[a+h>>2]=g;e=a+(h+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[f>>2]=e&1|h|2;e=a+(h+4)|0;c[e>>2]=c[e>>2]|1;e=0;g=0}c[37430]=g;c[37433]=e;r=a;i=d;return r|0}if(p&2){r=0;i=d;return r|0}g=(p&-8)+l|0;if(g>>>0>>0){r=0;i=d;return r|0}h=g-b|0;o=p>>>3;do if(p>>>0>=256){n=c[a+(l+24)>>2]|0;o=c[a+(l+12)>>2]|0;do if((o|0)==(j|0)){p=a+(l+20)|0;o=c[p>>2]|0;if(!o){p=a+(l+16)|0;o=c[p>>2]|0;if(!o){k=0;break}}while(1){r=o+20|0;q=c[r>>2]|0;if(q){o=q;p=r;continue}q=o+16|0;r=c[q>>2]|0;if(!r)break;else{o=r;p=q}}if(p>>>0>>0)$a();else{c[p>>2]=0;k=o;break}}else{p=c[a+(l+8)>>2]|0;if(p>>>0>>0)$a();m=p+12|0;if((c[m>>2]|0)!=(j|0))$a();q=o+8|0;if((c[q>>2]|0)==(j|0)){c[m>>2]=o;c[q>>2]=p;k=o;break}else $a()}while(0);if(n){m=c[a+(l+28)>>2]|0;o=150016+(m<<2)|0;if((j|0)==(c[o>>2]|0)){c[o>>2]=k;if(!k){c[37429]=c[37429]&~(1<>>0<(c[37432]|0)>>>0)$a();m=n+16|0;if((c[m>>2]|0)==(j|0))c[m>>2]=k;else c[n+20>>2]=k;if(!k)break}j=c[37432]|0;if(k>>>0>>0)$a();c[k+24>>2]=n;m=c[a+(l+16)>>2]|0;do if(m)if(m>>>0>>0)$a();else{c[k+16>>2]=m;c[m+24>>2]=k;break}while(0);j=c[a+(l+20)>>2]|0;if(j)if(j>>>0<(c[37432]|0)>>>0)$a();else{c[k+20>>2]=j;c[j+24>>2]=k;break}}}else{k=c[a+(l+8)>>2]|0;l=c[a+(l+12)>>2]|0;p=149752+(o<<1<<2)|0;if((k|0)!=(p|0)){if(k>>>0>>0)$a();if((c[k+12>>2]|0)!=(j|0))$a()}if((l|0)==(k|0)){c[37428]=c[37428]&~(1<>>0>>0)$a();m=l+8|0;if((c[m>>2]|0)==(j|0))n=m;else $a()}else n=l+8|0;c[k+12>>2]=l;c[n>>2]=k}while(0);if(h>>>0<16){c[f>>2]=g|e&1|2;r=a+(g|4)|0;c[r>>2]=c[r>>2]|1;r=a;i=d;return r|0}else{c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=h|3;r=a+(g|4)|0;c[r>>2]=c[r>>2]|1;ym(a+b|0,h);r=a;i=d;return r|0}return 0}function ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=i;h=a+b|0;l=c[a+4>>2]|0;do if(!(l&1)){p=c[a>>2]|0;if(!(l&3)){i=d;return}l=a+(0-p)|0;m=p+b|0;r=c[37432]|0;if(l>>>0>>0)$a();if((l|0)==(c[37433]|0)){e=a+(b+4)|0;n=c[e>>2]|0;if((n&3|0)!=3){e=l;n=m;break}c[37430]=m;c[e>>2]=n&-2;c[a+(4-p)>>2]=m|1;c[h>>2]=m;i=d;return}s=p>>>3;if(p>>>0<256){e=c[a+(8-p)>>2]|0;n=c[a+(12-p)>>2]|0;o=149752+(s<<1<<2)|0;if((e|0)!=(o|0)){if(e>>>0>>0)$a();if((c[e+12>>2]|0)!=(l|0))$a()}if((n|0)==(e|0)){c[37428]=c[37428]&~(1<>>0>>0)$a();o=n+8|0;if((c[o>>2]|0)==(l|0))q=o;else $a()}else q=n+8|0;c[e+12>>2]=n;c[q>>2]=e;e=l;n=m;break}q=c[a+(24-p)>>2]|0;s=c[a+(12-p)>>2]|0;do if((s|0)==(l|0)){u=16-p|0;t=a+(u+4)|0;s=c[t>>2]|0;if(!s){t=a+u|0;s=c[t>>2]|0;if(!s){o=0;break}}while(1){v=s+20|0;u=c[v>>2]|0;if(u){s=u;t=v;continue}u=s+16|0;v=c[u>>2]|0;if(!v)break;else{s=v;t=u}}if(t>>>0>>0)$a();else{c[t>>2]=0;o=s;break}}else{t=c[a+(8-p)>>2]|0;if(t>>>0>>0)$a();r=t+12|0;if((c[r>>2]|0)!=(l|0))$a();u=s+8|0;if((c[u>>2]|0)==(l|0)){c[r>>2]=s;c[u>>2]=t;o=s;break}else $a()}while(0);if(q){s=c[a+(28-p)>>2]|0;r=150016+(s<<2)|0;if((l|0)==(c[r>>2]|0)){c[r>>2]=o;if(!o){c[37429]=c[37429]&~(1<>>0<(c[37432]|0)>>>0)$a();r=q+16|0;if((c[r>>2]|0)==(l|0))c[r>>2]=o;else c[q+20>>2]=o;if(!o){e=l;n=m;break}}r=c[37432]|0;if(o>>>0>>0)$a();c[o+24>>2]=q;p=16-p|0;q=c[a+p>>2]|0;do if(q)if(q>>>0>>0)$a();else{c[o+16>>2]=q;c[q+24>>2]=o;break}while(0);p=c[a+(p+4)>>2]|0;if(p)if(p>>>0<(c[37432]|0)>>>0)$a();else{c[o+20>>2]=p;c[p+24>>2]=o;e=l;n=m;break}else{e=l;n=m}}else{e=l;n=m}}else{e=a;n=b}while(0);l=c[37432]|0;if(h>>>0>>0)$a();m=a+(b+4)|0;o=c[m>>2]|0;if(!(o&2)){if((h|0)==(c[37434]|0)){v=(c[37431]|0)+n|0;c[37431]=v;c[37434]=e;c[e+4>>2]=v|1;if((e|0)!=(c[37433]|0)){i=d;return}c[37433]=0;c[37430]=0;i=d;return}if((h|0)==(c[37433]|0)){v=(c[37430]|0)+n|0;c[37430]=v;c[37433]=e;c[e+4>>2]=v|1;c[e+v>>2]=v;i=d;return}n=(o&-8)+n|0;m=o>>>3;do if(o>>>0>=256){k=c[a+(b+24)>>2]|0;o=c[a+(b+12)>>2]|0;do if((o|0)==(h|0)){o=a+(b+20)|0;m=c[o>>2]|0;if(!m){o=a+(b+16)|0;m=c[o>>2]|0;if(!m){j=0;break}}while(1){p=m+20|0;q=c[p>>2]|0;if(q){m=q;o=p;continue}q=m+16|0;p=c[q>>2]|0;if(!p)break;else{m=p;o=q}}if(o>>>0>>0)$a();else{c[o>>2]=0;j=m;break}}else{m=c[a+(b+8)>>2]|0;if(m>>>0>>0)$a();p=m+12|0;if((c[p>>2]|0)!=(h|0))$a();l=o+8|0;if((c[l>>2]|0)==(h|0)){c[p>>2]=o;c[l>>2]=m;j=o;break}else $a()}while(0);if(k){m=c[a+(b+28)>>2]|0;l=150016+(m<<2)|0;if((h|0)==(c[l>>2]|0)){c[l>>2]=j;if(!j){c[37429]=c[37429]&~(1<>>0<(c[37432]|0)>>>0)$a();l=k+16|0;if((c[l>>2]|0)==(h|0))c[l>>2]=j;else c[k+20>>2]=j;if(!j)break}h=c[37432]|0;if(j>>>0>>0)$a();c[j+24>>2]=k;k=c[a+(b+16)>>2]|0;do if(k)if(k>>>0>>0)$a();else{c[j+16>>2]=k;c[k+24>>2]=j;break}while(0);h=c[a+(b+20)>>2]|0;if(h)if(h>>>0<(c[37432]|0)>>>0)$a();else{c[j+20>>2]=h;c[h+24>>2]=j;break}}}else{j=c[a+(b+8)>>2]|0;a=c[a+(b+12)>>2]|0;b=149752+(m<<1<<2)|0;if((j|0)!=(b|0)){if(j>>>0>>0)$a();if((c[j+12>>2]|0)!=(h|0))$a()}if((a|0)==(j|0)){c[37428]=c[37428]&~(1<>>0>>0)$a();b=a+8|0;if((c[b>>2]|0)==(h|0))k=b;else $a()}else k=a+8|0;c[j+12>>2]=a;c[k>>2]=j}while(0);c[e+4>>2]=n|1;c[e+n>>2]=n;if((e|0)==(c[37433]|0)){c[37430]=n;i=d;return}}else{c[m>>2]=o&-2;c[e+4>>2]=n|1;c[e+n>>2]=n}b=n>>>3;if(n>>>0<256){a=b<<1;h=149752+(a<<2)|0;j=c[37428]|0;b=1<>2]|0;if(j>>>0<(c[37432]|0)>>>0)$a();else{g=a;f=j}}else{c[37428]=j|b;g=149752+(a+2<<2)|0;f=h}c[g>>2]=e;c[f+12>>2]=e;c[e+8>>2]=f;c[e+12>>2]=h;i=d;return}f=n>>>8;if(f)if(n>>>0>16777215)f=31;else{u=(f+1048320|0)>>>16&8;v=f<>>16&4;v=v<>>16&2;f=14-(t|u|f)+(v<>>15)|0;f=n>>>(f+7|0)&1|f<<1}else f=0;g=150016+(f<<2)|0;c[e+28>>2]=f;c[e+20>>2]=0;c[e+16>>2]=0;a=c[37429]|0;h=1<>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}g=c[g>>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;a:do if((c[g+4>>2]&-8|0)!=(n|0)){f=n<>>31<<2)+16|0;g=c[h>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(n|0))break a;else{f=f<<1;a=g}}if(h>>>0<(c[37432]|0)>>>0)$a();c[h>>2]=e;c[e+24>>2]=a;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}while(0);f=g+8|0;h=c[f>>2]|0;v=c[37432]|0;if(!(g>>>0>=v>>>0&h>>>0>=v>>>0))$a();c[h+12>>2]=e;c[f>>2]=e;c[e+8>>2]=h;c[e+12>>2]=g;c[e+24>>2]=0;i=d;return}function zm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=a+4|0;h=c[g>>2]|0;f=a+100|0;if(h>>>0<(c[f>>2]|0)>>>0){c[g>>2]=h+1;j=d[h>>0]|0}else j=bm(a)|0;if((j|0)==43|(j|0)==45){k=c[g>>2]|0;h=(j|0)==45&1;if(k>>>0<(c[f>>2]|0)>>>0){c[g>>2]=k+1;j=d[k>>0]|0}else j=bm(a)|0;if((j+ -48|0)>>>0>9&(b|0)!=0?(c[f>>2]|0)!=0:0)c[g>>2]=(c[g>>2]|0)+ -1}else h=0;if((j+ -48|0)>>>0>9){if(!(c[f>>2]|0)){j=-2147483648;k=0;G=j;i=e;return k|0}c[g>>2]=(c[g>>2]|0)+ -1;j=-2147483648;k=0;G=j;i=e;return k|0}else b=0;do{b=j+ -48+(b*10|0)|0;j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;j=d[j>>0]|0}else j=bm(a)|0}while((j+ -48|0)>>>0<10&(b|0)<214748364);k=((b|0)<0)<<31>>31;if((j+ -48|0)>>>0<10)do{k=Sm(b|0,k|0,10,0)|0;b=G;j=Im(j|0,((j|0)<0)<<31>>31|0,-48,-1)|0;b=Im(j|0,G|0,k|0,b|0)|0;k=G;j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;j=d[j>>0]|0}else j=bm(a)|0}while((j+ -48|0)>>>0<10&((k|0)<21474836|(k|0)==21474836&b>>>0<2061584302));if((j+ -48|0)>>>0<10)do{j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;j=d[j>>0]|0}else j=bm(a)|0}while((j+ -48|0)>>>0<10);if(c[f>>2]|0)c[g>>2]=(c[g>>2]|0)+ -1;g=(h|0)!=0;h=Cm(0,0,b|0,k|0)|0;j=g?G:k;k=g?h:b;G=j;i=e;return k|0}
function Am(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0.0,ab=0,bb=0.0,cb=0;n=i;i=i+864|0;C=n+16|0;p=n+8|0;w=n+836|0;x=w;v=n+824|0;t=n+568|0;O=n+528|0;q=n;I=n+520|0;ha=(e|0)!=0;P=O+40|0;J=P;O=O+39|0;r=q+4|0;s=q;u=v+12|0;v=v+11|0;B=u;A=B-x|0;y=-2-x|0;z=B+2|0;D=C+288|0;E=w+9|0;F=E;H=w+8|0;La=0;Oa=0;ta=0;Pa=0;Ma=0;a:while(1){do if((ta|0)>-1)if((Pa|0)>(2147483647-ta|0)){c[(Qa()|0)>>2]=75;ta=-1;break}else{ta=Pa+ta|0;break}while(0);Ia=a[f>>0]|0;if(!(Ia<<24>>24)){Ha=352;break}else Ja=f;while(1){if(!(Ia<<24>>24)){ja=Ja;ra=Ja;break}else if(Ia<<24>>24==37){Q=Ja;R=Ja;Ha=9;break}ab=Ja+1|0;Ia=a[ab>>0]|0;Ja=ab}b:do if((Ha|0)==9)while(1){Ha=0;if((a[Q+1>>0]|0)!=37){ja=Q;ra=R;break b}ra=R+1|0;ja=Q+2|0;if((a[ja>>0]|0)==37){Q=ja;R=ra}else break}while(0);Pa=ra-f|0;if(ha)lm(f,Pa,e)|0;if((ra|0)!=(f|0)){f=ja;continue}Na=ja+1|0;Ja=a[Na>>0]|0;Ra=(Ja<<24>>24)+ -48|0;if(Ra>>>0<10?(a[ja+2>>0]|0)==36:0){Na=ja+3|0;Ja=a[Na>>0]|0;Ia=1}else{Ra=-1;Ia=Ma}Ka=Ja<<24>>24;c:do if((Ka&-32|0)==32){Sa=0;do{Ka=1<>0]|0;Ka=Ja<<24>>24}while((Ka&-32|0)==32)}else Sa=0;while(0);do if(Ja<<24>>24==42){Ja=Na+1|0;Ka=(a[Ja>>0]|0)+ -48|0;if(Ka>>>0<10?(a[Na+2>>0]|0)==36:0){c[l+(Ka<<2)>>2]=10;Ia=1;Na=Na+3|0;Ka=c[j+((a[Ja>>0]|0)+ -48<<3)>>2]|0}else{if(Ia){m=-1;Ha=370;break a}if(!ha){Ia=0;Ka=0;break}Ia=c[g>>2]|0;Ka=c[Ia>>2]|0;c[g>>2]=Ia+4;Ia=0;Na=Ja}if((Ka|0)<0){Ja=Na;Sa=Sa|8192;Ka=0-Ka|0}else Ja=Na}else{Ta=Ja<<24>>24;if((Ta+ -48|0)>>>0<10){Ja=Na;Ka=0;do{Ka=Ta+ -48+(Ka*10|0)|0;Ja=Ja+1|0;Ta=a[Ja>>0]|0}while((Ta+ -48|0)>>>0<10);if((Ka|0)<0){m=-1;Ha=370;break a}}else{Ja=Na;Ka=0}}while(0);d:do if((a[Ja>>0]|0)==46){Na=Ja+1|0;Ta=a[Na>>0]|0;if(Ta<<24>>24!=42){Ta=Ta<<24>>24;if((Ta+ -48|0)>>>0<10){Ja=Na;Na=0}else{Ja=Na;Na=0;break}while(1){Na=Ta+ -48+(Na*10|0)|0;Ja=Ja+1|0;Ta=a[Ja>>0]|0;if((Ta+ -48|0)>>>0>=10)break d}}Na=Ja+2|0;Ta=(a[Na>>0]|0)+ -48|0;if(Ta>>>0<10?(a[Ja+3>>0]|0)==36:0){c[l+(Ta<<2)>>2]=10;Ja=Ja+4|0;Na=c[j+((a[Na>>0]|0)+ -48<<3)>>2]|0;break}if(Ia){m=-1;Ha=370;break a}if(ha){Ja=c[g>>2]|0;ab=c[Ja>>2]|0;c[g>>2]=Ja+4;Ja=Na;Na=ab}else{Ja=Na;Na=0}}else Na=-1;while(0);Va=Ja;Ta=0;while(1){Ua=a[Va>>0]|0;Wa=(Ua<<24>>24)+ -65|0;if(Wa>>>0>57){m=-1;Ha=370;break a}Ja=Va+1|0;Xa=a[150552+(Ta*58|0)+Wa>>0]|0;Wa=Xa&255;if((Wa+ -1|0)>>>0<8){Va=Ja;Ta=Wa}else break}if(!(Xa<<24>>24)){m=-1;Ha=370;break}Ya=(Ra|0)>-1;e:do if(Xa<<24>>24==19)if(Ya){m=-1;Ha=370;break a}else{T=La;S=Oa;Ha=63}else{if(Ya){c[l+(Ra<<2)>>2]=Wa;S=j+(Ra<<3)|0;T=c[S>>2]|0;S=c[S+4>>2]|0;Ha=63;break}if(!ha){m=0;Ha=370;break a}if((Xa&255)>20){W=Ua;X=La;Y=Oa}else do switch(Wa|0){case 16:{V=c[g>>2]|0;U=c[V>>2]|0;c[g>>2]=V+4;V=0;U=U&255;Ha=64;break e};case 14:{V=c[g>>2]|0;U=c[V>>2]|0;c[g>>2]=V+4;V=0;U=U&65535;Ha=64;break e};case 12:{Ha=c[g>>2]|0;V=Ha;U=c[V>>2]|0;V=c[V+4>>2]|0;c[g>>2]=Ha+8;Ha=64;break e};case 13:{V=c[g>>2]|0;U=c[V>>2]|0;c[g>>2]=V+4;V=(((U&65535)<<16>>16|0)<0)<<31>>31;U=U<<16>>16;Ha=64;break e};case 11:{V=c[g>>2]|0;U=c[V>>2]|0;c[g>>2]=V+4;V=0;Ha=64;break e};case 10:{V=c[g>>2]|0;U=c[V>>2]|0;c[g>>2]=V+4;V=((U|0)<0)<<31>>31;Ha=64;break e};case 9:{V=c[g>>2]|0;U=c[V>>2]|0;c[g>>2]=V+4;V=Oa;Ha=64;break e};case 18:{T=c[g>>2]|0;c[k>>2]=c[T>>2];c[k+4>>2]=c[T+4>>2];bb=+h[k>>3];c[g>>2]=T+8;h[k>>3]=bb;T=c[k>>2]|0;S=c[k+4>>2]|0;Ha=63;break e};case 17:{V=c[g>>2]|0;c[k>>2]=c[V>>2];c[k+4>>2]=c[V+4>>2];bb=+h[k>>3];c[g>>2]=V+8;h[k>>3]=bb;V=c[k+4>>2]|0;U=c[k>>2]|0;Ha=64;break e};case 15:{V=c[g>>2]|0;U=c[V>>2]|0;c[g>>2]=V+4;V=(((U&255)<<24>>24|0)<0)<<31>>31;U=U<<24>>24;Ha=64;break e};default:{V=Oa;U=La;Ha=64;break e}}while(0)}while(0);if((Ha|0)==63){Ha=0;if(ha){V=S;U=T;Ha=64}else{La=T;Oa=S;f=Ja;Ma=Ia;continue}}if((Ha|0)==64){Ha=0;W=a[Va>>0]|0;X=U;Y=V}Oa=W<<24>>24;Oa=(Ta|0)!=0&(Oa&15|0)==3?Oa&-33:Oa;Ra=Sa&-65537;La=(Sa&8192|0)==0?Sa:Ra;f:do switch(Oa|0){case 99:{a[O>>0]=X;la=X;ka=Y;ma=O;na=Ra;qa=1;pa=0;oa=151016;sa=P;break};case 109:{Z=db(c[(Qa()|0)>>2]|0)|0;Ha=96;break};case 105:case 100:{if((Y|0)<0){aa=Cm(0,0,X|0,Y|0)|0;N=G;$=1;_=151016;Ha=86;break f}if(!(La&2048)){_=La&1;N=Y;aa=X;$=_;_=(_|0)==0?151016:151018;Ha=86}else{N=Y;aa=X;$=1;_=151017;Ha=86}break};case 115:{Z=(X|0)==0?151032:X;Ha=96;break};case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c[k>>2]=X;c[k+4>>2]=Y;$a=+h[k>>3];c[p>>2]=0;if((Y|0)>=0)if(!(La&2048)){Ma=La&1;f=Ma;Ma=(Ma|0)==0?151041:151046}else{f=1;Ma=151043}else{$a=-$a;f=1;Ma=151040}h[k>>3]=$a;ab=c[k+4>>2]&2146435072;if(!(ab>>>0<2146435072|(ab|0)==2146435072&0<0)){Na=(Oa&32|0)!=0;if($a!=$a|0.0!=0.0){f=0;Oa=Na?151080:151088}else Oa=Na?151064:151072;Na=f+3|0;Pa=(Ka|0)>(Na|0);if((La&8192|0)==0&Pa){Sa=Ka-Na|0;Dm(t|0,32,(Sa>>>0>256?256:Sa)|0)|0;if(Sa>>>0>255){Ra=Sa;do{lm(t,256,e)|0;Ra=Ra+ -256|0}while(Ra>>>0>255);Sa=Sa&255}lm(t,Sa,e)|0}lm(Ma,f,e)|0;lm(Oa,3,e)|0;if((La&73728|0)==8192&Pa){Ma=Ka-Na|0;Dm(t|0,32,(Ma>>>0>256?256:Ma)|0)|0;if(Ma>>>0>255){La=Ma;do{lm(t,256,e)|0;La=La+ -256|0}while(La>>>0>255);Ma=Ma&255}lm(t,Ma,e)|0}La=X;Oa=Y;f=Ja;Pa=Pa?Ka:Na;Ma=Ia;continue a}$a=+dm($a,p)*2.0;Pa=$a!=0.0;if(Pa)c[p>>2]=(c[p>>2]|0)+ -1;Ua=Oa|32;if((Ua|0)==97){Pa=Oa&32;Ma=(Pa|0)==0?Ma:Ma+9|0;f=f|2;Ra=Na>>>0>11?0:12-Na|0;do if(Ra){bb=8.0;do{Ra=Ra+ -1|0;bb=bb*16.0}while((Ra|0)!=0);if((a[Ma>>0]|0)==45){$a=-(bb+(-$a-bb));break}else{$a=$a+bb-bb;break}}while(0);Ta=c[p>>2]|0;Ta=(Ta|0)<0?0-Ta|0:Ta;if((Ta|0)<0){Sa=u;Ra=Ta;Ta=((Ta|0)<0)<<31>>31;while(1){ab=Um(Ra|0,Ta|0,10,0)|0;Sa=Sa+ -1|0;a[Sa>>0]=ab|48;ab=Ra;Ra=Tm(Ra|0,Ta|0,10,0)|0;if(!(Ta>>>0>9|(Ta|0)==9&ab>>>0>4294967295))break;else Ta=G}}else{Sa=u;Ra=Ta}if(Ra)while(1){Sa=Sa+ -1|0;a[Sa>>0]=(Ra>>>0)%10|0|48;if(Ra>>>0<10)break;else Ra=(Ra>>>0)/10|0}if((Sa|0)==(u|0)){a[v>>0]=48;Sa=v}a[Sa+ -1>>0]=(c[p>>2]>>31&2)+43;Ra=Sa+ -2|0;a[Ra>>0]=Oa+15;if((Na|0)<1)if(!(La&8)){Sa=w;while(1){ab=~~$a;Oa=Sa+1|0;a[Sa>>0]=d[151096+ab>>0]|Pa;$a=($a- +(ab|0))*16.0;if(!((Oa-x|0)!=1|$a==0.0)){a[Oa>>0]=46;Oa=Sa+2|0}if(!($a!=0.0))break;else Sa=Oa}}else{Sa=w;while(1){ab=~~$a;Oa=Sa+1|0;a[Sa>>0]=d[151096+ab>>0]|Pa;$a=($a- +(ab|0))*16.0;if((Oa-x|0)==1){a[Oa>>0]=46;Oa=Sa+2|0}if(!($a!=0.0))break;else Sa=Oa}}else{Sa=w;while(1){ab=~~$a;Oa=Sa+1|0;a[Sa>>0]=d[151096+ab>>0]|Pa;$a=($a- +(ab|0))*16.0;if((Oa-x|0)==1){a[Oa>>0]=46;Oa=Sa+2|0}if(!($a!=0.0))break;else Sa=Oa}}Pa=Ra;if((Na|0)!=0&(y+Oa|0)<(Na|0))Sa=z+Na-Pa|0;else Sa=A-Pa+Oa|0;Na=Sa+f|0;La=La&73728;Pa=(Ka|0)>(Na|0);if((La|0)==0&Pa){Ta=Ka-Na|0;Dm(t|0,32,(Ta>>>0>256?256:Ta)|0)|0;if(Ta>>>0>255){Ua=Ta;do{lm(t,256,e)|0;Ua=Ua+ -256|0}while(Ua>>>0>255);Ta=Ta&255}lm(t,Ta,e)|0}lm(Ma,f,e)|0;if((La|0)==65536&Pa){Ma=Ka-Na|0;Dm(t|0,48,(Ma>>>0>256?256:Ma)|0)|0;if(Ma>>>0>255){f=Ma;do{lm(t,256,e)|0;f=f+ -256|0}while(f>>>0>255);Ma=Ma&255}lm(t,Ma,e)|0}f=Oa-x|0;lm(w,f,e)|0;Ma=B-Ra|0;f=Sa-Ma-f|0;if((f|0)>0){Dm(t|0,48,(f>>>0>256?256:f)|0)|0;if(f>>>0>255){Oa=f;do{lm(t,256,e)|0;Oa=Oa+ -256|0}while(Oa>>>0>255);f=f&255}lm(t,f,e)|0}lm(Ra,Ma,e)|0;if((La|0)==8192&Pa){La=Ka-Na|0;Dm(t|0,32,(La>>>0>256?256:La)|0)|0;if(La>>>0>255){Ma=La;do{lm(t,256,e)|0;Ma=Ma+ -256|0}while(Ma>>>0>255);La=La&255}lm(t,La,e)|0}La=X;Oa=Y;f=Ja;Pa=Pa?Ka:Na;Ma=Ia;continue a}Ra=(Na|0)<0?6:Na;if(Pa){Na=(c[p>>2]|0)+ -28|0;c[p>>2]=Na;$a=$a*268435456.0}else Na=c[p>>2]|0;Na=(Na|0)<0?C:D;Pa=Na;Sa=Na;do{ab=~~$a>>>0;c[Sa>>2]=ab;Sa=Sa+4|0;$a=($a- +(ab>>>0))*1.0e9}while($a!=0.0);Xa=c[p>>2]|0;if((Xa|0)>0){Ta=Na;do{Va=(Xa|0)>29?29:Xa;Xa=Sa+ -4|0;do if(Xa>>>0>=Ta>>>0){Wa=0;do{_a=Gm(c[Xa>>2]|0,0,Va|0)|0;_a=Im(_a|0,G|0,Wa|0,0)|0;ab=G;Za=Um(_a|0,ab|0,1e9,0)|0;c[Xa>>2]=Za;Wa=Tm(_a|0,ab|0,1e9,0)|0;Xa=Xa+ -4|0}while(Xa>>>0>=Ta>>>0);if(!Wa)break;Ta=Ta+ -4|0;c[Ta>>2]=Wa}while(0);while(1){if(Sa>>>0<=Ta>>>0)break;Wa=Sa+ -4|0;if(!(c[Wa>>2]|0))Sa=Wa;else break}Xa=(c[p>>2]|0)-Va|0;c[p>>2]=Xa}while((Xa|0)>0)}else Ta=Na;g:do if((Xa|0)<0){Va=((Ra+25|0)/9|0)+1|0;if((Ua|0)==102){Wa=Na+(Va<<2)|0;while(1){Xa=0-Xa|0;Xa=(Xa|0)>9?9:Xa;do if(Ta>>>0>>0){ab=(1<>>Xa;Ya=0;Za=Ta;do{cb=c[Za>>2]|0;c[Za>>2]=(cb>>>Xa)+Ya;Ya=ca(cb&ab,_a)|0;Za=Za+4|0}while(Za>>>0>>0);Ta=(c[Ta>>2]|0)==0?Ta+4|0:Ta;if(!Ya)break;c[Sa>>2]=Ya;Sa=Sa+4|0}else Ta=(c[Ta>>2]|0)==0?Ta+4|0:Ta;while(0);Sa=(Sa-Pa>>2|0)>(Va|0)?Wa:Sa;Xa=(c[p>>2]|0)+Xa|0;c[p>>2]=Xa;if((Xa|0)>=0)break g}}do{Wa=0-Xa|0;Wa=(Wa|0)>9?9:Wa;do if(Ta>>>0>>0){_a=(1<>>Wa;Xa=0;Ya=Ta;do{cb=c[Ya>>2]|0;c[Ya>>2]=(cb>>>Wa)+Xa;Xa=ca(cb&_a,Za)|0;Ya=Ya+4|0}while(Ya>>>0>>0);Ta=(c[Ta>>2]|0)==0?Ta+4|0:Ta;if(!Xa)break;c[Sa>>2]=Xa;Sa=Sa+4|0}else Ta=(c[Ta>>2]|0)==0?Ta+4|0:Ta;while(0);if((Sa-Ta>>2|0)>(Va|0))Sa=Ta+(Va<<2)|0;Xa=(c[p>>2]|0)+Wa|0;c[p>>2]=Xa}while((Xa|0)<0)}while(0);do if(Ta>>>0>>0){Va=(Pa-Ta>>2)*9|0;Wa=c[Ta>>2]|0;if(Wa>>>0<10)break;else Xa=10;do{Xa=Xa*10|0;Va=Va+1|0}while(Wa>>>0>=Xa>>>0)}else Va=0;while(0);Wa=(Ua|0)==103;Ua=Ra-((Ua|0)!=102?Va:0)+((Wa&(Ra|0)!=0)<<31>>31)|0;if((Ua|0)<(((Sa-Pa>>2)*9|0)+ -9|0)){Za=Ua+9216|0;Ya=(Za|0)/9|0;Ua=Na+(Ya+ -1023<<2)|0;Za=((Za|0)%9|0)+1|0;if((Za|0)<9){Xa=10;do{Xa=Xa*10|0;Za=Za+1|0}while((Za|0)!=9)}else Xa=10;_a=c[Ua>>2]|0;Za=(_a>>>0)%(Xa>>>0)|0;if((Za|0)==0?(Na+(Ya+ -1022<<2)|0)==(Sa|0):0){xa=Ta;Aa=Ua;Ba=Va}else Ha=232;do if((Ha|0)==232){Ha=0;$a=(((_a>>>0)/(Xa>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;xa=(Xa|0)/2|0;do if(Za>>>0>>0)bb=.5;else{if((Za|0)==(xa|0)?(Na+(Ya+ -1022<<2)|0)==(Sa|0):0){bb=1.0;break}bb=1.5}while(0);do if(f){if((a[Ma>>0]|0)!=45)break;$a=$a*-1.0;bb=bb*-1.0}while(0);xa=_a-Za|0;c[Ua>>2]=xa;if(!($a+bb!=$a)){xa=Ta;Aa=Ua;Ba=Va;break}cb=xa+Xa|0;c[Ua>>2]=cb;if(cb>>>0>999999999){xa=Ta;while(1){Aa=Ua+ -4|0;c[Ua>>2]=0;if(Aa>>>0>>0){xa=xa+ -4|0;c[xa>>2]=0}cb=(c[Aa>>2]|0)+1|0;c[Aa>>2]=cb;if(cb>>>0>999999999)Ua=Aa;else break}}else{xa=Ta;Aa=Ua}Ba=(Pa-xa>>2)*9|0;Ta=c[xa>>2]|0;if(Ta>>>0<10)break;else Ua=10;do{Ua=Ua*10|0;Ba=Ba+1|0}while(Ta>>>0>=Ua>>>0)}while(0);cb=Aa+4|0;Ta=xa;Ua=Ba;Sa=Sa>>>0>cb>>>0?cb:Sa}else Ua=Va;Ya=0-Ua|0;while(1){if(Sa>>>0<=Ta>>>0){Va=0;break}Va=Sa+ -4|0;if(!(c[Va>>2]|0))Sa=Va;else{Va=1;break}}do if(Wa){Ra=((Ra|0)==0&1)+Ra|0;if((Ra|0)>(Ua|0)&(Ua|0)>-5){Oa=Oa+ -1|0;Ra=Ra+ -1-Ua|0}else{Oa=Oa+ -2|0;Ra=Ra+ -1|0}if(La&8)break;do if(Va){Xa=c[Sa+ -4>>2]|0;if(!Xa){Za=9;break}if(!((Xa>>>0)%10|0)){Wa=10;Za=0}else{Za=0;break}do{Wa=Wa*10|0;Za=Za+1|0}while(((Xa>>>0)%(Wa>>>0)|0|0)==0)}else Za=9;while(0);Pa=((Sa-Pa>>2)*9|0)+ -9|0;if((Oa|32|0)==102){cb=Pa-Za|0;cb=(cb|0)<0?0:cb;Ra=(Ra|0)<(cb|0)?Ra:cb;break}else{cb=Pa+Ua-Za|0;cb=(cb|0)<0?0:cb;Ra=(Ra|0)<(cb|0)?Ra:cb;break}}while(0);Wa=(Ra|0)!=0;if(Wa)Pa=1;else Pa=(La&8|0)!=0;Pa=Pa&1;Xa=(Oa|32|0)==102;if(Xa){Oa=(Ua|0)>0?Ua:0;Ya=0}else{_a=(Ua|0)<0?Ya:Ua;if((_a|0)<0){Za=u;Ya=_a;_a=((_a|0)<0)<<31>>31;while(1){cb=Um(Ya|0,_a|0,10,0)|0;Za=Za+ -1|0;a[Za>>0]=cb|48;cb=Ya;Ya=Tm(Ya|0,_a|0,10,0)|0;if(!(_a>>>0>9|(_a|0)==9&cb>>>0>4294967295))break;else _a=G}}else{Za=u;Ya=_a}if(Ya)while(1){Za=Za+ -1|0;a[Za>>0]=(Ya>>>0)%10|0|48;if(Ya>>>0<10)break;else Ya=(Ya>>>0)/10|0}if((B-Za|0)<2)do{Za=Za+ -1|0;a[Za>>0]=48}while((B-Za|0)<2);a[Za+ -1>>0]=(Ua>>31&2)+43;Ya=Za+ -2|0;a[Ya>>0]=Oa;Oa=B-Ya|0}Pa=f+1+Ra+Pa+Oa|0;Oa=La&73728;Ua=(Ka|0)>(Pa|0);if((Oa|0)==0&Ua){Za=Ka-Pa|0;Dm(t|0,32,(Za>>>0>256?256:Za)|0)|0;if(Za>>>0>255){_a=Za;do{lm(t,256,e)|0;_a=_a+ -256|0}while(_a>>>0>255);Za=Za&255}lm(t,Za,e)|0}lm(Ma,f,e)|0;if((Oa|0)==65536&Ua){f=Ka-Pa|0;Dm(t|0,48,(f>>>0>256?256:f)|0)|0;if(f>>>0>255){Ma=f;do{lm(t,256,e)|0;Ma=Ma+ -256|0}while(Ma>>>0>255);f=f&255}lm(t,f,e)|0}do if(Xa){f=Ta>>>0>Na>>>0?Na:Ta;Ma=f;do{Va=c[Ma>>2]|0;if(!Va)Ta=E;else{Ta=E;while(1){Ta=Ta+ -1|0;a[Ta>>0]=(Va>>>0)%10|0|48;if(Va>>>0<10)break;else Va=(Va>>>0)/10|0}}do if((Ma|0)==(f|0)){if((Ta|0)!=(E|0))break;a[H>>0]=48;Ta=H}else{if(Ta>>>0<=w>>>0)break;do{Ta=Ta+ -1|0;a[Ta>>0]=48}while(Ta>>>0>w>>>0)}while(0);lm(Ta,F-Ta|0,e)|0;Ma=Ma+4|0}while(Ma>>>0<=Na>>>0);if(!((La&8|0)==0&(Wa^1)))lm(151112,1,e)|0;if(Ma>>>0>>0&(Ra|0)>0)do{Na=c[Ma>>2]|0;if(Na){La=E;while(1){La=La+ -1|0;a[La>>0]=(Na>>>0)%10|0|48;if(Na>>>0<10)break;else Na=(Na>>>0)/10|0}if(La>>>0>w>>>0){ba=La;Ha=301}else ia=La}else{ba=E;Ha=301}if((Ha|0)==301)while(1){Ha=0;ia=ba+ -1|0;a[ia>>0]=48;if(ia>>>0>w>>>0)ba=ia;else break}lm(ia,(Ra|0)>9?9:Ra,e)|0;Ma=Ma+4|0;Ra=Ra+ -9|0}while(Ma>>>0>>0&(Ra|0)>0);if((Ra|0)<=0)break;Dm(t|0,48,(Ra>>>0>256?256:Ra)|0)|0;if(Ra>>>0>255){La=Ra;do{lm(t,256,e)|0;La=La+ -256|0}while(La>>>0>255);Ra=Ra&255}lm(t,Ra,e)|0}else{Ma=Va?Sa:Ta+4|0;do if((Ra|0)>-1){La=(La&8|0)==0;Na=Ta;do{Sa=c[Na>>2]|0;if(Sa){f=E;while(1){f=f+ -1|0;a[f>>0]=(Sa>>>0)%10|0|48;if(Sa>>>0<10)break;else Sa=(Sa>>>0)/10|0}if((f|0)!=(E|0))da=f;else Ha=313}else Ha=313;if((Ha|0)==313){Ha=0;a[H>>0]=48;da=H}do if((Na|0)==(Ta|0)){f=da+1|0;lm(da,1,e)|0;if((Ra|0)<1&La)break;lm(151112,1,e)|0}else{if(da>>>0>w>>>0)f=da;else{f=da;break}do{f=f+ -1|0;a[f>>0]=48}while(f>>>0>w>>>0)}while(0);cb=F-f|0;lm(f,(Ra|0)>(cb|0)?cb:Ra,e)|0;Ra=Ra-cb|0;Na=Na+4|0}while(Na>>>0>>0&(Ra|0)>-1);if((Ra|0)<=0)break;Dm(t|0,48,(Ra>>>0>256?256:Ra)|0)|0;if(Ra>>>0>255){La=Ra;do{lm(t,256,e)|0;La=La+ -256|0}while(La>>>0>255);Ra=Ra&255}lm(t,Ra,e)|0}while(0);lm(Ya,B-Ya|0,e)|0}while(0);if((Oa|0)==8192&Ua){La=Ka-Pa|0;Dm(t|0,32,(La>>>0>256?256:La)|0)|0;if(La>>>0>255){Ma=La;do{lm(t,256,e)|0;Ma=Ma+ -256|0}while(Ma>>>0>255);La=La&255}lm(t,La,e)|0}La=X;Oa=Y;f=Ja;Pa=Ua?Ka:Pa;Ma=Ia;continue a};case 112:{fa=La|8;ga=Na>>>0>8?Na:8;ea=120;Ha=75;break};case 110:switch(Ta|0){case 0:{c[X>>2]=ta;La=X;Oa=Y;f=Ja;Ma=Ia;continue a};case 2:{La=X;c[La>>2]=ta;c[La+4>>2]=((ta|0)<0)<<31>>31;La=X;Oa=Y;f=Ja;Ma=Ia;continue a};case 1:{c[X>>2]=ta;La=X;Oa=Y;f=Ja;Ma=Ia;continue a};case 4:{a[X>>0]=ta;La=X;Oa=Y;f=Ja;Ma=Ia;continue a};case 6:{c[X>>2]=ta;La=X;Oa=Y;f=Ja;Ma=Ia;continue a};case 7:{La=X;c[La>>2]=ta;c[La+4>>2]=((ta|0)<0)<<31>>31;La=X;Oa=Y;f=Ja;Ma=Ia;continue a};case 3:{b[X>>1]=ta;La=X;Oa=Y;f=Ja;Ma=Ia;continue a};default:{La=X;Oa=Y;f=Ja;Ma=Ia;continue a}};case 88:case 120:{fa=La;ga=Na;ea=Oa;Ha=75;break};case 111:{ya=(X|0)==0&(Y|0)==0;if(ya)Da=P;else{Da=P;Ca=X;za=Y;do{Da=Da+ -1|0;a[Da>>0]=Ca&7|48;Ca=Jm(Ca|0,za|0,3)|0;za=G}while(!((Ca|0)==0&(za|0)==0))}Ga=(La&8|0)==0|ya;za=X;ya=Y;Ea=La;Fa=Na;Ca=Ga&1^1;Ga=Ga?151016:151021;Ha=91;break};case 67:{c[q>>2]=X;c[r>>2]=0;M=q;K=s;L=-1;Ha=101;break};case 117:{N=Y;aa=X;$=0;_=151016;Ha=86;break};case 83:{Ha=X;if(!Na){ua=X;va=Ha;wa=0;Ha=106}else{M=Ha;K=X;L=Na;Ha=101}break};default:{la=X;ka=Y;ma=f;na=La;qa=Na;pa=0;oa=151016;sa=P}}while(0);do if((Ha|0)==75){za=ea&32;if(!((X|0)==0&(Y|0)==0)){Da=P;ya=X;Ca=Y;do{Da=Da+ -1|0;a[Da>>0]=d[151096+(ya&15)>>0]|za;ya=Jm(ya|0,Ca|0,4)|0;Ca=G}while(!((ya|0)==0&(Ca|0)==0));if(!(fa&8)){za=X;ya=Y;Ea=fa;Fa=ga;Ca=0;Ga=151016;Ha=91}else{za=X;ya=Y;Ea=fa;Fa=ga;Ca=2;Ga=151016+(ea>>4)|0;Ha=91}}else{za=X;ya=Y;Da=P;Ea=fa;Fa=ga;Ca=0;Ga=151016;Ha=91}}else if((Ha|0)==86){if(N>>>0>0|(N|0)==0&aa>>>0>4294967295){Da=P;ya=aa;za=N;while(1){cb=Um(ya|0,za|0,10,0)|0;Da=Da+ -1|0;a[Da>>0]=cb|48;cb=ya;ya=Tm(ya|0,za|0,10,0)|0;if(!(za>>>0>9|(za|0)==9&cb>>>0>4294967295))break;else za=G}}else{Da=P;ya=aa}if(!ya){za=aa;ya=N;Ea=La;Fa=Na;Ca=$;Ga=_;Ha=91}else while(1){Da=Da+ -1|0;a[Da>>0]=(ya>>>0)%10|0|48;if(ya>>>0<10){za=aa;ya=N;Ea=La;Fa=Na;Ca=$;Ga=_;Ha=91;break}else ya=(ya>>>0)/10|0}}else if((Ha|0)==96){Ha=0;sa=rm(Z,0,Na)|0;if(!sa){la=X;ka=Y;ma=Z;na=Ra;qa=Na;pa=0;oa=151016;sa=Z+Na|0;break}else{la=X;ka=Y;ma=Z;na=Ra;qa=sa-Z|0;pa=0;oa=151016;break}}else if((Ha|0)==101){wa=0;va=0;ua=M;while(1){Ha=c[ua>>2]|0;if(!Ha)break;va=gm(I,Ha)|0;if((va|0)<0|va>>>0>(L-wa|0)>>>0)break;wa=va+wa|0;if(L>>>0>wa>>>0)ua=ua+4|0;else break}if((va|0)<0){m=-1;Ha=370;break a}else{ua=K;va=M;Ha=106}}while(0);if((Ha|0)==91){Ha=0;na=(Fa|0)>-1?Ea&-65537:Ea;ka=(za|0)!=0|(ya|0)!=0;if(ka|(Fa|0)!=0){qa=(ka&1^1)+(J-Da)|0;la=za;ka=ya;ma=Da;qa=(Fa|0)>(qa|0)?Fa:qa;pa=Ca;oa=Ga;sa=P}else{la=za;ka=ya;ma=P;qa=0;pa=Ca;oa=Ga;sa=P}}else if((Ha|0)==106){Ha=0;La=La&73728;Ma=(Ka|0)>(wa|0);if((La|0)==0&Ma){f=Ka-wa|0;Dm(t|0,32,(f>>>0>256?256:f)|0)|0;if(f>>>0>255){Na=f;do{lm(t,256,e)|0;Na=Na+ -256|0}while(Na>>>0>255);f=f&255}lm(t,f,e)|0}h:do if(wa){Na=0;f=va;while(1){Oa=c[f>>2]|0;if(!Oa)break h;Oa=gm(I,Oa)|0;Na=Oa+Na|0;if((Na|0)>(wa|0))break h;lm(I,Oa,e)|0;if(Na>>>0>=wa>>>0)break;else f=f+4|0}}while(0);if((La|0)==8192&Ma){Na=Ka-wa|0;Dm(t|0,32,(Na>>>0>256?256:Na)|0)|0;if(Na>>>0>255){La=Na;do{lm(t,256,e)|0;La=La+ -256|0}while(La>>>0>255);Na=Na&255}lm(t,Na,e)|0}La=ua;Oa=Y;f=Ja;Pa=Ma?Ka:wa;Ma=Ia;continue}Ma=sa-ma|0;f=(qa|0)<(Ma|0)?Ma:qa;La=pa+f|0;Pa=(Ka|0)<(La|0)?La:Ka;Ka=na&73728;Na=(Pa|0)>(La|0);if((Ka|0)==0&Na){Oa=Pa-La|0;Dm(t|0,32,(Oa>>>0>256?256:Oa)|0)|0;if(Oa>>>0>255){Ra=Oa;do{lm(t,256,e)|0;Ra=Ra+ -256|0}while(Ra>>>0>255);Oa=Oa&255}lm(t,Oa,e)|0}lm(oa,pa,e)|0;if((Ka|0)==65536&Na){Ra=Pa-La|0;Dm(t|0,48,(Ra>>>0>256?256:Ra)|0)|0;if(Ra>>>0>255){Oa=Ra;do{lm(t,256,e)|0;Oa=Oa+ -256|0}while(Oa>>>0>255);Ra=Ra&255}lm(t,Ra,e)|0}if((f|0)>(Ma|0)){Oa=f-Ma|0;Dm(t|0,48,(Oa>>>0>256?256:Oa)|0)|0;if(Oa>>>0>255){f=Oa;do{lm(t,256,e)|0;f=f+ -256|0}while(f>>>0>255);Oa=Oa&255}lm(t,Oa,e)|0}lm(ma,Ma,e)|0;if(!((Ka|0)==8192&Na)){La=la;Oa=ka;f=Ja;Ma=Ia;continue}La=Pa-La|0;Dm(t|0,32,(La>>>0>256?256:La)|0)|0;if(La>>>0>255){Ka=La;do{lm(t,256,e)|0;Ka=Ka+ -256|0}while(Ka>>>0>255);La=La&255}lm(t,La,e)|0;La=la;Oa=ka;f=Ja;Ma=Ia}if((Ha|0)==352){if(e){cb=ta;i=n;return cb|0}if(!Ma){cb=0;i=n;return cb|0}else p=1;while(1){q=c[l+(p<<2)>>2]|0;if(!q){o=p;break}r=j+(p<<3)|0;i:do if(q>>>0<=20)do switch(q|0){case 9:{ab=c[g>>2]|0;cb=c[ab>>2]|0;c[g>>2]=ab+4;c[r>>2]=cb;break i};case 10:{cb=c[g>>2]|0;ab=c[cb>>2]|0;c[g>>2]=cb+4;cb=r;c[cb>>2]=ab;c[cb+4>>2]=((ab|0)<0)<<31>>31;break i};case 11:{cb=c[g>>2]|0;ab=c[cb>>2]|0;c[g>>2]=cb+4;cb=r;c[cb>>2]=ab;c[cb+4>>2]=0;break i};case 12:{cb=c[g>>2]|0;ab=cb;_a=c[ab>>2]|0;ab=c[ab+4>>2]|0;c[g>>2]=cb+8;cb=r;c[cb>>2]=_a;c[cb+4>>2]=ab;break i};case 13:{cb=c[g>>2]|0;ab=c[cb>>2]|0;c[g>>2]=cb+4;ab=(ab&65535)<<16>>16;cb=r;c[cb>>2]=ab;c[cb+4>>2]=((ab|0)<0)<<31>>31;break i};case 14:{cb=c[g>>2]|0;ab=c[cb>>2]|0;c[g>>2]=cb+4;cb=r;c[cb>>2]=ab&65535;c[cb+4>>2]=0;break i};case 15:{cb=c[g>>2]|0;ab=c[cb>>2]|0;c[g>>2]=cb+4;ab=(ab&255)<<24>>24;cb=r;c[cb>>2]=ab;c[cb+4>>2]=((ab|0)<0)<<31>>31;break i};case 16:{cb=c[g>>2]|0;ab=c[cb>>2]|0;c[g>>2]=cb+4;cb=r;c[cb>>2]=ab&255;c[cb+4>>2]=0;break i};case 17:{cb=c[g>>2]|0;c[k>>2]=c[cb>>2];c[k+4>>2]=c[cb+4>>2];bb=+h[k>>3];c[g>>2]=cb+8;h[r>>3]=bb;break i};case 18:{cb=c[g>>2]|0;c[k>>2]=c[cb>>2];c[k+4>>2]=c[cb+4>>2];bb=+h[k>>3];c[g>>2]=cb+8;h[r>>3]=bb;break i};default:break i}while(0);while(0);p=p+1|0;if((p|0)>=10){m=1;Ha=370;break}}if((Ha|0)==370){i=n;return m|0}while(1){if(c[l+(o<<2)>>2]|0){m=-1;Ha=370;break}o=o+1|0;if((o|0)>=10){m=1;Ha=370;break}}if((Ha|0)==370){i=n;return m|0}}else if((Ha|0)==370){i=n;return m|0}return 0}function Bm(){}function Cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return(G=b,a-c>>>0|0)|0}function Dm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;i=b&3;h=d|d<<8|d<<16|d<<24;g=f&~3;if(i){i=b+4-i|0;while((b|0)<(i|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Em(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function Fm(b,c){b=b|0;c=c|0;var d=0,e=0;d=b+(Em(b)|0)|0;do{a[d+e>>0]=a[c+e>>0];e=e+1|0}while(a[c+(e-1)>>0]|0);return b|0}function Gm(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){G=b<>>32-c;return a<>0]=e?0:a[c+f>>0]|0;e=e?1:(a[c+f>>0]|0)==0;f=f+1|0}return b|0}function Im(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(G=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Jm(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){G=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Km(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Da(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Lm(b,c){b=b|0;c=c|0;var d=0;do{a[b+d>>0]=a[c+d>>0];d=d+1|0}while(a[c+(d-1)>>0]|0);return b|0}function Mm(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){G=b>>c;return a>>>c|(b&(1<>c-32|0}function Nm(b){b=b|0;var c=0;c=a[n+(b>>>24)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)>>0]|0)+24|0}function Om(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function Pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;d=b&65535;c=ca(d,f)|0;e=a>>>16;d=(c>>>16)+(ca(d,e)|0)|0;b=b>>>16;a=ca(b,f)|0;return(G=(d>>>16)+(ca(b,e)|0)+(((d&65535)+a|0)>>>16)|0,d+a<<16|c&65535|0)|0}function Qm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Cm(j^a,i^b,j,i)|0;g=G;b=f^j;a=e^i;a=Cm((Vm(h,g,Cm(f^c,e^d,f,e)|0,G,0)|0)^b,G^a,b,a)|0;return a|0}function Rm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+8|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;b=Cm(h^a,g^b,h,g)|0;a=G;Vm(b,a,Cm(l^d,k^e,l,k)|0,G,j)|0;a=Cm(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;b=G;i=f;return(G=b,a)|0}function Sm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;a=Pm(e,f)|0;c=G;return(G=(ca(b,f)|0)+(ca(d,e)|0)+c|c&0,a|0|0)|0}function Tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Vm(a,b,c,d,0)|0;return a|0}function Um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+8|0;f=g|0;Vm(a,b,d,e,f)|0;i=g;return(G=c[f+4>>2]|0,c[f>>2]|0)|0}function Vm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a;j=b;i=j;l=d;g=e;k=g;if(!i){g=(f|0)!=0;if(!k){if(g){c[f>>2]=(h>>>0)%(l>>>0);c[f+4>>2]=0}k=0;m=(h>>>0)/(l>>>0)>>>0;return(G=k,m)|0}else{if(!g){l=0;m=0;return(G=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;l=0;m=0;return(G=l,m)|0}}m=(k|0)==0;do if(l){if(!m){k=(Nm(k|0)|0)-(Nm(i|0)|0)|0;if(k>>>0<=31){m=k+1|0;l=31-k|0;a=k-31>>31;j=m;b=h>>>(m>>>0)&a|i<>>(m>>>0)&a;k=0;l=h<>2]=a|0;c[f+4>>2]=j|b&0;l=0;m=0;return(G=l,m)|0}k=l-1|0;if(k&l){l=(Nm(l|0)|0)+33-(Nm(i|0)|0)|0;p=64-l|0;m=32-l|0;n=m>>31;o=l-32|0;a=o>>31;j=l;b=m-1>>31&i>>>(o>>>0)|(i<>>(l>>>0))&a;a=a&i>>>(l>>>0);k=h<>>(o>>>0))&n|h<>31;break}if(f){c[f>>2]=k&h;c[f+4>>2]=0}if((l|0)==1){o=j|b&0;p=a|0|0;return(G=o,p)|0}else{p=Om(l|0)|0;o=i>>>(p>>>0)|0;p=i<<32-p|h>>>(p>>>0)|0;return(G=o,p)|0}}else{if(m){if(f){c[f>>2]=(i>>>0)%(l>>>0);c[f+4>>2]=0}o=0;p=(i>>>0)/(l>>>0)>>>0;return(G=o,p)|0}if(!h){if(f){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(k>>>0)}o=0;p=(i>>>0)/(k>>>0)>>>0;return(G=o,p)|0}l=k-1|0;if(!(l&k)){if(f){c[f>>2]=a|0;c[f+4>>2]=l&i|b&0}o=0;p=i>>>((Om(k|0)|0)>>>0);return(G=o,p)|0}k=(Nm(k|0)|0)-(Nm(i|0)|0)|0;if(k>>>0<=30){a=k+1|0;l=31-k|0;j=a;b=i<>>(a>>>0);a=i>>>(a>>>0);k=0;l=h<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(G=o,p)|0}while(0);if(!j){g=l;e=0;i=0}else{h=d|0|0;g=g|e&0;e=Im(h,g,-1,-1)|0;d=G;i=0;do{m=l;l=k>>>31|l<<1;k=i|k<<1;m=b<<1|m>>>31|0;n=b>>>31|a<<1|0;Cm(e,d,m,n)|0;p=G;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;b=Cm(m,n,o&h,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&g)|0;a=G;j=j-1|0}while((j|0)!=0);g=l;e=0}h=0;if(f){c[f>>2]=b;c[f+4>>2]=a}o=(k|0)>>>31|(g|h)<<1|(h<<1|k>>>31)&0|e;p=(k<<1|0>>>31)&-2|i;return(G=o,p)|0}function Wm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return mb[a&3](b|0,c|0,d|0)|0}function Xm(a,b){a=a|0;b=b|0;nb[a&0](b|0)}function Ym(a,b,c){a=a|0;b=b|0;c=c|0;ob[a&15](b|0,c|0)}function Zm(a,b){a=a|0;b=b|0;return pb[a&15](b|0)|0}function _m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&63](b|0,c|0,d|0)}function $m(a,b,c){a=a|0;b=b|0;c=c|0;return rb[a&15](b|0,c|0)|0}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sb[a&0](b|0,c|0,d|0,e|0,f|0)|0}function bn(a,b,c){a=a|0;b=b|0;c=c|0;da(0);return 0}function cn(a){a=a|0;da(1)}function dn(a,b){a=a|0;b=b|0;da(2)}function en(a){a=a|0;da(3);return 0}function fn(a,b,c){a=a|0;b=b|0;c=c|0;da(4)}function gn(a,b){a=a|0;b=b|0;da(5);return 0}function hn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(6);return 0}
// EMSCRIPTEN_END_FUNCS
var mb=[bn,Aj,wm,Rl];var nb=[cn];var ob=[dn,_e,$e,af,bf,cf,df,Bj,Cj,Sj,Fc,Pj,Wj,dn,dn,dn];var pb=[en,rf,of,fg,Dc,Ec,Nj,Oj,Uj,Vj,en,en,en,en,en,en];var qb=[fn,ed,fd,gd,Qc,hd,id,jd,kd,ld,md,nd,od,pd,qd,rd,sd,td,ud,vd,wd,xd,Wd,Yd,Zd,le,be,Xd,_d,ne,ke,oe,de,me,ee,ge,ie,fe,ce,ae,he,$d,Gb,Db,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn,fn];var rb=[gn,_i,$i,aj,bj,cj,dj,ej,fj,gj,hj,ij,jj,zj,Fb,Dd];var sb=[hn];return{_i64Subtract:Cm,_strcat:Fm,_free:Ul,_main:Bb,_realloc:Vl,_strncpy:Hm,_strlen:Em,_memset:Dm,_malloc:Tl,_i64Add:Im,_memcpy:Km,_bitshift64Lshr:Jm,_strcpy:Lm,_bitshift64Shl:Gm,runPostSets:Bm,stackAlloc:tb,stackSave:ub,stackRestore:vb,setThrew:wb,setTempRet0:zb,getTempRet0:Ab,dynCall_iiii:Wm,dynCall_vi:Xm,dynCall_vii:Ym,dynCall_ii:Zm,dynCall_viii:_m,dynCall_iii:$m,dynCall_iiiiii:an}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _strcat=Module["_strcat"]=asm["_strcat"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _realloc=Module["_realloc"]=asm["_realloc"];var _strncpy=Module["_strncpy"]=asm["_strncpy"];var _strlen=Module["_strlen"]=asm["_strlen"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _strcpy=Module["_strcpy"]=asm["_strcpy"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<>>32-numBits)}else{return goog.math.Long.fromBits(0,low<>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<>this.DB-sh}else this[this.t-1]|=x<=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<0){if(p>p)>0){m=true;r=int2char(d)}while(i>=0){if(p>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<>bs;for(var i=ds+1;i>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i