varsnarkjs=function(A){"use strict";constt=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];functionI(A,t){returnt&&10!=t?16==t?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void0:BigInt(A)}consti=I;functiong(A,t){returnBigInt(A)<<BigInt(t)}functione(A,t){returnBigInt(A)>>BigInt(t)}constn=g,C=e;varQ=Object.freeze({__proto__:null,fromString:I,e:i,fromArray:function(A,t){letI=BigInt(0);t=BigInt(t);for(leti=0;i<A.length;i++)I=I*t+BigInt(A[i]);returnI},bitLength:function(A){constI=A.toString(16);return4*(I.length-1)+t[parseInt(I[0],16)]},isNegative:function(A){returnBigInt(A)<BigInt(0)},isZero:function(A){return!A},shiftLeft:g,shiftRight:e,shl:n,shr:C,isOdd:function(A){return(BigInt(A)&BigInt(1))==BigInt(1)},naf:function(A){lett=BigInt(A);constI=[];for(;t;){if(t&BigInt(1)){constA=2-Number(t%BigInt(4));I.push(A),t-=BigInt(A)}elseI.push(0);t>>=BigInt(1)}returnI},bits:function(A){lett=BigInt(A);constI=[];for(;t;)t&BigInt(1)?I.push(1):I.push(0),t>>=BigInt(1);returnI},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))thrownewError("Number too big");returnNumber(A)},toArray:function(A,t){constI=[];leti=BigInt(A);for(t=BigInt(t);i;)I.unshift(Number(i%t)),i/=t;returnI},add:function(A,t){returnBigInt(A)+BigInt(t)},sub:function(A,t){returnBigInt(A)-BigInt(t)},neg:function(A){return-BigInt(A)},mul:function(A,t){returnBigInt(A)*BigInt(t)},square:function(A){returnBigInt(A)*BigInt(A)},pow:function(A,t){returnBigInt(A)**BigInt(t)},exp:function(A,t){returnBigInt(A)**BigInt(t)},abs:function(A){returnBigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,t){returnBigInt(A)/BigInt(t)},mod:function(A,t){returnBigInt(A)%BigInt(t)},eq:function(A,t){returnBigInt(A)==BigInt(t)},neq:function(A,t){returnBigInt(A)!=BigInt(t)},lt:function(A,t){returnBigInt(A)<BigInt(t)},gt:function(A,t){returnBigInt(A)>BigInt(t)},leq:function(A,t){returnBigInt(A)<=BigInt(t)},geq:function(A,t){returnBigInt(A)>=BigInt(t)},band:function(A,t){returnBigInt(A)&BigInt(t)},bor:function(A,t){returnBigInt(A)|BigInt(t)},bxor:function(A,t){returnBigInt(A)^BigInt(t)},land:function(A,t){returnBigInt(A)&&BigInt(t)},lor:function(A,t){returnBigInt(A)||BigInt(t)},lnot:function(A){return!BigInt(A)}}),B="undefined"!=typeofglobalThis?globalThis:"undefined"!=typeofwindow?window:"undefined"!=typeofglobal?global:"undefined"!=typeofself?self:{};functionr(A){vart={exports:{}};returnA(t,t.exports),t.exports}varo=r((function(A){vart=function(A){varI=1e7,i=9007199254740992,g=E(i),e="0123456789abcdefghijklmnopqrstuvwxyz",n="function"==typeofBigInt;functionC(A,t,I,i){returnvoid0===A?C[0]:void0!==t&&(10!=+t||I)?O(A,t,I,i):z(A)}functionQ(A,t){this.value=A,this.sign=t,this.isSmall=!1}functionB(A){this.value=A,this.sign=A<0,this.isSmall=!0}functionr(A){this.value=A}functiono(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)]}functiona(A){s(A);vart=A.length;if(t<4&&H(A,g)<0)switch(t){case0:return0;case1:returnA[0];case2:returnA[0]+A[1]*I;default:returnA[0]+(A[1]+A[2]*I)*I}returnA}functions(A){for(vart=A.length;0===A[--t];);A.length=t+1}functionh(A){for(vart=newArray(A),I=-1;++I<A;)t[I]=0;returnt}functionf(A){returnA>0?Math.floor(A):Math.ceil(A)}functionw(A,t){vari,g,e=A.length,n=t.length,C=newArray(e),Q=0,B=I;for(g=0;g<n;g++)Q=(i=A[g]+t[g]+Q)>=B?1:0,C[g]=i-Q*B;for(;g<e;)Q=(i=A[g]+Q)===B?1:0,C[g++]=i-Q*B;returnQ>0&&C.push(Q),C}functionc(A,t){returnA.length>=t.length?w(A,t):w(t,A)}functionD(A,t){vari,g,e=A.length,n=newArray(e),C=I;for(g=0;g<e;g++)i=A[g]-C+t,t=Math.floor(i/C),n[g]=i-t*C,t+=1;for(;t>0;)n[g++]=t%C,t=Math.floor(t/C);returnn}functionu(A,t){vari,g,e=A.length,n=t.length,C=newArray(e),Q=0,B=I;for(i=0;i<n;i++)(g=A[i]-Q-t[i])<0?(g+=B,Q=1):Q=0,C[i]=g;for(i=n;i<e;i++){if(!((g=A[i]-Q)<0)){C[i++]=g;break}g+=B,C[i]=g}for(;i<e;i++)C[i]=A[i];returns(C),C}functionl(A,t,i){varg,e,n=A.length,C=newArray(n),r=-t,o=I;for(g=0;g<n;g++)e=A[g]+r,r=Math.floor(e/o),e%=o,C[g]=e<0?e+o:e;return"number"==typeof(C=a(C))?(i&&(C=-C),newB(C)):newQ(C,i)