Problem:
Score : 300 points

Problem Statement

Snuke has an integer sequence A of length N.

He will freely choose an integer b.
Here, he will get sad if A_i and b+i are far from each other.
More specifically, the sadness of Snuke is calculated as follows:

abs(A_1 - (b+1)) + abs(A_2 - (b+2)) + ... + abs(A_N - (b+N))

Here, abs(x) is a function that returns the absolute value of x.

Find the minimum possible sadness of Snuke.

Constraints

1 \leq N \leq 2 \times 10^5

1 \leq A_i \leq 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
A_1 A_2 ... A_N

Output

Print the minimum possible sadness of Snuke.

Sample Input 1

5
2 2 3 5 5

Sample Output 1

2

If we choose b=0, the sadness of Snuke would be abs(2-(0+1))+abs(2-(0+2))+abs(3-(0+3))+abs(5-(0+4))+abs(5-(0+5))=2.
Any choice of b does not make the sadness of Snuke less than 2, so the answer is 2.

Sample Input 2

9
1 2 3 4 5 6 7 8 9

Sample Output 2

0

Sample Input 3

6
6 5 4 3 2 1

Sample Output 3

18

Sample Input 4

7
1 1 1 1 2 3 4

Sample Output 4

6

Solution in JavaScript (node.js v5.12) (judge verdict: Accepted)

parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"9xaU":[function(require,module,exports) {
var t=function(e){"use strict";var r=1e7,o=7,n=9007199254740992,i=h(n),u="0123456789abcdefghijklmnopqrstuvwxyz",p="function"==typeof BigInt;function a(t,e,r,o){return void 0===t?a[0]:void 0!==e&&(10!=+e||r)?$(t,e,r,o):Q(t)}function s(t,e){this.value=t,this.sign=e,this.isSmall=!1}function l(t){this.value=t,this.sign=t<0,this.isSmall=!0}function f(t){this.value=t}function v(t){return-n<t&&t<n}function h(t){return t<1e7?[t]:t<1e14?[t%1e7,Math.floor(t/1e7)]:[t%1e7,Math.floor(t/1e7)%1e7,Math.floor(t/1e14)]}function y(t){c(t);var e=t.length;if(e<4&&P(t,i)<0)switch(e){case 0:return 0;case 1:return t[0];case 2:return t[0]+t[1]*r;default:return t[0]+(t[1]+t[2]*r)*r}return t}function c(t){for(var e=t.length;0===t[--e];);t.length=e+1}function g(t){for(var e=new Array(t),r=-1;++r<t;)e[r]=0;return e}function m(t){return t>0?Math.floor(t):Math.ceil(t)}function d(t,e){var o,n,i=t.length,u=e.length,p=new Array(i),a=0,s=r;for(n=0;n<u;n++)a=(o=t[n]+e[n]+a)>=s?1:0,p[n]=o-a*s;for(;n<i;)a=(o=t[n]+a)===s?1:0,p[n++]=o-a*s;return a>0&&p.push(a),p}function w(t,e){return t.length>=e.length?d(t,e):d(e,t)}function b(t,e){var o,n,i=t.length,u=new Array(i),p=r;for(n=0;n<i;n++)o=t[n]-p+e,e=Math.floor(o/p),u[n]=o-e*p,e+=1;for(;e>0;)u[n++]=e%p,e=Math.floor(e/p);return u}function S(t,e){var o,n,i=t.length,u=e.length,p=new Array(i),a=0,s=r;for(o=0;o<u;o++)(n=t[o]-a-e[o])<0?(n+=s,a=1):a=0,p[o]=n;for(o=u;o<i;o++){if(!((n=t[o]-a)<0)){p[o++]=n;break}n+=s,p[o]=n}for(;o<i;o++)p[o]=t[o];return c(p),p}function q(t,e,o){var n,i,u=t.length,p=new Array(u),a=-e,f=r;for(n=0;n<u;n++)i=t[n]+a,a=Math.floor(i/f),i%=f,p[n]=i<0?i+f:i;return"number"==typeof(p=y(p))?(o&&(p=-p),new l(p)):new s(p,o)}function M(t,e){var o,n,i,u,p=t.length,a=e.length,s=g(p+a),l=r;for(i=0;i<p;++i){u=t[i];for(var f=0;f<a;++f)o=u*e[f]+s[i+f],n=Math.floor(o/l),s[i+f]=o-n*l,s[i+f+1]+=n}return c(s),s}function N(t,e){var o,n,i=t.length,u=new Array(i),p=r,a=0;for(n=0;n<i;n++)o=t[n]*e+a,a=Math.floor(o/p),u[n]=o-a*p;for(;a>0;)u[n++]=a%p,a=Math.floor(a/p);return u}function E(t,e){for(var r=[];e-- >0;)r.push(0);return r.concat(t)}function O(t,e,o){return new s(t<r?N(e,t):M(e,h(t)),o)}function B(t){var e,o,n,i,u=t.length,p=g(u+u),a=r;for(n=0;n<u;n++){o=0-(i=t[n])*i;for(var s=n;s<u;s++)e=i*t[s]*2+p[n+s]+o,o=Math.floor(e/a),p[n+s]=e-o*a;p[n+u]=o}return c(p),p}function I(t,e){var o,n,i,u,p=t.length,a=g(p),s=r;for(i=0,o=p-1;o>=0;--o)i=(u=i*s+t[o])-(n=m(u/e))*e,a[o]=0|n;return[a,0|i]}function A(t,e){var o,n=Q(e);if(p)return[new f(t.value/n.value),new f(t.value%n.value)];var i,u=t.value,v=n.value;if(0===v)throw new Error("Cannot divide by zero");if(t.isSmall)return n.isSmall?[new l(m(u/v)),new l(u%v)]:[a[0],t];if(n.isSmall){if(1===v)return[t,a[0]];if(-1==v)return[t.negate(),a[0]];var d=Math.abs(v);if(d<r){i=y((o=I(u,d))[0]);var w=o[1];return t.sign&&(w=-w),"number"==typeof i?(t.sign!==n.sign&&(i=-i),[new l(i),new l(w)]):[new s(i,t.sign!==n.sign),new l(w)]}v=h(d)}var b=P(u,v);if(-1===b)return[a[0],t];if(0===b)return[a[t.sign===n.sign?1:-1],a[0]];i=(o=u.length+v.length<=200?function(t,e){var o,n,i,u,p,a,s,l=t.length,f=e.length,v=r,h=g(e.length),c=e[f-1],m=Math.ceil(v/(2*c)),d=N(t,m),w=N(e,m);for(d.length<=l&&d.push(0),w.push(0),c=w[f-1],n=l-f;n>=0;n--){for(o=v-1,d[n+f]!==c&&(o=Math.floor((d[n+f]*v+d[n+f-1])/c)),i=0,u=0,a=w.length,p=0;p<a;p++)i+=o*w[p],s=Math.floor(i/v),u+=d[n+p]-(i-s*v),i=s,u<0?(d[n+p]=u+v,u=-1):(d[n+p]=u,u=0);for(;0!==u;){for(o-=1,i=0,p=0;p<a;p++)(i+=d[n+p]-v+w[p])<0?(d[n+p]=i+v,i=0):(d[n+p]=i,i=1);u+=i}h[n]=o}return d=I(d,m)[0],[y(h),y(d)]}(u,v):function(t,e){for(var o,n,i,u,p,a=t.length,s=e.length,l=[],f=[],v=r;a;)if(f.unshift(t[--a]),c(f),P(f,e)<0)l.push(0);else{i=f[(n=f.length)-1]*v+f[n-2],u=e[s-1]*v+e[s-2],n>s&&(i=(i+1)*v),o=Math.ceil(i/u);do{if(P(p=N(e,o),f)<=0)break;o--}while(o);l.push(o),f=S(f,p)}return l.reverse(),[y(l),y(f)]}(u,v))[0];var q=t.sign!==n.sign,M=o[1],E=t.sign;return"number"==typeof i?(q&&(i=-i),i=new l(i)):i=new s(i,q),"number"==typeof M?(E&&(M=-M),M=new l(M)):M=new s(M,E),[i,M]}function P(t,e){if(t.length!==e.length)return t.length>e.length?1:-1;for(var r=t.length-1;r>=0;r--)if(t[r]!==e[r])return t[r]>e[r]?1:-1;return 0}function Z(t){var e=t.abs();return!e.isUnit()&&(!!(e.equals(2)||e.equals(3)||e.equals(5))||!(e.isEven()||e.isDivisibleBy(3)||e.isDivisibleBy(5))&&(!!e.lesser(49)||void 0))}function x(e,r){for(var o,n,i,u=e.prev(),p=u,a=0;p.isEven();)p=p.divide(2),a++;t:for(n=0;n<r.length;n++)if(!e.lesser(r[n])&&!(i=t(r[n]).modPow(p,e)).isUnit()&&!i.equals(u)){for(o=a-1;0!=o;o--){if((i=i.square().mod(e)).isUnit())return!1;if(i.equals(u))continue t}return!1}return!0}s.prototype=Object.create(a.prototype),l.prototype=Object.create(a.prototype),f.prototype=Object.create(a.prototype),s.prototype.add=function(t){var e=Q(t);if(this.sign!==e.sign)return this.subtract(e.negate());var r=this.value,o=e.value;return e.isSmall?new s(b(r,Math.abs(o)),this.sign):new s(w(r,o),this.sign)},s.prototype.plus=s.prototype.add,l.prototype.add=function(t){var e=Q(t),r=this.value;if(r<0!==e.sign)return this.subtract(e.negate());var o=e.value;if(e.isSmall){if(v(r+o))return new l(r+o);o=h(Math.abs(o))}return new s(b(o,Math.abs(r)),r<0)},l.prototype.plus=l.prototype.add,f.prototype.add=function(t){return new f(this.value+Q(t).value)},f.prototype.plus=f.prototype.add,s.prototype.subtract=function(t){var e=Q(t);if(this.sign!==e.sign)return this.add(e.negate());var r=this.value,o=e.value;return e.isSmall?q(r,Math.abs(o),this.sign):function(t,e,r){var o;return P(t,e)>=0?o=S(t,e):(o=S(e,t),r=!r),"number"==typeof(o=y(o))?(r&&(o=-o),new l(o)):new s(o,r)}(r,o,this.sign)},s.prototype.minus=s.prototype.subtract,l.prototype.subtract=function(t){var e=Q(t),r=this.value;if(r<0!==e.sign)return this.add(e.negate());var o=e.value;return e.isSmall?new l(r-o):q(o,Math.abs(r),r>=0)},l.prototype.minus=l.prototype.subtract,f.prototype.subtract=function(t){return new f(this.value-Q(t).value)},f.prototype.minus=f.prototype.subtract,s.prototype.negate=function(){return new s(this.value,!this.sign)},l.prototype.negate=function(){var t=this.sign,e=new l(-this.value);return e.sign=!t,e},f.prototype.negate=function(){return new f(-this.value)},s.prototype.abs=function(){return new s(this.value,!1)},l.prototype.abs=function(){return new l(Math.abs(this.value))},f.prototype.abs=function(){return new f(this.value>=0?this.value:-this.value)},s.prototype.multiply=function(t){var e,o,n,i=Q(t),u=this.value,p=i.value,l=this.sign!==i.sign;if(i.isSmall){if(0===p)return a[0];if(1===p)return this;if(-1===p)return this.negate();if((e=Math.abs(p))<r)return new s(N(u,e),l);p=h(e)}return o=u.length,n=p.length,new s(-.012*o-.012*n+15e-6*o*n>0?function t(e,r){var o=Math.max(e.length,r.length);if(o<=30)return M(e,r);o=Math.ceil(o/2);var n=e.slice(o),i=e.slice(0,o),u=r.slice(o),p=r.slice(0,o),a=t(i,p),s=t(n,u),l=t(w(i,n),w(p,u)),f=w(w(a,E(S(S(l,a),s),o)),E(s,2*o));return c(f),f}(u,p):M(u,p),l)},s.prototype.times=s.prototype.multiply,l.prototype._multiplyBySmall=function(t){return v(t.value*this.value)?new l(t.value*this.value):O(Math.abs(t.value),h(Math.abs(this.value)),this.sign!==t.sign)},s.prototype._multiplyBySmall=function(t){return 0===t.value?a[0]:1===t.value?this:-1===t.value?this.negate():O(Math.abs(t.value),this.value,this.sign!==t.sign)},l.prototype.multiply=function(t){return Q(t)._multiplyBySmall(this)},l.prototype.times=l.prototype.multiply,f.prototype.multiply=function(t){return new f(this.value*Q(t).value)},f.prototype.times=f.prototype.multiply,s.prototype.square=function(){return new s(B(this.value),!1)},l.prototype.square=function(){var t=this.value*this.value;return v(t)?new l(t):new s(B(h(Math.abs(this.value))),!1)},f.prototype.square=function(t){return new f(this.value*this.value)},s.prototype.divmod=function(t){var e=A(this,t);return{quotient:e[0],remainder:e[1]}},f.prototype.divmod=l.prototype.divmod=s.prototype.divmod,s.prototype.divide=function(t){return A(this,t)[0]},f.prototype.over=f.prototype.divide=function(t){return new f(this.value/Q(t).value)},l.prototype.over=l.prototype.divide=s.prototype.over=s.prototype.divide,s.prototype.mod=function(t){return A(this,t)[1]},f.prototype.mod=f.prototype.remainder=function(t){return new f(this.value%Q(t).value)},l.prototype.remainder=l.prototype.mod=s.prototype.remainder=s.prototype.mod,s.prototype.pow=function(t){var e,r,o,n=Q(t),i=this.value,u=n.value;if(0===u)return a[1];if(0===i)return a[0];if(1===i)return a[1];if(-1===i)return n.isEven()?a[1]:a[-1];if(n.sign)return a[0];if(!n.isSmall)throw new Error("The exponent "+n.toString()+" is too large.");if(this.isSmall&&v(e=Math.pow(i,u)))return new l(m(e));for(r=this,o=a[1];!0&u&&(o=o.times(r),--u),0!==u;)u/=2,r=r.square();return o},l.prototype.pow=s.prototype.pow,f.prototype.pow=function(t){var e=Q(t),r=this.value,o=e.value,n=BigInt(0),i=BigInt(1),u=BigInt(2);if(o===n)return a[1];if(r===n)return a[0];if(r===i)return a[1];if(r===BigInt(-1))return e.isEven()?a[1]:a[-1];if(e.isNegative())return new f(n);for(var p=this,s=a[1];(o&i)===i&&(s=s.times(p),--o),o!==n;)o/=u,p=p.square();return s},s.prototype.modPow=function(t,e){if(t=Q(t),(e=Q(e)).isZero())throw new Error("Cannot take modPow with modulus 0");for(var r=a[1],o=this.mod(e);t.isPositive();){if(o.isZero())return a[0];t.isOdd()&&(r=r.multiply(o).mod(e)),t=t.divide(2),o=o.square().mod(e)}return r},f.prototype.modPow=l.prototype.modPow=s.prototype.modPow,s.prototype.compareAbs=function(t){var e=Q(t),r=this.value,o=e.value;return e.isSmall?1:P(r,o)},l.prototype.compareAbs=function(t){var e=Q(t),r=Math.abs(this.value),o=e.value;return e.isSmall?r===(o=Math.abs(o))?0:r>o?1:-1:-1},f.prototype.compareAbs=function(t){var e=this.value,r=Q(t).value;return(e=e>=0?e:-e)===(r=r>=0?r:-r)?0:e>r?1:-1},s.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=Q(t),r=this.value,o=e.value;return this.sign!==e.sign?e.sign?1:-1:e.isSmall?this.sign?-1:1:P(r,o)*(this.sign?-1:1)},s.prototype.compareTo=s.prototype.compare,l.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=Q(t),r=this.value,o=e.value;return e.isSmall?r==o?0:r>o?1:-1:r<0!==e.sign?r<0?-1:1:r<0?1:-1},l.prototype.compareTo=l.prototype.compare,f.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=this.value,r=Q(t).value;return e===r?0:e>r?1:-1},f.prototype.compareTo=f.prototype.compare,s.prototype.equals=function(t){return 0===this.compare(t)},f.prototype.eq=f.prototype.equals=l.prototype.eq=l.prototype.equals=s.prototype.eq=s.prototype.equals,s.prototype.notEquals=function(t){return 0!==this.compare(t)},f.prototype.neq=f.prototype.notEquals=l.prototype.neq=l.prototype.notEquals=s.prototype.neq=s.prototype.notEquals,s.prototype.greater=function(t){return this.compare(t)>0},f.prototype.gt=f.prototype.greater=l.prototype.gt=l.prototype.greater=s.prototype.gt=s.prototype.greater,s.prototype.lesser=function(t){return this.compare(t)<0},f.prototype.lt=f.prototype.lesser=l.prototype.lt=l.prototype.lesser=s.prototype.lt=s.prototype.lesser,s.prototype.greaterOrEquals=function(t){return this.compare(t)>=0},f.prototype.geq=f.prototype.greaterOrEquals=l.prototype.geq=l.prototype.greaterOrEquals=s.prototype.geq=s.prototype.greaterOrEquals,s.prototype.lesserOrEquals=function(t){return this.compare(t)<=0},f.prototype.leq=f.prototype.lesserOrEquals=l.prototype.leq=l.prototype.lesserOrEquals=s.prototype.leq=s.prototype.lesserOrEquals,s.prototype.isEven=function(){return 0==(1&this.value[0])},l.prototype.isEven=function(){return 0==(1&this.value)},f.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},s.prototype.isOdd=function(){return 1==(1&this.value[0])},l.prototype.isOdd=function(){return 1==(1&this.value)},f.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},s.prototype.isPositive=function(){return!this.sign},l.prototype.isPositive=function(){return this.value>0},f.prototype.isPositive=l.prototype.isPositive,s.prototype.isNegative=function(){return this.sign},l.prototype.isNegative=function(){return this.value<0},f.prototype.isNegative=l.prototype.isNegative,s.prototype.isUnit=function(){return!1},l.prototype.isUnit=function(){return 1===Math.abs(this.value)},f.prototype.isUnit=function(){return this.abs().value===BigInt(1)},s.prototype.isZero=function(){return!1},l.prototype.isZero=function(){return 0===this.value},f.prototype.isZero=function(){return this.value===BigInt(0)},s.prototype.isDivisibleBy=function(t){var e=Q(t);return!e.isZero()&&(!!e.isUnit()||(0===e.compareAbs(2)?this.isEven():this.mod(e).isZero()))},f.prototype.isDivisibleBy=l.prototype.isDivisibleBy=s.prototype.isDivisibleBy,s.prototype.isPrime=function(e){var r=Z(this);if(void 0!==r)return r;var o=this.abs(),n=o.bitLength();if(n<=64)return x(o,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var i=Math.log(2)*n.toJSNumber(),u=Math.ceil(!0===e?2*Math.pow(i,2):i),p=[],a=0;a<u;a++)p.push(t(a+2));return x(o,p)},f.prototype.isPrime=l.prototype.isPrime=s.prototype.isPrime,s.prototype.isProbablePrime=function(e){var r=Z(this);if(void 0!==r)return r;for(var o=this.abs(),n=void 0===e?5:e,i=[],u=0;u<n;u++)i.push(t.randBetween(2,o.minus(2)));return x(o,i)},f.prototype.isProbablePrime=l.prototype.isProbablePrime=s.prototype.isProbablePrime,s.prototype.modInv=function(e){for(var r,o,n,i=t.zero,u=t.one,p=Q(e),a=this.abs();!a.isZero();)r=p.divide(a),o=i,n=p,i=u,p=a,u=o.subtract(r.multiply(u)),a=n.subtract(r.multiply(a));if(!p.isUnit())throw new Error(this.toString()+" and "+e.toString()+" are not co-prime");return-1===i.compare(0)&&(i=i.add(e)),this.isNegative()?i.negate():i},f.prototype.modInv=l.prototype.modInv=s.prototype.modInv,s.prototype.next=function(){var t=this.value;return this.sign?q(t,1,this.sign):new s(b(t,1),this.sign)},l.prototype.next=function(){var t=this.value;return t+1<n?new l(t+1):new s(i,!1)},f.prototype.next=function(){return new f(this.value+BigInt(1))},s.prototype.prev=function(){var t=this.value;return this.sign?new s(b(t,1),!0):q(t,1,this.sign)},l.prototype.prev=function(){var t=this.value;return t-1>-n?new l(t-1):new s(i,!0)},f.prototype.prev=function(){return new f(this.value-BigInt(1))};for(var J=[1];2*J[J.length-1]<=r;)J.push(2*J[J.length-1]);var L=J.length,U=J[L-1];function T(t){return Math.abs(t)<=r}function j(e,r,o){r=Q(r);for(var n=e.isNegative(),i=r.isNegative(),u=n?e.not():e,p=i?r.not():r,a=0,s=0,l=null,f=null,v=[];!u.isZero()||!p.isZero();)a=(l=A(u,U))[1].toJSNumber(),n&&(a=U-1-a),s=(f=A(p,U))[1].toJSNumber(),i&&(s=U-1-s),u=l[0],p=f[0],v.push(o(a,s));for(var h=0!==o(n?1:0,i?1:0)?t(-1):t(0),y=v.length-1;y>=0;y-=1)h=h.multiply(U).add(t(v[y]));return h}s.prototype.shiftLeft=function(t){var e=Q(t).toJSNumber();if(!T(e))throw new Error(String(e)+" is too large for shifting.");if(e<0)return this.shiftRight(-e);var r=this;if(r.isZero())return r;for(;e>=L;)r=r.multiply(U),e-=L-1;return r.multiply(J[e])},f.prototype.shiftLeft=l.prototype.shiftLeft=s.prototype.shiftLeft,s.prototype.shiftRight=function(t){var e,r=Q(t).toJSNumber();if(!T(r))throw new Error(String(r)+" is too large for shifting.");if(r<0)return this.shiftLeft(-r);for(var o=this;r>=L;){if(o.isZero()||o.isNegative()&&o.isUnit())return o;o=(e=A(o,U))[1].isNegative()?e[0].prev():e[0],r-=L-1}return(e=A(o,J[r]))[1].isNegative()?e[0].prev():e[0]},f.prototype.shiftRight=l.prototype.shiftRight=s.prototype.shiftRight,s.prototype.not=function(){return this.negate().prev()},f.prototype.not=l.prototype.not=s.prototype.not,s.prototype.and=function(t){return j(this,t,function(t,e){return t&e})},f.prototype.and=l.prototype.and=s.prototype.and,s.prototype.or=function(t){return j(this,t,function(t,e){return t|e})},f.prototype.or=l.prototype.or=s.prototype.or,s.prototype.xor=function(t){return j(this,t,function(t,e){return t^e})},f.prototype.xor=l.prototype.xor=s.prototype.xor;var C=1<<30,D=(r&-r)*(r&-r)|C;function z(t){var e=t.value,o="number"==typeof e?e|C:"bigint"==typeof e?e|BigInt(C):e[0]+e[1]*r|D;return o&-o}function R(t,e){return t=Q(t),e=Q(e),t.greater(e)?t:e}function k(t,e){return t=Q(t),e=Q(e),t.lesser(e)?t:e}function _(t,e){if(t=Q(t).abs(),e=Q(e).abs(),t.equals(e))return t;if(t.isZero())return e;if(e.isZero())return t;for(var r,o,n=a[1];t.isEven()&&e.isEven();)r=k(z(t),z(e)),t=t.divide(r),e=e.divide(r),n=n.multiply(r);for(;t.isEven();)t=t.divide(z(t));do{for(;e.isEven();)e=e.divide(z(e));t.greater(e)&&(o=e,e=t,t=o),e=e.subtract(t)}while(!e.isZero());return n.isUnit()?t:t.multiply(n)}s.prototype.bitLength=function(){var e=this;return e.compareTo(t(0))<0&&(e=e.negate().subtract(t(1))),0===e.compareTo(t(0))?t(0):t(function e(r,o){if(o.compareTo(r)<=0){var n=e(r,o.square(o)),i=n.p,u=n.e,p=i.multiply(o);return p.compareTo(r)<=0?{p:p,e:2*u+1}:{p:i,e:2*u}}return{p:t(1),e:0}}(e,t(2)).e).add(t(1))},f.prototype.bitLength=l.prototype.bitLength=s.prototype.bitLength;var $=function(t,e,r,o){r=r||u,t=String(t),o||(t=t.toLowerCase(),r=r.toLowerCase());var n,i=t.length,p=Math.abs(e),a={};for(n=0;n<r.length;n++)a[r[n]]=n;for(n=0;n<i;n++){if("-"!==(f=t[n])&&(f in a&&a[f]>=p)){if("1"===f&&1===p)continue;throw new Error(f+" is not a valid digit in base "+e+".")}}e=Q(e);var s=[],l="-"===t[0];for(n=l?1:0;n<t.length;n++){var f;if((f=t[n])in a)s.push(Q(a[f]));else{if("<"!==f)throw new Error(f+" is not a valid character");var v=n;do{n++}while(">"!==t[n]&&n<t.length);s.push(Q(t.slice(v+1,n)))}}return F(s,e,l)};function F(t,e,r){var o,n=a[0],i=a[1];for(o=t.length-1;o>=0;o--)n=n.add(t[o].times(i)),i=i.times(e);return r?n.negate():n}function G(e,r){if((r=t(r)).isZero()){if(e.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(r.equals(-1)){if(e.isZero())return{value:[0],isNegative:!1};if(e.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-e.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var o=Array.apply(null,Array(e.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return o.unshift([1]),{value:[].concat.apply([],o),isNegative:!1}}var n=!1;if(e.isNegative()&&r.isPositive()&&(n=!0,e=e.abs()),r.isUnit())return e.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(e.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:n};for(var i,u=[],p=e;p.isNegative()||p.compareAbs(r)>=0;){i=p.divmod(r),p=i.quotient;var a=i.remainder;a.isNegative()&&(a=r.minus(a).abs(),p=p.next()),u.push(a.toJSNumber())}return u.push(p.toJSNumber()),{value:u.reverse(),isNegative:n}}function H(t,e,r){var o=G(t,e);return(o.isNegative?"-":"")+o.value.map(function(t){return function(t,e){return t<(e=e||u).length?e[t]:"<"+t+">"}(t,r)}).join("")}function K(t){if(v(+t)){var e=+t;if(e===m(e))return p?new f(BigInt(e)):new l(e);throw new Error("Invalid integer: "+t)}var r="-"===t[0];r&&(t=t.slice(1));var n=t.split(/e/i);if(n.length>2)throw new Error("Invalid integer: "+n.join("e"));if(2===n.length){var i=n[1];if("+"===i[0]&&(i=i.slice(1)),(i=+i)!==m(i)||!v(i))throw new Error("Invalid integer: "+i+" is not a valid exponent.");var u=n[0],a=u.indexOf(".");if(a>=0&&(i-=u.length-a-1,u=u.slice(0,a)+u.slice(a+1)),i<0)throw new Error("Cannot include negative exponent part for integers");t=u+=new Array(i+1).join("0")}if(!/^([0-9][0-9]*)$/.test(t))throw new Error("Invalid integer: "+t);if(p)return new f(BigInt(r?"-"+t:t));for(var h=[],y=t.length,g=o,d=y-g;y>0;)h.push(+t.slice(d,y)),(d-=g)<0&&(d=0),y-=g;return c(h),new s(h,r)}function Q(t){return"number"==typeof t?function(t){if(p)return new f(BigInt(t));if(v(t)){if(t!==m(t))throw new Error(t+" is not an integer.");return new l(t)}return K(t.toString())}(t):"string"==typeof t?K(t):"bigint"==typeof t?new f(t):t}s.prototype.toArray=function(t){return G(this,t)},l.prototype.toArray=function(t){return G(this,t)},f.prototype.toArray=function(t){return G(this,t)},s.prototype.toString=function(t,e){if(void 0===t&&(t=10),10!==t)return H(this,t,e);for(var r,o=this.value,n=o.length,i=String(o[--n]);--n>=0;)r=String(o[n]),i+="0000000".slice(r.length)+r;return(this.sign?"-":"")+i},l.prototype.toString=function(t,e){return void 0===t&&(t=10),10!=t?H(this,t,e):String(this.value)},f.prototype.toString=l.prototype.toString,f.prototype.toJSON=s.prototype.toJSON=l.prototype.toJSON=function(){return this.toString()},s.prototype.valueOf=function(){return parseInt(this.toString(),10)},s.prototype.toJSNumber=s.prototype.valueOf,l.prototype.valueOf=function(){return this.value},l.prototype.toJSNumber=l.prototype.valueOf,f.prototype.valueOf=f.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};for(var V=0;V<1e3;V++)a[V]=Q(V),V>0&&(a[-V]=Q(-V));return a.one=a[1],a.zero=a[0],a.minusOne=a[-1],a.max=R,a.min=k,a.gcd=_,a.lcm=function(t,e){return t=Q(t).abs(),e=Q(e).abs(),t.divide(_(t,e)).multiply(e)},a.isInstance=function(t){return t instanceof s||t instanceof l||t instanceof f},a.randBetween=function(t,e){var o=k(t=Q(t),e=Q(e)),n=R(t,e).subtract(o).add(1);if(n.isSmall)return o.add(Math.floor(Math.random()*n));for(var i=G(n,r).value,u=[],p=!0,s=0;s<i.length;s++){var l=p?i[s]:r,f=m(Math.random()*l);u.push(f),f<l&&(p=!1)}return o.add(a.fromArray(u,r,!1))},a.fromArray=function(t,e,r){return F(t.map(Q),Q(e||10),r)},a}();"undefined"!=typeof module&&module.hasOwnProperty("exports")&&(module.exports=t),"function"==typeof define&&define.amd&&define("big-integer",[],function(){return t});
},{}],"Focm":[function(require,module,exports) {
var n={};!function(n){"use strict";n["Control.Semigroupoid"]=n["Control.Semigroupoid"]||{};var t=n["Control.Semigroupoid"],r=function(n){this.compose=n},e=new r(function(n){return function(t){return function(r){return n(t(r))}}});t.compose=function(n){return n.compose},t.Semigroupoid=r,t.semigroupoidFn=e}(n),function(n){"use strict";n["Control.Category"]=n["Control.Category"]||{};var t=n["Control.Category"],r=n["Control.Semigroupoid"],e=function(n,t){this.Semigroupoid0=n,this.identity=t},u=new e(function(){return r.semigroupoidFn},function(n){return n});t.Category=e,t.identity=function(n){return n.identity},t.categoryFn=u}(n),function(n){"use strict";n["Data.Function"]=n["Data.Function"]||{};var t=n["Data.Function"];t.flip=function(n){return function(t){return function(r){return n(r)(t)}}},t.const=function(n){return function(t){return n}}}(n),function(t){"use strict";(n["Data.Functor"]=n["Data.Functor"]||{}).arrayMap=function(n){return function(t){for(var r=t.length,e=new Array(r),u=0;u<r;u++)e[u]=n(t[u]);return e}}}(),function(t){"use strict";(n["Data.Unit"]=n["Data.Unit"]||{}).unit={}}(),function(n){"use strict";n["Data.Unit"]=n["Data.Unit"]||{};var t=n["Data.Unit"],r=n["Data.Unit"];t.unit=r.unit}(n),function(n){"use strict";n["Data.Functor"]=n["Data.Functor"]||{};var t=n["Data.Functor"],r=n["Data.Functor"],e=n["Data.Function"],u=n["Data.Unit"],i=function(n){this.map=n},o=function(n){return n.map},a=new i(r.arrayMap);t.Functor=i,t.map=o,t.void=function(n){return o(n)(e.const(u.unit))},t.functorArray=a}(n),function(n){"use strict";n["Control.Apply"]=n["Control.Apply"]||{};var t=n["Control.Apply"],r=n["Control.Category"],e=n["Data.Function"],u=n["Data.Functor"],i=function(n){return n.apply};t.Apply=function(n,t){this.Functor0=n,this.apply=t},t.apply=i,t.applySecond=function(n){return function(t){return function(o){return i(n)(u.map(n.Functor0())(e.const(r.identity(r.categoryFn)))(t))(o)}}}}(n),function(n){"use strict";n["Control.Applicative"]=n["Control.Applicative"]||{};var t=n["Control.Applicative"],r=n["Control.Apply"],e=function(n){return n.pure};t.Applicative=function(n,t){this.Apply0=n,this.pure=t},t.pure=e,t.liftA1=function(n){return function(t){return function(u){return r.apply(n.Apply0())(e(n)(t))(u)}}}}(n),function(n){"use strict";n["Control.Bind"]=n["Control.Bind"]||{};var t=n["Control.Bind"],r=n["Data.Function"],e=function(n){return n.bind},u=function(n){return r.flip(e(n))};t.Bind=function(n,t){this.Apply0=n,this.bind=t},t.bind=e,t.bindFlipped=u,t.composeKleisliFlipped=function(n){return function(t){return function(r){return function(e){return u(n)(t)(r(e))}}}}}(n),function(n){"use strict";n.map_=function(n){return function(t){return function(){return n(t())}}},n.pure_=function(n){return function(){return n}},n.bind_=function(n){return function(t){return function(){return t(n())()}}},n.for=function(n){return function(t){return function(r){return function(){for(var e=n;e<t;e++)r(e)()}}}}}(n["Control.Monad.ST.Internal"]=n["Control.Monad.ST.Internal"]||{}),function(n){"use strict";n["Control.Monad"]=n["Control.Monad"]||{};var t=n["Control.Monad"],r=n["Control.Applicative"],e=n["Control.Bind"];t.Monad=function(n,t){this.Applicative0=n,this.Bind1=t},t.ap=function(n){return function(t){return function(u){return e.bind(n.Bind1())(t)(function(t){return e.bind(n.Bind1())(u)(function(e){return r.pure(n.Applicative0())(t(e))})})}}}}(n),function(n){"use strict";n["Control.Monad.ST.Internal"]=n["Control.Monad.ST.Internal"]||{};var t=n["Control.Monad.ST.Internal"],r=n["Control.Monad.ST.Internal"],e=n["Control.Applicative"],u=n["Control.Apply"],i=n["Control.Bind"],o=n["Control.Monad"],a=new n["Data.Functor"].Functor(r.map_),c=new o.Monad(function(){return s},function(){return f}),f=new i.Bind(function(){return l},r.bind_),l=new u.Apply(function(){return a},o.ap(c)),s=new e.Applicative(function(){return l},r.pure_);t.functorST=a,t.applyST=l,t.applicativeST=s,t.bindST=f,t.monadST=c,t.for=r.for}(n),function(n){"use strict";n.peekImpl=function(n){return function(t){return function(r){return function(e){return function(){return r>=0&&r<e.length?n(e[r]):t}}}}},n.poke=function(n){return function(t){return function(r){return function(){var e=n>=0&&n<r.length;return e&&(r[n]=t),e}}}},n.copyImpl=function(n){return function(){return n.slice()}},n.sortByImpl=function(n){return function(t){return function(){return t.sort(function(t,r){return n(t)(r)})}}}}(n["Data.Array.ST"]=n["Data.Array.ST"]||{}),function(n){"use strict";n["Data.Maybe"]=n["Data.Maybe"]||{};var t=n["Data.Maybe"],r=n["Control.Applicative"],e=n["Control.Apply"],u=n["Control.Bind"],i=n["Data.Functor"],o=function(){function n(){}return n.value=new n,n}(),a=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),c=new i.Functor(function(n){return function(t){return t instanceof a?new a(n(t.value0)):o.value}}),f=new e.Apply(function(){return c},function(n){return function(t){if(n instanceof a)return i.map(c)(n.value0)(t);if(n instanceof o)return o.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,t.constructor.name])}}),l=new u.Bind(function(){return f},function(n){return function(t){if(n instanceof a)return t(n.value0);if(n instanceof o)return o.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,t.constructor.name])}}),s=new r.Applicative(function(){return f},a.create);t.Nothing=o,t.Just=a,t.maybe=function(n){return function(t){return function(r){if(r instanceof o)return n;if(r instanceof a)return t(r.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,t.constructor.name,r.constructor.name])}}},t.functorMaybe=c,t.applyMaybe=f,t.applicativeMaybe=s,t.bindMaybe=l}(n),function(t){"use strict";(n["Data.Eq"]=n["Data.Eq"]||{}).refEq=function(n){return function(t){return n===t}}}(),function(n){"use strict";n["Data.Eq"]=n["Data.Eq"]||{};var t=n["Data.Eq"],r=function(n){this.eq=n},e=new r(n["Data.Eq"].refEq);t.Eq=r,t.eq=function(n){return n.eq},t.eqInt=e}(n),function(t){"use strict";(n["Data.Ord.Unsafe"]=n["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(t){return function(r){return function(e){return function(u){return e<u?n:e===u?t:r}}}}}}(),function(n){"use strict";n["Data.Ordering"]=n["Data.Ordering"]||{};var t=n["Data.Ordering"],r=function(){function n(){}return n.value=new n,n}(),e=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}();t.LT=r,t.GT=e,t.EQ=u}(n),function(n){"use strict";n["Data.Ord.Unsafe"]=n["Data.Ord.Unsafe"]||{};var t=n["Data.Ord.Unsafe"],r=n["Data.Ord.Unsafe"],e=n["Data.Ordering"],u=r.unsafeCompareImpl(e.LT.value)(e.EQ.value)(e.GT.value);t.unsafeCompare=u}(n),function(t){"use strict";(n["Data.Ring"]=n["Data.Ring"]||{}).intSub=function(n){return function(t){return n-t|0}}}(),function(n){"use strict";n.intAdd=function(n){return function(t){return n+t|0}},n.intMul=function(n){return function(t){return n*t|0}}}(n["Data.Semiring"]=n["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var t=n["Data.Semiring"],r=n["Data.Semiring"],e=function(n,t,r,e){this.add=n,this.mul=t,this.one=r,this.zero=e},u=new e(r.intAdd,r.intMul,1,0);t.Semiring=e,t.add=function(n){return n.add},t.zero=function(n){return n.zero},t.mul=function(n){return n.mul},t.one=function(n){return n.one},t.semiringInt=u}(n),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var t=n["Data.Ring"],r=n["Data.Ring"],e=n["Data.Semiring"],u=function(n,t){this.Semiring0=n,this.sub=t},i=function(n){return n.sub},o=new u(function(){return e.semiringInt},r.intSub);t.Ring=u,t.sub=i,t.negate=function(n){return function(t){return i(n)(e.zero(n.Semiring0()))(t)}},t.ringInt=o}(n),function(n){"use strict";n["Data.Ord"]=n["Data.Ord"]||{};var t=n["Data.Ord"],r=n["Data.Eq"],e=n["Data.Ord.Unsafe"],u=n["Data.Ordering"],i=n["Data.Ring"],o=n["Data.Semiring"],a=function(n,t){this.Eq0=n,this.compare=t},c=new a(function(){return r.eqInt},e.unsafeCompare),f=function(n){return n.compare},l=function(n){return function(t){return function(r){return!(f(n)(t)(r)instanceof u.LT)}}};t.Ord=a,t.compare=f,t.greaterThanOrEq=l,t.abs=function(n){return function(t){return function(r){return l(n)(r)(o.zero(t.Semiring0()))?r:i.negate(t)(r)}}},t.ordInt=c}(n),function(n){"use strict";n["Data.Array.ST"]=n["Data.Array.ST"]||{};var t=n["Data.Array.ST"],r=n["Data.Array.ST"],e=n["Control.Applicative"],u=n["Control.Monad.ST.Internal"],i=n["Data.Maybe"],o=n["Data.Ord"],a=n["Data.Ordering"],c=r.copyImpl,f=function(n){return r.sortByImpl(function(t){return function(r){var e=n(t)(r);if(e instanceof a.GT)return 1;if(e instanceof a.EQ)return 0;if(e instanceof a.LT)return-1;throw new Error("Failed pattern match at Data.Array.ST (line 94, column 15 - line 99, column 1): "+[e.constructor.name])}})},l=r.peekImpl(i.Just.create)(i.Nothing.value);t.peek=l,t.modify=function(n){return function(t){return function(e){return function(){var u=l(n)(e)();if(u instanceof i.Just)return r.poke(n)(t(u.value0))(e)();if(u instanceof i.Nothing)return!1;throw new Error("Failed pattern match at Data.Array.ST (line 156, column 3 - line 158, column 26): "+[u.constructor.name])}}}},t.sort=function(n){return f(o.compare(n))},t.sortBy=f,t.thaw=c,t.unsafeFreeze=function(n){return e.pure(u.applicativeST)(n)}}(n),function(n){var t=require("big-integer");n.fromInt=function(n){return t(n)},n.toBase=function(n){return function(t){return t.toString(n)}},n.biAdd=function(n){return function(t){return n.add(t)}},n.biMul=function(n){return function(t){return n.multiply(t)}}}(n["Data.BigInt"]=n["Data.BigInt"]||{}),function(n){"use strict";n["Data.BigInt"]=n["Data.BigInt"]||{};var t=n["Data.BigInt"],r=n["Data.BigInt"],e=n["Data.Semiring"],u=r.toBase(10),i=new e.Semiring(r.biAdd,r.biMul,r.fromInt(1),r.fromInt(0));t.toString=u,t.semiringBigInt=i,t.fromInt=r.fromInt}(n),function(n){"use strict";n["Data.Boolean"]=n["Data.Boolean"]||{};n["Data.Boolean"].otherwise=!0}(n),function(n){"use strict";n["Data.Either"]=n["Data.Either"]||{};var t=n["Data.Either"],r=n["Control.Applicative"],e=n["Control.Apply"],u=n["Control.Bind"],i=n["Data.Functor"],o=n["Data.Maybe"],a=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),f=new i.Functor(function(n){return function(t){if(t instanceof a)return new a(t.value0);if(t instanceof c)return new c(n(t.value0));throw new Error("Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): "+[t.constructor.name])}}),l=function(n){return function(t){return function(r){if(r instanceof a)return n(r.value0);if(r instanceof c)return t(r.value0);throw new Error("Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): "+[n.constructor.name,t.constructor.name,r.constructor.name])}}},s=new e.Apply(function(){return f},function(n){return function(t){if(n instanceof a)return new a(n.value0);if(n instanceof c)return i.map(f)(n.value0)(t);throw new Error("Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): "+[n.constructor.name,t.constructor.name])}}),p=new u.Bind(function(){return s},l(function(n){return function(t){return new a(n)}})(function(n){return function(t){return t(n)}})),d=new r.Applicative(function(){return s},c.create);t.Left=a,t.Right=c,t.either=l,t.note=function(n){return o.maybe(new a(n))(c.create)},t.functorEither=f,t.applyEither=s,t.applicativeEither=d,t.bindEither=p}(n),function(n){"use strict";n.intDegree=function(n){return Math.min(Math.abs(n),2147483647)},n.intDiv=function(n){return function(t){return 0===t?0:t>0?Math.floor(n/t):-Math.floor(n/-t)}},n.intMod=function(n){return function(t){if(0===t)return 0;var r=Math.abs(t);return(n%r+r)%r}}}(n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{}),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var t=n["Data.CommutativeRing"],r=n["Data.Ring"],e=function(n){this.Ring0=n},u=new e(function(){return r.ringInt});t.CommutativeRing=e,t.commutativeRingInt=u}(n),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var t=n["Data.EuclideanRing"],r=n["Data.EuclideanRing"],e=n["Data.CommutativeRing"],u=function(n,t,r,e){this.CommutativeRing0=n,this.degree=t,this.div=r,this.mod=e},i=new u(function(){return e.commutativeRingInt},r.intDegree,r.intDiv,r.intMod);t.EuclideanRing=u,t.degree=function(n){return n.degree},t.div=function(n){return n.div},t.mod=function(n){return n.mod},t.euclideanRingInt=i}(n),function(n){"use strict";n.foldrArray=function(n){return function(t){return function(r){for(var e=t,u=r.length-1;u>=0;u--)e=n(r[u])(e);return e}}},n.foldlArray=function(n){return function(t){return function(r){for(var e=t,u=r.length,i=0;i<u;i++)e=n(e)(r[i]);return e}}}}(n["Data.Foldable"]=n["Data.Foldable"]||{}),function(n){"use strict";n["Data.Monoid"]=n["Data.Monoid"]||{};var t=n["Data.Monoid"];t.Monoid=function(n,t){this.Semigroup0=n,this.mempty=t},t.mempty=function(n){return n.mempty}}(n),function(n){"use strict";n["Data.Semigroup"]=n["Data.Semigroup"]||{};var t=n["Data.Semigroup"];t.Semigroup=function(n){this.append=n},t.append=function(n){return n.append}}(n),function(n){"use strict";n["Data.Foldable"]=n["Data.Foldable"]||{};var t=n["Data.Foldable"],r=n["Data.Foldable"],e=n["Control.Applicative"],u=n["Control.Apply"],i=n["Data.Monoid"],o=n["Data.Semigroup"],a=n["Data.Unit"],c=function(n,t,r){this.foldMap=n,this.foldl=t,this.foldr=r},f=function(n){return n.foldr},l=function(n){return function(t){return function(r){return f(n)(function(n){return function(e){return o.append(t.Semigroup0())(r(n))(e)}})(i.mempty(t))}}},s=new c(function(n){return l(s)(n)},r.foldlArray,r.foldrArray);t.Foldable=c,t.foldr=f,t.foldl=function(n){return n.foldl},t.foldMap=function(n){return n.foldMap},t.foldMapDefaultR=l,t.traverse_=function(n){return function(t){return function(r){return f(t)(function(t){return u.applySecond(n.Apply0())(r(t))})(e.pure(n)(a.unit))}}},t.foldableArray=s}(n),function(t){"use strict";(n["Data.Int"]=n["Data.Int"]||{}).fromStringAsImpl=function(n){return function(t){return function(r){var e;e=r<11?"[0-"+(r-1).toString()+"]":11===r?"[0-9a]":"[0-9a-"+String.fromCharCode(86+r)+"]";var u=new RegExp("^[\\+\\-]?"+e+"+$","i");return function(e){if(u.test(e)){var i=parseInt(e,r);return(0|i)===i?n(i):t}return t}}}}}(),function(n){"use strict";n["Data.Int"]=n["Data.Int"]||{};var t=n["Data.Int"],r=n["Data.Int"],e=n["Data.Maybe"],u=r.fromStringAsImpl(e.Just.create)(e.Nothing.value),i=u(10);t.fromString=i,t.fromStringAs=u,t.odd=function(n){return 0!=(1&n)}}(n),function(n){"use strict";n.split=function(n){return function(t){return t.split(n)}},n.trim=function(n){return n.trim()}}(n["Data.String.Common"]=n["Data.String.Common"]||{}),function(n){"use strict";n["Data.String.Common"]=n["Data.String.Common"]||{};var t=n["Data.String.Common"],r=n["Data.String.Common"];t.split=r.split,t.trim=r.trim}(n),function(t){"use strict";(n["Data.Traversable"]=n["Data.Traversable"]||{}).traverseArrayImpl=function(){function n(n){return[n]}function t(n){return function(t){return[n,t]}}function r(n){return function(t){return function(r){return[n,t,r]}}}function e(n){return function(t){return n.concat(t)}}return function(u){return function(i){return function(o){return function(a){return function(c){return function f(l,s){switch(s-l){case 0:return o([]);case 1:return i(n)(a(c[l]));case 2:return u(i(t)(a(c[l])))(a(c[l+1]));case 3:return u(u(i(r)(a(c[l])))(a(c[l+1])))(a(c[l+2]));default:var p=l+2*Math.floor((s-l)/4);return u(i(e)(f(l,p)))(f(p,s))}}(0,c.length)}}}}}}()}(),function(n){"use strict";n["Data.Traversable"]=n["Data.Traversable"]||{};var t=n["Data.Traversable"],r=n["Data.Traversable"],e=n["Control.Applicative"],u=n["Control.Apply"],i=n["Control.Category"],o=n["Data.Foldable"],a=n["Data.Functor"],c=function(n,t,r,e){this.Foldable1=n,this.Functor0=t,this.sequence=r,this.traverse=e},f=function(n){return n.traverse},l=function(n){return function(t){return f(n)(t)(i.identity(i.categoryFn))}},s=new c(function(){return o.foldableArray},function(){return a.functorArray},function(n){return l(s)(n)},function(n){return r.traverseArrayImpl(u.apply(n.Apply0()))(a.map(n.Apply0().Functor0()))(e.pure(n))});t.Traversable=c,t.traverse=f,t.sequence=function(n){return n.sequence},t.sequenceDefault=l,t.traversableArray=s}(n),function(n){"use strict";n["Data.Tuple"]=n["Data.Tuple"]||{};var t=n["Data.Tuple"],r=function(){function n(n,t){this.value0=n,this.value1=t}return n.create=function(t){return function(r){return new n(t,r)}},n}();t.Tuple=r}(n),function(n){"use strict";n.pureE=function(n){return function(){return n}},n.bindE=function(n){return function(t){return function(){return t(n())()}}}}(n.Effect=n.Effect||{}),function(n){"use strict";n.Effect=n.Effect||{};var t=n.Effect,r=n.Effect,e=n["Control.Applicative"],u=n["Control.Apply"],i=n["Control.Bind"],o=n["Control.Monad"],a=n["Data.Functor"],c=new o.Monad(function(){return s},function(){return f}),f=new i.Bind(function(){return l},r.bindE),l=new u.Apply(function(){return p},o.ap(c)),s=new e.Applicative(function(){return l},r.pureE),p=new a.Functor(e.liftA1(s));t.functorEffect=p,t.applyEffect=l,t.applicativeEffect=s,t.bindEffect=f,t.monadEffect=c}(n),function(n){"use strict";var t=function(){var n={},t="Pure",r="Throw",e="Catch",u="Sync",i="Async",o="Bind",a="Bracket",c="Fork",f="Sequential",l="Map",s="Apply",p="Alt",d="Cons",m="Resume",h="Release",v="Finalizer",g="Finalized",w="Forked";function D(n,t,r,e){this.tag=n,this._1=t,this._2=r,this._3=e}function E(n){var t=function(t,r,e){return new D(n,t,r,e)};return t.tag=n,t}function C(n){return new D(t,void 0)}function y(n){try{n()}catch(t){setTimeout(function(){throw t},0)}}function A(n,t,r){try{return t(r())}catch(e){return n(e)}}function b(n,t,r){try{return t(r)()}catch(e){return r(n(e))(),C}}var S=function(){var n=1024,t=0,r=0,e=new Array(n),u=!1;function i(){var i;for(u=!0;0!==t;)t--,i=e[r],e[r]=void 0,r=(r+1)%n,i();u=!1}return{isDraining:function(){return u},enqueue:function(o){var a;t===n&&(a=u,i(),u=a),e[(r+t)%n]=o,t++,u||i()}}}();var _=0,F=1,I=2,M=3,B=4,T=5,R=6;function P(n,l,s){var p=0,w=_,E=s,C=null,k=null,N=null,q=null,L=null,O=0,x=0,z=null,W=!0;function J(s){for(var x,G,K;;)switch(x=null,G=null,K=null,w){case I:w=F,E=N(E),null===q?N=null:(N=q._1,q=q._2);break;case M:n.isLeft(E)?(w=T,C=E,E=null):null===N?w=T:(w=I,E=n.fromRight(E));break;case F:switch(E.tag){case o:N&&(q=new D(d,N,q)),N=E._2,w=F,E=E._1;break;case t:null===N?(w=T,E=n.right(E._1)):(w=I,E=E._1);break;case u:w=M,E=A(n.left,n.right,E._1);break;case i:return w=B,void(E=b(n.left,E._1,function(n){return function(){p===s&&(p++,S.enqueue(function(){p===s+1&&(w=M,E=n,J(p))}))}}));case r:w=T,C=n.left(E._1),E=null;break;case e:L=new D(d,E,null===N?L:new D(d,new D(m,N,q),L,k),k),N=null,q=null,w=F,E=E._1;break;case a:O++,L=new D(d,E,null===N?L:new D(d,new D(m,N,q),L,k),k),N=null,q=null,w=F,E=E._1;break;case c:w=M,x=P(n,l,E._2),l&&l.register(x),E._1&&x.run(),E=n.right(x);break;case f:w=F,E=U(n,l,E._1)}break;case T:if(N=null,q=null,null===L)w=R,E=k||C||E;else switch(x=L._3,K=L._1,L=L._2,K.tag){case e:k&&k!==x?w=T:C&&(w=F,E=K._2(n.fromLeft(C)),C=null);break;case m:k&&k!==x||C?w=T:(N=K._1,q=K._2,w=I,E=n.fromRight(E));break;case a:O--,null===C&&(G=n.fromRight(E),L=new D(d,new D(h,K._2,G),L,x),(k===x||O>0)&&(w=F,E=K._3(G)));break;case h:O++,L=new D(d,new D(g,E,C),L,k),w=F,E=k&&k!==x?K._1.killed(n.fromLeft(k))(K._2):C?K._1.failed(n.fromLeft(C))(K._2):K._1.completed(n.fromRight(E))(K._2),C=null;break;case v:O++,L=new D(d,new D(g,E,C),L,k),w=F,E=K._1;break;case g:O--,w=T,E=K._1,C=K._2}break;case R:for(var Q in z)z.hasOwnProperty(Q)&&(W=W&&z[Q].rethrow,y(z[Q].handler(E)));return z=null,void(k&&C?setTimeout(function(){throw n.fromLeft(C)},0):n.isLeft(E)&&W&&setTimeout(function(){if(W)throw n.fromLeft(E)},0));case _:w=F;break;case B:return}}function G(n){return function(){if(w===R)return W=W&&n.rethrow,n.handler(E)(),function(){};var t=x++;return(z=z||{})[t]=n,function(){null!==z&&delete z[t]}}}return{kill:function(t,r){return function(){if(w===R)return r(n.right(void 0))(),function(){};var e=G({rethrow:!1,handler:function(){return r(n.right(void 0))}})();switch(w){case _:k=n.left(t),w=R,E=k,J(p);break;case B:null===k&&(k=n.left(t)),0===O&&(w===B&&(L=new D(d,new D(v,E(t)),L,k)),w=T,E=null,C=null,J(++p));break;default:null===k&&(k=n.left(t)),0===O&&(w=T,E=null,C=null)}return e}},join:function(n){return function(){var t=G({rethrow:!1,handler:n})();return w===_&&J(p),t}},onComplete:G,isSuspended:function(){return w===_},run:function(){w===_&&(S.isDraining()?J(p):S.enqueue(function(){J(p)}))}}}function k(t,r,e,u){var o=0,a={},c=0,f={},m=new Error("[ParAff] Early exit"),h=null,v=n;function g(r,e,u){var i,o,c=e,f=null,m=null,h=0,v={};n:for(;;)switch(i=null,c.tag){case w:if(c._3===n&&(i=a[c._1],v[h++]=i.kill(r,function(n){return function(){0===--h&&u(n)()}})),null===f)break n;c=f._2,null===m?f=null:(f=m._1,m=m._2);break;case l:c=c._2;break;case s:case p:f&&(m=new D(d,f,m)),f=c,c=c._1}if(0===h)u(t.right(void 0))();else for(o=0,i=h;o<i;o++)v[o]=v[o]();return v}function E(r){return function(e){return function(){delete a[r._1],r._3=e,function r(e,i,o){var a,d,v,w,D,E;for(t.isLeft(e)?(a=e,d=null):(d=e,a=null);;){if(v=null,w=null,D=null,E=null,null!==h)return;if(null===i)return void u(a||d)();if(i._3!==n)return;switch(i.tag){case l:null===a?(i._3=t.right(i._1(t.fromRight(d))),d=i._3):i._3=a;break;case s:if(v=i._1._3,w=i._2._3,a){if(i._3=a,D=!0,E=c++,f[E]=g(m,a===v?i._2:i._1,function(){return function(){delete f[E],D?D=!1:null===o?r(a,null,null):r(a,o._1,o._2)}}),D)return void(D=!1)}else{if(v===n||w===n)return;d=t.right(t.fromRight(v)(t.fromRight(w))),i._3=d}break;case p:if(v=i._1._3,w=i._2._3,v===n&&t.isLeft(w)||w===n&&t.isLeft(v))return;if(v!==n&&t.isLeft(v)&&w!==n&&t.isLeft(w))a=d===v?w:v,d=null,i._3=a;else if(i._3=d,D=!0,E=c++,f[E]=g(m,d===v?i._2:i._1,function(){return function(){delete f[E],D?D=!1:null===o?r(d,null,null):r(d,o._1,o._2)}}),D)return void(D=!1)}null===o?i=null:(i=o._1,o=o._2)}}(e,r._2._1,r._2._2)}}}return function(){var u,i,c=F,f=e,m=null,h=null;n:for(;;)switch(u=null,i=null,c){case F:switch(f.tag){case l:m&&(h=new D(d,m,h)),m=new D(l,f._1,n,n),f=f._2;break;case s:m&&(h=new D(d,m,h)),m=new D(s,n,f._2,n),f=f._1;break;case p:m&&(h=new D(d,m,h)),m=new D(p,n,f._2,n),f=f._1;break;default:i=o++,c=T,u=f,f=new D(w,i,new D(d,m,h),n),(u=P(t,r,u)).onComplete({rethrow:!1,handler:E(f)})(),a[i]=u,r&&r.register(u)}break;case T:if(null===m)break n;m._1===n?(m._1=f,c=F,f=m._2,m._2=n):(m._2=f,f=m,null===h?m=null:(m=h._1,h=h._2))}for(v=f,i=0;i<o;i++)a[i].run()}(),function(n){return new D(i,function(r){return function(){return function(n,r){var e;for(var u in h=t.left(n),f)if(f.hasOwnProperty(u))for(u in e=f[u])e.hasOwnProperty(u)&&e[u]();f=null;var o=g(n,v,r);return function(n){return new D(i,function(n){return function(){for(var n in o)o.hasOwnProperty(n)&&o[n]();return C}})}}(n,r)}})}}function U(n,t,r){return new D(i,function(e){return function(){return k(n,t,r,e)}})}return D.EMPTY=n,D.Pure=E(t),D.Throw=E(r),D.Catch=E(e),D.Sync=E(u),D.Async=E(i),D.Bind=E(o),D.Bracket=E(a),D.Fork=E(c),D.Seq=E(f),D.ParMap=E(l),D.ParApply=E(s),D.ParAlt=E(p),D.Fiber=P,D.Supervisor=function(n){var t={},r=0,e=0;return{register:function(n){var u=r++;n.onComplete({rethrow:!0,handler:function(n){return function(){e--,delete t[u]}}}),t[u]=n,e++},isEmpty:function(){return 0===e},killAll:function(i,o){return function(){var a=0,c={};function f(r){c[r]=t[r].kill(i,function(t){return function(){delete c[r],a--,n.isLeft(t)&&n.fromLeft(t)&&setTimeout(function(){throw n.fromLeft(t)},0),0===a&&o()}})()}for(var l in t)t.hasOwnProperty(l)&&(a++,f(l));return t={},r=0,e=0,function(n){return new D(u,function(){for(var n in c)c.hasOwnProperty(n)&&c[n]()})}}}}},D.Scheduler=S,D.nonCanceler=C,D}();n._pure=t.Pure,n._map=function(n){return function(r){return r.tag===t.Pure.tag?t.Pure(n(r._1)):t.Bind(r,function(r){return t.Pure(n(r))})}},n._bind=function(n){return function(r){return t.Bind(n,r)}},n._liftEffect=t.Sync,n._parAffMap=function(n){return function(r){return t.ParMap(n,r)}},n._parAffApply=function(n){return function(r){return t.ParApply(n,r)}},n.makeAff=t.Async,n._makeFiber=function(n,r){return function(){return t.Fiber(n,null,r)}},n._sequential=t.Seq}(n["Effect.Aff"]=n["Effect.Aff"]||{}),function(n){"use strict";n["Control.Parallel.Class"]=n["Control.Parallel.Class"]||{};var t=n["Control.Parallel.Class"];t.parallel=function(n){return n.parallel},t.sequential=function(n){return n.sequential},t.Parallel=function(n,t,r,e){this.Applicative1=n,this.Monad0=t,this.parallel=r,this.sequential=e}}(n),function(n){"use strict";n["Control.Parallel"]=n["Control.Parallel"]||{};var t=n["Control.Parallel"],r=n["Control.Category"],e=n["Control.Parallel.Class"],u=n["Data.Foldable"],i=function(n){return function(t){return function(r){return function(i){return e.sequential(n)(u.traverse_(n.Applicative1())(t)(function(t){return e.parallel(n)(r(t))})(i))}}}};t.parTraverse_=i,t.parSequence_=function(n){return function(t){return i(n)(t)(r.identity(r.categoryFn))}}}(n),function(n){"use strict";n["Effect.Class"]=n["Effect.Class"]||{};var t=n["Effect.Class"];t.liftEffect=function(n){return n.liftEffect},t.MonadEffect=function(n,t){this.Monad0=n,this.liftEffect=t}}(n),function(t){"use strict";(n["Partial.Unsafe"]=n["Partial.Unsafe"]||{}).unsafePartial=function(n){return n()}}(),function(t){"use strict";(n["Partial"]=n["Partial"]||{}).crashWith=function(){return function(n){throw new Error(n)}}}(),function(n){"use strict";n.Partial=n.Partial||{};var t=n.Partial,r=n.Partial;t.crashWith=r.crashWith}(n),function(n){"use strict";n["Partial.Unsafe"]=n["Partial.Unsafe"]||{};var t=n["Partial.Unsafe"],r=n["Partial.Unsafe"],e=n.Partial;t.unsafeCrashWith=function(n){return r.unsafePartial(function(t){return e.crashWith(t)(n)})}}(n),function(t){"use strict";(n["Unsafe.Coerce"]=n["Unsafe.Coerce"]||{}).unsafeCoerce=function(n){return n}}(),function(n){"use strict";n["Unsafe.Coerce"]=n["Unsafe.Coerce"]||{};var t=n["Unsafe.Coerce"],r=n["Unsafe.Coerce"];t.unsafeCoerce=r.unsafeCoerce}(n),function(n){"use strict";n["Effect.Aff"]=n["Effect.Aff"]||{};var t=n["Effect.Aff"],r=n["Effect.Aff"],e=n["Control.Applicative"],u=n["Control.Apply"],i=n["Control.Bind"],o=n["Control.Monad"],a=n["Control.Parallel"],c=n["Control.Parallel.Class"],f=n["Data.Either"],l=n["Data.Foldable"],s=n["Data.Function"],p=n["Data.Functor"],d=n["Data.Monoid"],m=n["Data.Semigroup"],h=n["Data.Unit"],v=n.Effect,g=n["Effect.Class"],w=n["Partial.Unsafe"],D=n["Unsafe.Coerce"],E=new p.Functor(r._parAffMap),C=new p.Functor(r._map),y={isLeft:function(n){if(n instanceof f.Left)return!0;if(n instanceof f.Right)return!1;throw new Error("Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): "+[n.constructor.name])},fromLeft:function(n){if(n instanceof f.Left)return n.value0;if(n instanceof f.Right)return w.unsafeCrashWith("unsafeFromLeft: Right");throw new Error("Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): "+[n.constructor.name])},fromRight:function(n){if(n instanceof f.Right)return n.value0;if(n instanceof f.Left)return w.unsafeCrashWith("unsafeFromRight: Left");throw new Error("Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): "+[n.constructor.name])},left:f.Left.create,right:f.Right.create},A=function(n){return function(){var t=function(n){return r._makeFiber(y,n)}(n)();return t.run(),t}},b=new u.Apply(function(){return E},r._parAffApply),S=new o.Monad(function(){return I},function(){return _}),_=new i.Bind(function(){return F},r._bind),F=new u.Apply(function(){return C},o.ap(S)),I=new e.Applicative(function(){return F},r._pure),M=new g.MonadEffect(function(){return S},r._liftEffect),B=new c.Parallel(function(){return T},function(){return S},D.unsafeCoerce,r._sequential),T=new e.Applicative(function(){return b},function(n){return c.parallel(B)(e.pure(I)(n))}),R=new m.Semigroup(function(n){return function(t){return function(r){return a.parSequence_(B)(l.foldableArray)([n(r),t(r)])}}}),P=s.const(e.pure(I)(h.unit)),k=new d.Monoid(function(){return R},P);t.launchAff=A,t.launchAff_=function(n){return p.void(v.functorEffect)(A(n))},t.nonCanceler=P,t.functorAff=C,t.applyAff=F,t.applicativeAff=I,t.bindAff=_,t.monadAff=S,t.monadEffectAff=M,t.functorParAff=E,t.applyParAff=b,t.applicativeParAff=T,t.parallelAff=B,t.semigroupCanceler=R,t.monoidCanceler=k,t.makeAff=r.makeAff}(n),function(n){"use strict";n.new=function(n){return function(){return{value:n}}},n.read=function(n){return function(){return n.value}},n.write=function(n){return function(t){return function(){return t.value=n,{}}}}}(n["Effect.Ref"]=n["Effect.Ref"]||{}),function(n){"use strict";n["Effect.Ref"]=n["Effect.Ref"]||{};var t=n["Effect.Ref"],r=n["Effect.Ref"];t.new=r.new,t.read=r.read,t.write=r.write}(n),function(n){"use strict";n["Data.Show"]=n["Data.Show"]||{};var t=n["Data.Show"];t.Show=function(n){this.show=n},t.show=function(n){return n.show}}(n),function(n){"use strict";n["Node.Encoding"]=n["Node.Encoding"]||{};var t=n["Node.Encoding"],r=n["Data.Show"],e=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),a=function(){function n(){}return n.value=new n,n}(),c=function(){function n(){}return n.value=new n,n}(),f=function(){function n(){}return n.value=new n,n}(),l=function(){function n(){}return n.value=new n,n}(),s=new r.Show(function(n){if(n instanceof e)return"ASCII";if(n instanceof u)return"UTF8";if(n instanceof i)return"UTF16LE";if(n instanceof o)return"UCS2";if(n instanceof a)return"Base64";if(n instanceof c)return"Latin1";if(n instanceof f)return"Binary";if(n instanceof l)return"Hex";throw new Error("Failed pattern match at Node.Encoding (line 19, column 1 - line 19, column 39): "+[n.constructor.name])});t.ASCII=e,t.UTF8=u,t.UTF16LE=i,t.UCS2=o,t.Base64=a,t.Latin1=c,t.Binary=f,t.Hex=l,t.encodingToNode=function(n){if(n instanceof e)return"ascii";if(n instanceof u)return"utf8";if(n instanceof i)return"utf16le";if(n instanceof o)return"ucs2";if(n instanceof a)return"base64";if(n instanceof c)return"latin1";if(n instanceof f)return"binary";if(n instanceof l)return"hex";throw new Error("Failed pattern match at Node.Encoding (line 31, column 1 - line 31, column 37): "+[n.constructor.name])},t.showEncoding=s}(n),function(t){"use strict";(n["Node.Process"]=n["Node.Process"]||{}).process=process}(),function(n){"use strict";n["Node.Process"]=n["Node.Process"]||{};var t=n["Node.Process"],r=n["Node.Process"],e=r.process.stdout,u=r.process.stdin;t.stdin=u,t.stdout=e}(n),function(n){"use strict";n.readChunkImpl=function(n){return function(t){return function(r){if(r instanceof Buffer)return t(r);if("string"==typeof r)return n(r);throw new Error("Node.Stream.readChunkImpl: Unrecognised chunk type; expected String or Buffer, got: "+r)}}},n.onDataEitherImpl=function(n){return function(t){return function(r){return function(){t.on("data",function(t){r(n(t))()})}}}},n.onEnd=function(n){return function(t){return function(){n.on("end",t)}}},n.write=function(n){return function(t){return function(r){return function(){return n.write(t,null,r)}}}},n.writeStringImpl=function(n){return function(t){return function(r){return function(e){return function(){return n.write(r,t,e)}}}}}}(n["Node.Stream"]=n["Node.Stream"]||{}),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(n["Effect.Exception"]=n["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var t=n["Effect.Exception"],r=n["Effect.Exception"];t.throw=function(n){return r.throwException(r.error(n))}}(n),function(t){"use strict";(n["Node.Buffer"]=n["Node.Buffer"]||{}).toStringImpl=function(n){return function(t){return function(){return t.toString(n)}}}}(),function(n){"use strict";n["Node.Buffer"]=n["Node.Buffer"]||{};var t=n["Node.Buffer"],r=n["Node.Buffer"],e=n["Node.Encoding"];t.toString=function(n){return r.toStringImpl(e.encodingToNode(n))}}(n),function(n){"use strict";n["Node.Stream"]=n["Node.Stream"]||{};var t=n["Node.Stream"],r=n["Node.Stream"],e=n["Control.Applicative"],u=n["Control.Bind"],i=n["Data.Either"],o=n["Data.Show"],a=n.Effect,c=n["Effect.Exception"],f=n["Node.Buffer"],l=n["Node.Encoding"],s=r.readChunkImpl(i.Left.create)(i.Right.create),p=function(n){return function(t){return r.onDataEitherImpl(s)(n)(t)}},d=function(n){return function(t){return p(n)(u.composeKleisliFlipped(a.bindEffect)(t)(function(n){if(n instanceof i.Left)return c.throw("Stream encoding should not be set");if(n instanceof i.Right)return e.pure(a.applicativeEffect)(n.value0);throw new Error("Failed pattern match at Node.Stream (line 94, column 5 - line 98, column 17): "+[n.constructor.name])}))}};t.onData=d,t.onDataString=function(n){return function(t){return function(r){return d(n)(u.composeKleisliFlipped(a.bindEffect)(r)(f.toString(t)))}}},t.onDataEither=p,t.writeString=function(n){return function(t){return r.writeStringImpl(n)(o.show(l.showEncoding)(t))}},t.onEnd=r.onEnd}(n),function(n){"use strict";n.ABC102C=n.ABC102C||{};var t=n.ABC102C,r=n["Control.Applicative"],e=n["Control.Bind"],u=n["Control.Category"],i=n["Control.Monad.ST.Internal"],o=n["Data.Array.ST"],a=n["Data.BigInt"],c=n["Data.Boolean"],f=n["Data.Either"],l=n["Data.EuclideanRing"],s=n["Data.Foldable"],p=n["Data.Functor"],d=n["Data.Int"],m=n["Data.Maybe"],h=n["Data.Monoid"],v=n["Data.Ord"],g=n["Data.Ring"],w=n["Data.Semiring"],D=n["Data.String.Common"],E=n["Data.Traversable"],C=n["Data.Tuple"],y=n["Data.Unit"],A=n.Effect,b=n["Effect.Aff"],S=n["Effect.Class"],_=n["Effect.Ref"],F=n["Node.Encoding"],I=n["Node.Process"],M=n["Node.Stream"],B=n["Partial.Unsafe"],T=b.makeAff(function(n){return function(){var t=_.new("")();return M.onDataString(I.stdin)(F.UTF8.value)(function(n){return function(){var r=_.read(t)();return _.write(r+n)(t)()}})(),M.onEnd(I.stdin)(function(){var e=_.read(t)();return n(r.pure(f.applicativeEither)(e))()})(),h.mempty(b.monoidCanceler)}}),R=function(n){return function(t){return function(){var r=o.thaw(t)();i.for(0)(n)(function(n){return o.modify(n)(function(t){return t-(n+1|0)|0})(r)})();o.sort(v.ordInt)(r)();var e=o.unsafeFreeze(r)(),u=function(n){return function(t){if(d.odd(n))return t[l.div(l.euclideanRingInt)(n)(2)];if(c.otherwise)return l.div(l.euclideanRingInt)(t[l.div(l.euclideanRingInt)(n)(2)-1|0]+t[l.div(l.euclideanRingInt)(n)(2)]|0)(2);throw new Error("Failed pattern match at ABC102C (line 83, column 1 - line 83, column 34): "+[n.constructor.name,t.constructor.name])}}(n)(e);return s.foldl(s.foldableArray)(function(n){return function(t){return w.add(a.semiringBigInt)(n)(a.fromInt(v.abs(v.ordInt)(g.ringInt)(t-u|0)))}})(w.zero(a.semiringBigInt))(e)}()}},P=function(n){return f.either(function(n){return B.unsafeCrashWith(n)})(u.identity(u.categoryFn))(e.bind(f.bindEither)(f.note("n as")((t=n,2===(i=D.split("\n")(D.trim(t))).length?e.bind(m.bindMaybe)(d.fromString(i[0]))(function(n){return e.bind(m.bindMaybe)(E.traverse(E.traversableArray)(m.applicativeMaybe)(d.fromString)((t=i[1],D.split(" ")(t))))(function(t){return r.pure(m.applicativeMaybe)(new C.Tuple(n,t))});var t}):m.Nothing.value)))(function(n){return r.pure(f.applicativeEither)(a.toString(R(n.value0)(n.value1))+"\n")}));var t,i},k=b.launchAff_(e.bind(b.bindAff)(T)(function(n){return e.bind(b.bindAff)(r.pure(b.applicativeAff)(P(n)))(function(n){return S.liftEffect(b.monadEffectAff)((t=n,p.void(A.functorEffect)(M.writeString(I.stdout)(F.UTF8.value)(t)(r.pure(A.applicativeEffect)(y.unit)))));var t})}));t.main=k,t.solve=P}(n),n.ABC102C.main();
},{"big-integer":"9xaU"}]},{},["Focm"], null)