var e=9e15,t=1e9,n=`0123456789abcdef`,r=`2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058`,i=`3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789`,a={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-e,maxE:e,crypto:!1},o,s,c=!0,l=`[DecimalError] `,u=l+`Invalid argument: `,d=l+`Precision limit exceeded`,f=l+`crypto unavailable`,p=`[object Decimal]`,m=Math.floor,h=Math.pow,g=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,_=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,v=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,y=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,b=1e7,x=7,S=9007199254740991,C=r.length-1,w=i.length-1,T={toStringTag:p};T.absoluteValue=T.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),M(e)},T.ceil=function(){return M(new this.constructor(this),this.e+1,2)},T.clampedTo=T.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(u+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)},T.comparedTo=T.cmp=function(e){var t,n,r,i,a=this,o=a.d,s=(e=new a.constructor(e)).d,c=a.s,l=e.s;if(!o||!s)return!c||!l?NaN:c===l?o===s?0:!o^c<0?1:-1:c;if(!o[0]||!s[0])return o[0]?c:s[0]?-l:0;if(c!==l)return c;if(a.e!==e.e)return a.e>e.e^c<0?1:-1;for(r=o.length,i=s.length,t=0,n=rs[t]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1},T.cosine=T.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+x,r.rounding=1,n=A(r,J(r,n)),r.precision=e,r.rounding=t,M(s==2||s==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)},T.cubeRoot=T.cbrt=function(){var e,t,n,r,i,a,o,s,l,u,d=this,f=d.constructor;if(!d.isFinite()||d.isZero())return new f(d);for(c=!1,a=d.s*h(d.s*d,1/3),!a||Math.abs(a)==1/0?(n=E(d.d),e=d.e,(a=(e-n.length+1)%3)&&(n+=a==1||a==-2?`0`:`00`),a=h(n,1/3),e=m((e+1)/3)-(e%3==(e<0?-1:2)),a==1/0?n=`5e`+e:(n=a.toExponential(),n=n.slice(0,n.indexOf(`e`)+1)+e),r=new f(n),r.s=d.s):r=new f(a.toString()),o=(e=f.precision)+3;;)if(s=r,l=s.times(s).times(s),u=l.plus(d),r=j(u.plus(d).times(s),u.plus(l),o+2,1),E(s.d).slice(0,o)===(n=E(r.d)).slice(0,o))if(n=n.slice(o-3,o+1),n==`9999`||!i&&n==`4999`){if(!i&&(M(s,e+1,0),s.times(s).times(s).eq(d))){r=s;break}o+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)==`5`)&&(M(r,e+1,1),t=!r.times(r).times(r).eq(d));break}return c=!0,M(r,e,f.rounding,t)},T.decimalPlaces=T.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-m(this.e/x))*x,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},T.dividedBy=T.div=function(e){return j(this,new this.constructor(e))},T.dividedToIntegerBy=T.divToInt=function(e){var t=this,n=t.constructor;return M(j(t,new n(e),0,1,1),n.precision,n.rounding)},T.equals=T.eq=function(e){return this.cmp(e)===0},T.floor=function(){return M(new this.constructor(this),this.e+1,3)},T.greaterThan=T.gt=function(e){return this.cmp(e)>0},T.greaterThanOrEqualTo=T.gte=function(e){var t=this.cmp(e);return t==1||t===0},T.hyperbolicCosine=T.cosh=function(){var e,t,n,r,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;n=o.precision,r=o.rounding,o.precision=n+Math.max(a.e,a.sd())+4,o.rounding=1,i=a.d.length,i<32?(e=Math.ceil(i/3),t=(1/q(4,e)).toString()):(e=16,t=`2.3283064365386962890625e-10`),a=K(o,1,a.times(t),new o(1),!0);for(var c,l=e,u=new o(8);l--;)c=a.times(a),a=s.minus(c.times(u.minus(c.times(u))));return M(a,o.precision=n,o.rounding=r,!0)},T.hyperbolicSine=T.sinh=function(){var e,t,n,r,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(t=a.precision,n=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,r=i.d.length,r<3)i=K(a,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/q(5,e)),i=K(a,2,i,i,!0);for(var o,s=new a(5),c=new a(16),l=new a(20);e--;)o=i.times(i),i=i.times(s.plus(o.times(c.times(o).plus(l))))}return a.precision=t,a.rounding=n,M(i,t,n,!0)},T.hyperbolicTangent=T.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,j(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)},T.inverseCosine=T.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,i=t.rounding;return n===-1?e.isZero()?I(t,r+4,i).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=i,e.times(2)):n===0?e.isNeg()?I(t,r,i):new t(0):new t(NaN)},T.inverseHyperbolicCosine=T.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,c=!1,n=n.times(n).minus(1).sqrt().plus(n),c=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)},T.inverseHyperbolicSine=T.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,c=!1,n=n.times(n).plus(1).sqrt().plus(n),c=!0,r.precision=e,r.rounding=t,n.ln())},T.inverseHyperbolicTangent=T.atanh=function(){var e,t,n,r,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=a.precision,t=a.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?M(new a(i),e,t,!0):(a.precision=n=r-i.e,i=j(i.plus(1),new a(1).minus(i),n+e,1),a.precision=e+4,a.rounding=1,i=i.ln(),a.precision=e,a.rounding=t,i.times(.5))):new a(NaN)},T.inverseSine=T.asin=function(){var e,t,n,r,i=this,a=i.constructor;return i.isZero()?new a(i):(t=i.abs().cmp(1),n=a.precision,r=a.rounding,t===-1?(a.precision=n+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=n,a.rounding=r,i.times(2)):t===0?(e=I(a,n+4,r).times(.5),e.s=i.s,e):new a(NaN))},T.inverseTangent=T.atan=function(){var e,t,n,r,i,a,o,s,l,u=this,d=u.constructor,f=d.precision,p=d.rounding;if(!u.isFinite()){if(!u.s)return new d(NaN);if(f+4<=w)return o=I(d,f+4,p).times(.5),o.s=u.s,o}else if(u.isZero())return new d(u);else if(u.abs().eq(1)&&f+4<=w)return o=I(d,f+4,p).times(.25),o.s=u.s,o;for(d.precision=s=f+10,d.rounding=1,n=Math.min(28,s/x+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(c=!1,t=Math.ceil(s/x),r=1,l=u.times(u),o=new d(u),i=u;e!==-1;)if(i=i.times(l),a=o.minus(i.div(r+=2)),i=i.times(l),o=a.plus(i.div(r+=2)),o.d[t]!==void 0)for(e=t;o.d[e]===a.d[e]&&e--;);return n&&(o=o.times(2<this.d.length-2},T.isNaN=function(){return!this.s},T.isNegative=T.isNeg=function(){return this.s<0},T.isPositive=T.isPos=function(){return this.s>0},T.isZero=function(){return!!this.d&&this.d[0]===0},T.lessThan=T.lt=function(e){return this.cmp(e)<0},T.lessThanOrEqualTo=T.lte=function(e){return this.cmp(e)<1},T.logarithm=T.log=function(e){var t,n,r,i,a,o,s,l,u=this,d=u.constructor,f=d.precision,p=d.rounding,m=5;if(e==null)e=new d(10),t=!0;else{if(e=new d(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new d(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new d(n&&!n[0]?-1/0:u.s==1?n?0:1/0:NaN);if(t)if(n.length>1)a=!0;else{for(i=n[0];i%10==0;)i/=10;a=i!==1}if(c=!1,s=f+m,o=U(u,s),r=t?F(d,s+10):U(e,s),l=j(o,r,s,1),O(l.d,i=f,p))do if(s+=10,o=U(u,s),r=t?F(d,s+10):U(e,s),l=j(o,r,s,1),!a){+E(l.d).slice(i+1,i+15)+1==0x5af3107a4000&&(l=M(l,f+1,0));break}while(O(l.d,i+=10,p));return c=!0,M(l,f,p)},T.minus=T.sub=function(e){var t,n,r,i,a,o,s,l,u,d,f,p,h=this,g=h.constructor;if(e=new g(e),!h.d||!e.d)return!h.s||!e.s?e=new g(NaN):h.d?e.s=-e.s:e=new g(e.d||h.s!==e.s?h:NaN),e;if(h.s!=e.s)return e.s=-e.s,h.plus(e);if(u=h.d,p=e.d,s=g.precision,l=g.rounding,!u[0]||!p[0]){if(p[0])e.s=-e.s;else if(u[0])e=new g(h);else return new g(l===3?-0:0);return c?M(e,s,l):e}if(n=m(e.e/x),d=m(h.e/x),u=u.slice(),a=d-n,a){for(f=a<0,f?(t=u,a=-a,o=p.length):(t=p,n=d,o=u.length),r=Math.max(Math.ceil(s/x),o)+2,a>r&&(a=r,t.length=1),t.reverse(),r=a;r--;)t.push(0);t.reverse()}else{for(r=u.length,o=p.length,f=r0;--r)u[o++]=0;for(r=p.length;r>a;){if(u[--r]o?a+1:o+1,i>o&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(o=u.length,i=d.length,o-i<0&&(i=o,n=d,d=u,u=n),t=0;i;)t=(u[--i]=u[i]+d[i]+t)/b|0,u[i]%=b;for(t&&(u.unshift(t),++r),o=u.length;u[--o]==0;)u.pop();return e.d=u,e.e=P(u,r),c?M(e,s,l):e},T.precision=T.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(u+e);return n.d?(t=L(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},T.round=function(){var e=this,t=e.constructor;return M(new t(e),e.e+1,t.rounding)},T.sine=T.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+x,r.rounding=1,n=te(r,J(r,n)),r.precision=e,r.rounding=t,M(s>2?n.neg():n,e,t,!0)):new r(NaN)},T.squareRoot=T.sqrt=function(){var e,t,n,r,i,a,o=this,s=o.d,l=o.e,u=o.s,d=o.constructor;if(u!==1||!s||!s[0])return new d(!u||u<0&&(!s||s[0])?NaN:s?o:1/0);for(c=!1,u=Math.sqrt(+o),u==0||u==1/0?(t=E(s),(t.length+l)%2==0&&(t+=`0`),u=Math.sqrt(t),l=m((l+1)/2)-(l<0||l%2),u==1/0?t=`5e`+l:(t=u.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+l),r=new d(t)):r=new d(u.toString()),n=(l=d.precision)+3;;)if(a=r,r=a.plus(j(o,a,n+2,1)).times(.5),E(a.d).slice(0,n)===(t=E(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t==`9999`||!i&&t==`4999`){if(!i&&(M(a,l+1,0),a.times(a).eq(o))){r=a;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)==`5`)&&(M(r,l+1,1),e=!r.times(r).eq(o));break}return c=!0,M(r,l,d.rounding,e)},T.tangent=T.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=j(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,M(s==2||s==4?n.neg():n,e,t,!0)):new r(NaN)},T.times=T.mul=function(e){var t,n,r,i,a,o,s,l,u,d=this,f=d.constructor,p=d.d,h=(e=new f(e)).d;if(e.s*=d.s,!p||!p[0]||!h||!h[0])return new f(!e.s||p&&!p[0]&&!h||h&&!h[0]&&!p?NaN:!p||!h?e.s/0:e.s*0);for(n=m(d.e/x)+m(e.e/x),l=p.length,u=h.length,l=0;){for(t=0,i=l+r;i>r;)s=a[i]+h[r]*p[i-r-1]+t,a[i--]=s%b|0,t=s/b|0;a[i]=(a[i]+t)%b|0}for(;!a[--o];)a.pop();return t?++n:a.shift(),e.d=a,e.e=P(a,n),c?M(e,f.precision,f.rounding):e},T.toBinary=function(e,t){return Y(this,2,e,t)},T.toDecimalPlaces=T.toDP=function(e,n){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(D(e,0,t),n===void 0?n=i.rounding:D(n,0,8),M(r,e+r.e+1,n))},T.toExponential=function(e,n){var r,i=this,a=i.constructor;return e===void 0?r=N(i,!0):(D(e,0,t),n===void 0?n=a.rounding:D(n,0,8),i=M(new a(i),e+1,n),r=N(i,!0,e+1)),i.isNeg()&&!i.isZero()?`-`+r:r},T.toFixed=function(e,n){var r,i,a=this,o=a.constructor;return e===void 0?r=N(a):(D(e,0,t),n===void 0?n=o.rounding:D(n,0,8),i=M(new o(a),e+a.e+1,n),r=N(i,!1,e+i.e+1)),a.isNeg()&&!a.isZero()?`-`+r:r},T.toFraction=function(e){var t,n,r,i,a,o,s,l,d,f,p,m,g=this,_=g.d,v=g.constructor;if(!_)return new v(g);if(d=n=new v(1),r=l=new v(0),t=new v(r),a=t.e=L(_)-g.e-1,o=a%x,t.d[0]=h(10,o<0?x+o:o),e==null)e=a>0?t:d;else{if(s=new v(e),!s.isInt()||s.lt(d))throw Error(u+s);e=s.gt(t)?a>0?t:d:s}for(c=!1,s=new v(E(_)),f=v.precision,v.precision=a=_.length*x*2;p=j(s,t,0,1,1),i=n.plus(p.times(r)),i.cmp(e)!=1;)n=r,r=i,i=d,d=l.plus(p.times(i)),l=i,i=t,t=s.minus(p.times(i)),s=i;return i=j(e.minus(n),r,0,1,1),l=l.plus(i.times(d)),n=n.plus(i.times(r)),l.s=d.s=g.s,m=j(d,r,a,1).minus(g).abs().cmp(j(l,n,a,1).minus(g).abs())<1?[d,r]:[l,n],v.precision=f,c=!0,m},T.toHexadecimal=T.toHex=function(e,t){return Y(this,16,e,t)},T.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:D(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&=n.s,e}return e.d[0]?(c=!1,n=j(n,e,0,t,1).times(e),c=!0,M(n)):(e.s=n.s,n=e),n},T.toNumber=function(){return+this},T.toOctal=function(e,t){return Y(this,8,e,t)},T.toPower=T.pow=function(e){var t,n,r,i,a,o,s=this,l=s.constructor,u=+(e=new l(e));if(!s.d||!e.d||!s.d[0]||!e.d[0])return new l(h(+s,u));if(s=new l(s),s.eq(1))return s;if(r=l.precision,a=l.rounding,e.eq(1))return M(s,r,a);if(t=m(e.e/x),t>=e.d.length-1&&(n=u<0?-u:u)<=S)return i=z(l,s,n,r),e.s<0?new l(1).div(i):M(i,r,a);if(o=s.s,o<0){if(tl.maxE+1||t0?o/0:0):(c=!1,l.rounding=s.s=1,n=Math.min(12,(t+``).length),i=H(e.times(U(s,r+n)),r),i.d&&(i=M(i,r+5,1),O(i.d,r,a)&&(t=r+10,i=M(H(e.times(U(s,t+n)),t),t+5,1),+E(i.d).slice(r+1,r+15)+1==0x5af3107a4000&&(i=M(i,r+1,0)))),i.s=o,c=!0,l.rounding=a,M(i,r,a))},T.toPrecision=function(e,n){var r,i=this,a=i.constructor;return e===void 0?r=N(i,i.e<=a.toExpNeg||i.e>=a.toExpPos):(D(e,1,t),n===void 0?n=a.rounding:D(n,0,8),i=M(new a(i),e,n),r=N(i,e<=i.e||i.e<=a.toExpNeg,e)),i.isNeg()&&!i.isZero()?`-`+r:r},T.toSignificantDigits=T.toSD=function(e,n){var r=this,i=r.constructor;return e===void 0?(e=i.precision,n=i.rounding):(D(e,1,t),n===void 0?n=i.rounding:D(n,0,8)),M(new i(r),e,n)},T.toString=function(){var e=this,t=e.constructor,n=N(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?`-`+n:n},T.truncated=T.trunc=function(){return M(new this.constructor(this),this.e+1,1)},T.valueOf=T.toJSON=function(){var e=this,t=e.constructor,n=N(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?`-`+n:n};function E(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;tn)throw Error(u+e)}function O(e,t,n,r){var i,a,o,s;for(a=e[0];a>=10;a/=10)--t;return--t<0?(t+=x,i=0):(i=Math.ceil((t+1)/x),t%=x),a=h(10,x-t),s=e[i]%a|0,r==null?t<3?(t==0?s=s/100|0:t==1&&(s=s/10|0),o=n<4&&s==99999||n>3&&s==49999||s==5e4||s==0):o=(n<4&&s+1==a||n>3&&s+1==a/2)&&(e[i+1]/a/100|0)==h(10,t-2)-1||(s==a/2||s==0)&&(e[i+1]/a/100|0)==0:t<4?(t==0?s=s/1e3|0:t==1?s=s/100|0:t==2&&(s=s/10|0),o=(r||n<4)&&s==9999||!r&&n>3&&s==4999):o=((r||n<4)&&s+1==a||!r&&n>3&&s+1==a/2)&&(e[i+1]/a/1e3|0)==h(10,t-3)-1,o}function k(e,t,r){for(var i,a=[0],o,s=0,c=e.length;sr-1&&(a[i+1]===void 0&&(a[i+1]=0),a[i+1]+=a[i]/r|0,a[i]%=r)}return a.reverse()}function A(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/q(4,n)).toString()):(n=16,i=`2.3283064365386962890625e-10`),e.precision+=n,t=K(e,1,t.times(i),new e(1));for(var a=n;a--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=n,t}var j=(function(){function e(e,t,n){var r,i=0,a=e.length;for(e=e.slice();a--;)r=e[a]*t+i,e[a]=r%n|0,i=r/n|0;return i&&e.unshift(i),e}function t(e,t,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;it[i]?1:-1;break}return a}function n(e,t,n,r){for(var i=0;n--;)e[n]-=i,i=e[n]1;)e.shift()}return function(r,i,a,s,c,l){var u,d,f,p,h,g,_,v,y,S,C,w,T,E,D,O,k,A,j,N,P=r.constructor,F=r.s==i.s?1:-1,I=r.d,L=i.d;if(!I||!I[0]||!L||!L[0])return new P(!r.s||!i.s||(I?L&&I[0]==L[0]:!L)?NaN:I&&I[0]==0||!L?F*0:F/0);for(l?(h=1,d=r.e-i.e):(l=b,h=x,d=m(r.e/h)-m(i.e/h)),j=L.length,k=I.length,y=new P(F),S=y.d=[],f=0;L[f]==(I[f]||0);f++);if(L[f]>(I[f]||0)&&d--,a==null?(E=a=P.precision,s=P.rounding):E=c?a+(r.e-i.e)+1:a,E<0)S.push(1),g=!0;else{if(E=E/h+2|0,f=0,j==1){for(p=0,L=L[0],E++;(f1&&(L=e(L,p,l),I=e(I,p,l),j=L.length,k=I.length),O=j,C=I.slice(0,j),w=C.length;w=l/2&&++A;do p=0,u=t(L,C,j,w),u<0?(T=C[0],j!=w&&(T=T*l+(C[1]||0)),p=T/A|0,p>1?(p>=l&&(p=l-1),_=e(L,p,l),v=_.length,w=C.length,u=t(_,C,v,w),u==1&&(p--,n(_,j=10;p/=10)f++;y.e=f+d*h-1,M(y,c?a+y.e+1:a,s,g)}return y}})();function M(e,t,n,r){var i,a,o,s,l,u,d,f,p,m=e.constructor;out:if(t!=null){if(f=e.d,!f)return e;for(i=1,s=f[0];s>=10;s/=10)i++;if(a=t-i,a<0)a+=x,o=t,d=f[p=0],l=d/h(10,i-o-1)%10|0;else if(p=Math.ceil((a+1)/x),s=f.length,p>=s)if(r){for(;s++<=p;)f.push(0);d=l=0,i=1,a%=x,o=a-x+1}else break out;else{for(d=s=f[p],i=1;s>=10;s/=10)i++;a%=x,o=a-x+i,l=o<0?0:d/h(10,i-o-1)%10|0}if(r=r||t<0||f[p+1]!==void 0||(o<0?d:d%h(10,i-o-1)),u=n<4?(l||r)&&(n==0||n==(e.s<0?3:2)):l>5||l==5&&(n==4||r||n==6&&(a>0?o>0?d/h(10,i-o):0:f[p-1])%10&1||n==(e.s<0?8:7)),t<1||!f[0])return f.length=0,u?(t-=e.e+1,f[0]=h(10,(x-t%x)%x),e.e=-t||0):f[0]=e.e=0,e;if(a==0?(f.length=p,s=1,p--):(f.length=p+1,s=h(10,x-a),f[p]=o>0?(d/h(10,i-o)%h(10,o)|0)*s:0),u)for(;;)if(p==0){for(a=1,o=f[0];o>=10;o/=10)a++;for(o=f[0]+=s,s=1;o>=10;o/=10)s++;a!=s&&(e.e++,f[0]==b&&(f[0]=1));break}else{if(f[p]+=s,f[p]!=b)break;f[p--]=0,s=1}for(a=f.length;f[--a]===0;)f.pop()}return c&&(e.e>m.maxE?(e.d=null,e.e=NaN):e.e0?a=a.charAt(0)+`.`+a.slice(1)+R(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(e.e<0?`e`:`e+`)+e.e):i<0?(a=`0.`+R(-i-1)+a,n&&(r=n-o)>0&&(a+=R(r))):i>=o?(a+=R(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+R(r))):((r=i+1)0&&(i+1===o&&(a+=`.`),a+=R(r))),a}function P(e,t){var n=e[0];for(t*=x;n>=10;n/=10)t++;return t}function F(e,t,n){if(t>C)throw c=!0,n&&(e.precision=n),Error(d);return M(new e(r),t,1,!0)}function I(e,t,n){if(t>w)throw Error(d);return M(new e(i),t,n,!0)}function L(e){var t=e.length-1,n=t*x+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function R(e){for(var t=``;e--;)t+=`0`;return t}function z(e,t,n,r){var i,a=new e(1),o=Math.ceil(r/x+4);for(c=!1;;){if(n%2&&(a=a.times(t),X(a.d,o)&&(i=!0)),n=m(n/2),n===0){n=a.d.length-1,i&&a.d[n]===0&&++a.d[n];break}t=t.times(t),X(t.d,o)}return c=!0,a}function B(e){return e.d[e.d.length-1]&1}function V(e,t,n){for(var r,i,a=new e(t[0]),o=0;++o17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(c=!1,l=g):l=t,s=new p(.03125);e.e>-2;)e=e.times(s),f+=5;for(r=Math.log(h(2,f))/Math.LN10*2+5|0,l+=r,n=a=o=new p(1),p.precision=l;;){if(a=M(a.times(e),l,1),n=n.times(++d),s=o.plus(j(a,n,l,1)),E(s.d).slice(0,l)===E(o.d).slice(0,l)){for(i=f;i--;)o=M(o.times(o),l,1);if(t==null)if(u<3&&O(o.d,l-r,m,u))p.precision=l+=10,n=a=s=new p(1),d=0,u++;else return M(o,p.precision=g,m,c=!0);else return p.precision=g,o}o=s}}function U(e,t){var n,r,i,a,o,s,l,u,d,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,y=v.rounding,b=v.precision;if(g.s<0||!_||!_[0]||!g.e&&_[0]==1&&_.length==1)return new v(_&&!_[0]?-1/0:g.s==1?_?0:g:NaN);if(t==null?(c=!1,d=b):d=t,v.precision=d+=h,n=E(_),r=n.charAt(0),Math.abs(a=g.e)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=E(g.d),r=n.charAt(0),m++;a=g.e,r>1?(g=new v(`0.`+n),a++):g=new v(r+`.`+n.slice(1))}else return u=F(v,d+2,b).times(a+``),g=U(new v(r+`.`+n.slice(1)),d-h).plus(u),v.precision=b,t==null?M(g,b,y,c=!0):g;for(f=g,l=o=g=j(g.minus(1),g.plus(1),d,1),p=M(g.times(g),d,1),i=3;;){if(o=M(o.times(p),d,1),u=l.plus(j(o,new v(i),d,1)),E(u.d).slice(0,d)===E(l.d).slice(0,d))if(l=l.times(2),a!==0&&(l=l.plus(F(v,d+2,b).times(a+``))),l=j(l,new v(m),d,1),t==null)if(O(l.d,d-h,y,s))v.precision=d+=h,u=o=g=j(f.minus(1),f.plus(1),d,1),p=M(g.times(g),d,1),i=s=1;else return M(l,v.precision=b,y,c=!0);else return v.precision=b,l;l=u,i+=2}}function W(e){return String(e.s*e.s/0)}function G(e,t){var n,r,i;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%x,n<0&&(r+=x),re.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,`$1`),y.test(t))return G(e,t)}else if(t===`Infinity`||t===`NaN`)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(_.test(t))n=16,t=t.toLowerCase();else if(g.test(t))n=2;else if(v.test(t))n=8;else throw Error(u+t);for(a=t.search(/p/i),a>0?(l=+t.slice(a+1),t=t.substring(2,a)):t=t.slice(2),a=t.indexOf(`.`),o=a>=0,r=e.constructor,o&&(t=t.replace(`.`,``),s=t.length,a=s-a,i=z(r,new r(n),a,a*2)),d=k(t,n,b),f=d.length-1,a=f;d[a]===0;--a)d.pop();return a<0?new r(e.s*0):(e.e=P(d,f),e.d=d,c=!1,o&&(e=j(e,i,s*4)),l&&(e=e.times(Math.abs(l)<54?h(2,l):$.pow(2,l))),c=!0,e)}function te(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:K(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/q(5,n)),t=K(e,2,t,t);for(var i,a=new e(5),o=new e(16),s=new e(20);n--;)i=t.times(t),t=t.times(a.plus(i.times(o.times(i).minus(s))));return t}function K(e,t,n,r,i){var a,o,s,l,u=1,d=e.precision,f=Math.ceil(d/x);for(c=!1,l=n.times(n),s=new e(r);;){if(o=j(s.times(l),new e(t++*t++),d,1),s=i?r.plus(o):r.minus(o),r=j(o.times(l),new e(t++*t++),d,1),o=s.plus(r),o.d[f]!==void 0){for(a=f;o.d[a]===s.d[a]&&a--;);if(a==-1)break}a=s,s=r,r=o,o=a,u++}return c=!0,o.d.length=f+1,o}function q(e,t){for(var n=e;--t;)n*=e;return n}function J(e,t){var n,r=t.s<0,i=I(e,e.precision,1),a=i.times(.5);if(t=t.abs(),t.lte(a))return s=r?4:1,t;if(n=t.divToInt(i),n.isZero())s=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(a))return s=B(n)?r?2:3:r?4:1,t;s=B(n)?r?1:4:r?3:2}return t.minus(i).abs()}function Y(e,r,i,a){var s,c,l,u,d,f,p,m,h,g=e.constructor,_=i!==void 0;if(_?(D(i,1,t),a===void 0?a=g.rounding:D(a,0,8)):(i=g.precision,a=g.rounding),!e.isFinite())p=W(e);else{for(p=N(e),l=p.indexOf(`.`),_?(s=2,r==16?i=i*4-3:r==8&&(i=i*3-2)):s=r,l>=0&&(p=p.replace(`.`,``),h=new g(1),h.e=p.length-l,h.d=k(N(h),10,s),h.e=h.d.length),m=k(p,10,s),c=d=m.length;m[--d]==0;)m.pop();if(!m[0])p=_?`0p+0`:`0`;else{if(l<0?c--:(e=new g(e),e.d=m,e.e=c,e=j(e,h,i,a,0,s),m=e.d,c=e.e,f=o),l=m[i],u=s/2,f||=m[i+1]!==void 0,f=a<4?(l!==void 0||f)&&(a===0||a===(e.s<0?3:2)):l>u||l===u&&(a===4||f||a===6&&m[i-1]&1||a===(e.s<0?8:7)),m.length=i,f)for(;++m[--i]>s-1;)m[i]=0,i||(++c,m.unshift(1));for(d=m.length;!m[d-1];--d);for(l=0,p=``;l1)if(r==16||r==8){for(l=r==16?4:3,--d;d%l;d++)p+=`0`;for(m=k(p,s,r),d=m.length;!m[d-1];--d);for(l=1,p=`1.`;ld)for(c-=d;c--;)p+=`0`;else ct)return e.length=t,!0}function ne(e){return new this(e).abs()}function re(e){return new this(e).acos()}function ie(e){return new this(e).acosh()}function ae(e,t){return new this(e).plus(t)}function oe(e){return new this(e).asin()}function se(e){return new this(e).asinh()}function ce(e){return new this(e).atan()}function le(e){return new this(e).atanh()}function ue(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,a=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=I(this,a,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?I(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=I(this,a,1).times(.5),n.s=e.s):t.s<0?(this.precision=a,this.rounding=1,n=this.atan(j(e,t,a,1)),t=I(this,a,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(j(e,t,a,1)),n}function de(e){return new this(e).cbrt()}function fe(e){return M(e=new this(e),e.e+1,2)}function pe(e,t,n){return new this(e).clamp(t,n)}function me(n){if(!n||typeof n!=`object`)throw Error(l+`Object expected`);var r,i,o,s=n.defaults===!0,c=[`precision`,1,t,`rounding`,0,8,`toExpNeg`,-e,0,`toExpPos`,0,e,`maxE`,0,e,`minE`,-e,0,`modulo`,0,9];for(r=0;r=c[r+1]&&o<=c[r+2])this[i]=o;else throw Error(u+i+`: `+o);if(i=`crypto`,s&&(this[i]=a[i]),(o=n[i])!==void 0)if(o===!0||o===!1||o===0||o===1)if(o)if(typeof crypto<`u`&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[i]=!0;else throw Error(f);else this[i]=!1;else throw Error(u+i+`: `+o);return this}function he(e){return new this(e).cos()}function ge(e){return new this(e).cosh()}function Z(e){var t,n,r;function i(e){var t,n,r,a=this;if(!(a instanceof i))return new i(e);if(a.constructor=i,Q(e)){a.s=e.s,c?!e.d||e.e>i.maxE?(a.e=NaN,a.d=null):e.e=10;n/=10)t++;c?t>i.maxE?(a.e=NaN,a.d=null):t=429e7?n[o]=crypto.getRandomValues(new Uint32Array(1))[0]:c[o++]=a%1e7;else if(crypto.randomBytes){for(n=crypto.randomBytes(i*=4);o=214e7?crypto.randomBytes(4).copy(n,o):(c.push(a%1e7),o+=4);o=i/4}else throw Error(f);for(i=c[--o],e%=x,i&&e&&(a=h(10,x-e),c[o]=(i/a|0)*a);c[o]===0;o--)c.pop();if(o<0)r=0,c=[0];else{for(r=-1;c[0]===0;r-=x)c.shift();for(i=1,a=c[0];a>=10;a/=10)i++;i