varsnarkjs=function(A){"use strict";constI=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];functiont(A,I){returnI&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void0:BigInt(A)}consti=t;functiong(A,I){returnBigInt(A)<<BigInt(I)}functionC(A,I){returnBigInt(A)>>BigInt(I)}conste=g,Q=C;varn=Object.freeze({__proto__:null,fromString:t,e:i,fromArray:function(A,I){lett=0n;I=BigInt(I);for(leti=0;i<A.length;i++)t=t*I+BigInt(A[i]);returnt},bitLength:function(A){constt=A.toString(16);return4*(t.length-1)+I[parseInt(t[0],16)]},isNegative:function(A){returnBigInt(A)<0n},isZero:function(A){return!A},shiftLeft:g,shiftRight:C,shl:e,shr:Q,isOdd:function(A){return1n==(1n&BigInt(A))},naf:function(A){letI=BigInt(A);constt=[];for(;I;){if(1n&I){constA=2-Number(I%4n);t.push(A),I-=BigInt(A)}elset.push(0);I>>=1n}returnt},bits:function(A){letI=BigInt(A);constt=[];for(;I;)1n&I?t.push(1):t.push(0),I>>=1n;returnt},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))thrownewError("Number too big");returnNumber(A)},toArray:function(A,I){constt=[];leti=BigInt(A);for(I=BigInt(I);i;)t.unshift(Number(i%I)),i/=I;returnt},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)}});functionB(A,I){returnA(I={exports:{}},I.exports),I.exports}varr=B((function(A){varI=function(A){vart=1e7,i=9007199254740992,g=E(i),C="function"==typeofBigInt;functione(A,I,t,i){returnvoid0===A?e[0]:void0!==I&&(10!=+I||t)?Y(A,I,t,i):Z(A)}functionQ(A,I){this.value=A,this.sign=I,this.isSmall=!1}functionn(A){this.value=A,this.sign=A<0,this.isSmall=!0}functionB(A){this.value=A}functionr(A){return-i<A&&A<i}functionE(A){returnA<1e7?[A]:A<1e14?[A%1e7,Math.floor(A/1e7)]:[A%1e7,Math.floor(A/1e7)%1e7,Math.floor(A/1e14)]}functionh(A){o(A);varI=A.length;if(I<4&&U(A,g)<0)switch(I){case0:return0;case1:returnA[0];case2:returnA[0]+A[1]*t;default:returnA[0]+(A[1]+A[2]*t)*t}returnA}functiono(A){for(varI=A.length;0===A[--I];);A.length=I+1}functions(A){for(varI=newArray(A),t=-1;++t<A;)I[t]=0;returnI}functiona(A){returnA>0?Math.floor(A):Math.ceil(A)}functionf(A,I){vari,g,C=A.length,e=I.length,Q=newArray(C),n=0,B=t;for(g=0;g<e;g++)n=(i=A[g]+I[g]+n)>=B?1:0,Q[g]=i-n*B;for(;g<C;)n=(i=A[g]+n)===B?1:0,Q[g++]=i-n*B;returnn>0&&Q.push(n),Q}functionw(A,I){returnA.length>=I.length?f(A,I):f(I,A)}functionD(A,I){vari,g,C=A.length,e=newArray(C),Q=t;for(g=0;g<C;g++)i=A[g]-Q+I,I=Math.floor(i/Q),e[g]=i-I*Q,I+=1;for(;I>0;)e[g++]=I%Q,I=Math.floor(I/Q);returne}functionc(A,I){vart,i,g=A.length,C=I.length,e=newArray(g),Q=0;for(t=0;t<C;t++)(i=A[t]-Q-I[t])<0?(i+=1e7,Q=1):Q=0,e[t]=i;for(t=C;t<g;t++){if(!((i=A[t]-Q)<0)){e[t++]=i;break}i+=1e7,e[t]=i}for(;t<g;t++)e[t]=A[t];returno(e),e}functionu(A,I,t){vari,g,C=A.length,e=newArray(C),B=-I;for(i=0;i<C;i++)g=A[i]+B,B=Math.floor(g/1e7),g%=1e7,e[i]=g<0?g+1e7:g;return"number"==typeof(e=h(e))?(t&&(e=-e),newn(e)):newQ(e,t)}functiony(A,I){vart,i,g,C,e=A.length,Q=I.length,n=s(e+Q);for(g=0;g<e;++g){C=A[g];for(varB=0;B<Q;++B)t=C*I[B]+n[g+B],i=Math.floor(t/1e7),n[g+B]=t-1e7*i,n[g+B+1]+=i}returno(n),n}functionp(A,I){vari,g,C=A.length,e=newArray(C),Q=t,n=0;for(g=0;g<C