varsnarkjs=function(A){"use strict";constI=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];functiong(A,I){returnI&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void0:BigInt(A)}constC=g;functiont(A,I){returnBigInt(A)<<BigInt(I)}functionQ(A,I){returnBigInt(A)>>BigInt(I)}consti=t,B=Q;varE=Object.freeze({__proto__:null,fromString:g,e:C,fromArray:function(A,I){letg=BigInt(0);I=BigInt(I);for(letC=0;C<A.length;C++)g=g*I+BigInt(A[C]);returng},bitLength:function(A){constg=A.toString(16);return4*(g.length-1)+I[parseInt(g[0],16)]},isNegative:function(A){returnBigInt(A)<BigInt(0)},isZero:function(A){return!A},shiftLeft:t,shiftRight:Q,shl:i,shr:B,isOdd:function(A){return(BigInt(A)&BigInt(1))==BigInt(1)},naf:function(A){letI=BigInt(A);constg=[];for(;I;){if(I&BigInt(1)){constA=2-Number(I%BigInt(4));g.push(A),I-=BigInt(A)}elseg.push(0);I>>=BigInt(1)}returng},bits:function(A){letI=BigInt(A);constg=[];for(;I;)I&BigInt(1)?g.push(1):g.push(0),I>>=BigInt(1);returng},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))thrownewError("Number too big");returnNumber(A)},toArray:function(A,I){constg=[];letC=BigInt(A);for(I=BigInt(I);C;)g.unshift(Number(C%I)),C/=I;returng},add:function(A,I){returnBigInt(A)+BigInt(I)},sub:function(A,I){returnBigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){returnBigInt(A)*BigInt(I)},square:function(A){returnBigInt(A)*BigInt(A)},pow:function(A,I){returnBigInt(A)**BigInt(I)},exp:function(A,I){returnBigInt(A)**BigInt(I)},abs:function(A){returnBigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){returnBigInt(A)/BigInt(I)},mod:function(A,I){returnBigInt(A)%BigInt(I)},eq:function(A,I){returnBigInt(A)==BigInt(I)},neq:function(A,I){returnBigInt(A)!=BigInt(I)},lt:function(A,I){returnBigInt(A)<BigInt(I)},gt:function(A,I){returnBigInt(A)>BigInt(I)},leq:function(A,I){returnBigInt(A)<=BigInt(I)},geq:function(A,I){returnBigInt(A)>=BigInt(I)},band:function(A,I){returnBigInt(A)&BigInt(I)},bor:function(A,I){returnBigInt(A)|BigInt(I)},bxor:function(A,I){returnBigInt(A)^BigInt(I)},land:function(A,I){returnBigInt(A)&&BigInt(I)},lor:function(A,I){returnBigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}}),e="undefined"!=typeofglobalThis?globalThis:"undefined"!=typeofwindow?window:"undefined"!=typeofglobal?global:"undefined"!=typeofself?self:{};functionn(A){varI={exports:{}};returnA(I,I.exports),I.exports}vara=n((function(A){varI=function(A){varg=1e7,C=9007199254740992,t=o(C),Q="0123456789abcdefghijklmnopqrstuvwxyz",i="function"==typeofBigInt;functionB(A,I,g,C){returnvoid0===A?B[0]:void0!==I&&(10!=+I||g)?Z(A,I,g,C):j(A)}functionE(A,I){this.value=A,this.sign=I,this.isSmall=!1}functione(A){this.value=A,this.sign=A<0,this.isSmall=!0}functionn(A){this.value=A}functiona(A){return-C<A&&A<C}functiono(A){returnA<1e7?[A]:A<1e14?[A%1e7,Math.floor(A/1e7)]:[A%1e7,Math.floor(A/1e7)%1e7,Math.floor(A/1e14)]}functionr(A){h(A);varI=A.length;if(I<4&&m(A,t)<0)switch(I){case0:return0;case1:returnA[0];case2:returnA[0]+A[1]*g;default:returnA[0]+(A[1]+A[2]*g)*g}returnA}functionh(A){for(varI=A.length;0===A[--I];);A.length=I+1}functions(A){for(varI=newArray(A),g=-1;++g<A;)I[g]=0;returnI}functionw(A){returnA>0?Math.floor(A):Math.ceil(A)}functionf(A,I){varC,t,Q=A.length,i=I.length,B=newArray(Q),E=0,e=g;for(t=0;t<i;t++)E=(C=A[t]+I[t]+E)>=e?1:0,B[t]=C-E*e;for(;t<Q;)E=(C=A[t]+E)===e?1:0,B[t++]=C-E*e;returnE>0&&B.push(E),B}functionD(A,I){returnA.length>=I.length?f(A,I):f(I,A)}functionc(A,I){varC,t,Q=A.length,i=newArray(Q),B=g;for(t=0;t<Q;t++)C=A[t]-B+I,I=Math.floor(C/B),i[t]=C-I*B,I+=1;for(;I>0;)i[t++]=I%B,I=Math.floor(I/B);returni}functiony(A,I){varC,t,Q=A.length,i=I.length,B=newArray(Q),E=0,e=g;for(C=0;C<i;C++)(t=A[C]-E-I[C])<0?(t+=e,E=1):E=0,B[C]=t;for(C=i;C<Q;C++){if(!((t=A[C]-E)<0)){B[C++]=t;break}t+=e,B[C]=t}for(;C<Q;C++)B[C]=A[C];returnh(B),B}functionu(A,I,C){vart,Q,i=A.length,B=newArray(i),n=-I,a=g;for(t=0;t<i;t++)Q=A[t]+n,n=Math.floor(Q/a),Q%=a,B[t]=Q<0?Q+a:Q;return"number"==typeof(B=r(B))?(C&&(B=-B),newe(B)):newE(B,C)