Problem:
Score : 300 points

Problem Statement

You are given integers N and K. Find the number of triples (a,b,c) of positive integers not greater than N such that a+b,b+c and c+a are all multiples of K.
The order of a,b,c does matter, and some of them can be the same.

Constraints

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

N and K are integers.

Input

Input is given from Standard Input in the following format:

N K

Output

Print the number of triples (a,b,c) of positive integers not greater than N such that a+b,b+c and c+a are all multiples of K.

Sample Input 1

3 2

Sample Output 1

9

(1,1,1),(1,1,3),(1,3,1),(1,3,3),(2,2,2),(3,1,1),(3,1,3),(3,3,1) and (3,3,3) satisfy the condition.

Sample Input 2

5 3

Sample Output 2

1

Sample Input 3

31415 9265

Sample Output 3

27

Sample Input 4

35897 932

Sample Output 4

114191

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

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}({"Focm":[function(require,module,exports) {
var n={};!function(t){"use strict";(n["Control.Apply"]=n["Control.Apply"]||{}).arrayApply=function(n){return function(t){for(var r=n.length,e=t.length,a=new Array(r*e),o=0,i=0;i<r;i++)for(var u=n[i],c=0;c<e;c++)a[o++]=u(t[c]);return a}}}(),function(n){"use strict";var t=function(n){this.compose=n},r=new t(function(n){return function(t){return function(r){return n(t(r))}}});n.compose=function(n){return n.compose},n.Semigroupoid=t,n.semigroupoidFn=r}(n["Control.Semigroupoid"]=n["Control.Semigroupoid"]||{}),function(t){"use strict";var r=n["Control.Semigroupoid"],e=function(n,t){this.Semigroupoid0=n,this.identity=t},a=new e(function(){return r.semigroupoidFn},function(n){return n});t.Category=e,t.identity=function(n){return n.identity},t.categoryFn=a}(n["Control.Category"]=n["Control.Category"]||{}),function(t){"use strict";(n["Data.Boolean"]=n["Data.Boolean"]||{}).otherwise=!0}(),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(t){"use strict";(n["Data.Unit"]=n["Data.Unit"]||{}).unit={}}(),function(t){"use strict";(n["Data.Show"]=n["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(t){"use strict";var r=n["Data.Show"],e=(n["Data.Symbol"],n["Record.Unsafe"],n["Type.Data.RowList"],function(n){this.show=n}),a=new e(r.showIntImpl);t.Show=e,t.show=function(n){return n.show},t.showInt=a}(n["Data.Show"]=n["Data.Show"]||{}),function(t){"use strict";var r=n["Data.Unit"];n["Data.Show"];t.unit=r.unit}(n["Data.Unit"]=n["Data.Unit"]||{}),function(t){"use strict";var r=n["Data.Semiring"],e=(n["Data.Symbol"],n["Data.Unit"],n["Record.Unsafe"],n["Type.Data.Row"],n["Type.Data.RowList"],function(n,t,r,e){this.add=n,this.mul=t,this.one=r,this.zero=e}),a=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=a}(n["Data.Semiring"]=n["Data.Semiring"]||{}),function(t){"use strict";var r=n["Data.Ring"],e=n["Data.Semiring"],a=(n["Data.Symbol"],n["Data.Unit"],n["Record.Unsafe"],n["Type.Data.RowList"],function(n,t){this.Semiring0=n,this.sub=t}),o=new a(function(){return e.semiringInt},r.intSub);t.Ring=a,t.sub=function(n){return n.sub},t.ringInt=o}(n["Data.Ring"]=n["Data.Ring"]||{}),function(t){"use strict";n["Control.Category"],n["Data.Boolean"],n["Data.Ord"],n["Data.Ring"];t.flip=function(n){return function(t){return function(r){return n(r)(t)}}},t.const=function(n){return function(t){return n}}}(n["Data.Function"]=n["Data.Function"]||{}),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),a=0;a<r;a++)e[a]=n(t[a]);return e}}}(),function(t){"use strict";var r=n["Data.Functor"],e=(n["Control.Semigroupoid"],n["Data.Function"]),a=n["Data.Unit"],o=function(n){this.map=n},i=function(n){return n.map},u=new o(r.arrayMap);t.Functor=o,t.map=i,t.void=function(n){return i(n)(e.const(a.unit))},t.functorArray=u}(n["Data.Functor"]=n["Data.Functor"]||{}),function(t){"use strict";var r=n["Control.Apply"],e=n["Control.Category"],a=n["Data.Function"],o=n["Data.Functor"],i=function(n,t){this.Functor0=n,this.apply=t},u=new i(function(){return o.functorArray},r.arrayApply),c=function(n){return n.apply};t.Apply=i,t.apply=c,t.applySecond=function(n){return function(t){return function(r){return c(n)(o.map(n.Functor0())(a.const(e.identity(e.categoryFn)))(t))(r)}}},t.applyArray=u}(n["Control.Apply"]=n["Control.Apply"]||{}),function(t){"use strict";var r=n["Control.Apply"],e=(n["Data.Functor"],n["Data.Unit"],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(a){return r.apply(n.Apply0())(e(n)(t))(a)}}}}(n["Control.Applicative"]=n["Control.Applicative"]||{}),function(t){"use strict";(n["Control.Bind"]=n["Control.Bind"]||{}).arrayBind=function(n){return function(t){for(var r=[],e=0,a=n.length;e<a;e++)Array.prototype.push.apply(r,t(n[e]));return r}}}(),function(t){"use strict";var r=n["Control.Bind"],e=(n["Control.Applicative"],n["Control.Apply"]),a=(n["Control.Category"],n["Data.Function"]),o=(n["Data.Functor"],n["Data.Unit"],function(n,t){this.Apply0=n,this.bind=t}),i=new o(function(){return e.applyArray},r.arrayBind),u=function(n){return n.bind},c=function(n){return a.flip(u(n))};t.Bind=o,t.bind=u,t.bindFlipped=c,t.composeKleisliFlipped=function(n){return function(t){return function(r){return function(e){return c(n)(t)(r(e))}}}},t.bindArray=i}(n["Control.Bind"]=n["Control.Bind"]||{}),function(n){"use strict";n.range=function(n){return function(t){for(var r=n>t?-1:1,e=new Array(r*(t-n)+1),a=n,o=0;a!==t;)e[o++]=a,a+=r;return e[o]=a,e}},n.length=function(n){return n.length},n.filter=function(n){return function(t){return t.filter(n)}}}(n["Data.Array"]=n["Data.Array"]||{}),function(n){"use strict";n.foldrArray=function(n){return function(t){return function(r){for(var e=t,a=r.length-1;a>=0;a--)e=n(r[a])(e);return e}}},n.foldlArray=function(n){return function(t){return function(r){for(var e=t,a=r.length,o=0;o<a;o++)e=n(e)(r[o]);return e}}}}(n["Data.Foldable"]=n["Data.Foldable"]||{}),function(t){"use strict";var r=n["Control.Applicative"],e=(n["Control.Apply"],n["Control.Bind"]);n["Data.Functor"],n["Data.Unit"];t.Monad=function(n,t){this.Applicative0=n,this.Bind1=t},t.ap=function(n){return function(t){return function(a){return e.bind(n.Bind1())(t)(function(t){return e.bind(n.Bind1())(a)(function(e){return r.pure(n.Applicative0())(t(e))})})}}}}(n["Control.Monad"]=n["Control.Monad"]||{}),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(t){"use strict";var r=n["Data.Ring"],e=(n["Data.Semiring"],n["Data.Symbol"],n["Data.Unit"],function(n){this.Ring0=n}),a=new e(function(){return r.ringInt});t.CommutativeRing=e,t.commutativeRingInt=a}(n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{}),function(t){"use strict";var r=n["Data.EuclideanRing"],e=(n["Data.BooleanAlgebra"],n["Data.CommutativeRing"]),a=(n["Data.Eq"],n["Data.HeytingAlgebra"],n["Data.Ring"],n["Data.Semiring"],function(n,t,r,e){this.CommutativeRing0=n,this.degree=t,this.div=r,this.mod=e}),o=new a(function(){return e.commutativeRingInt},r.intDegree,r.intDiv,r.intMod);t.EuclideanRing=a,t.degree=function(n){return n.degree},t.div=function(n){return n.div},t.mod=function(n){return n.mod},t.euclideanRingInt=o}(n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{}),function(t){"use strict";n["Data.Semigroup"],n["Data.Symbol"],n["Data.Unit"],n["Data.Void"],n["Record.Unsafe"],n["Type.Data.RowList"];t.Semigroup=function(n){this.append=n},t.append=function(n){return n.append}}(n["Data.Semigroup"]=n["Data.Semigroup"]||{}),function(t){"use strict";n["Data.Boolean"],n["Data.Eq"],n["Data.EuclideanRing"],n["Data.Ord"],n["Data.Ordering"],n["Data.Semigroup"],n["Data.Symbol"],n["Data.Unit"],n["Record.Unsafe"],n["Type.Data.RowList"];t.Monoid=function(n,t){this.Semigroup0=n,this.mempty=t},t.mempty=function(n){return n.mempty}}(n["Data.Monoid"]=n["Data.Monoid"]||{}),function(t){"use strict";n["Control.Alt"],n["Control.Alternative"],n["Control.Applicative"],n["Control.Apply"],n["Control.Bind"],n["Control.Category"],n["Control.Extend"],n["Control.Monad"],n["Control.MonadZero"],n["Control.Plus"],n["Data.Bounded"],n["Data.Eq"],n["Data.Function"],n["Data.Functor"],n["Data.Functor.Invariant"],n["Data.Monoid"],n["Data.Ord"],n["Data.Ordering"],n["Data.Semigroup"],n["Data.Show"],n["Data.Unit"],n.Prelude;var r=function(){function n(){}return n.value=new n,n}(),e=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}();t.Nothing=r,t.Just=e,t.maybe=function(n){return function(t){return function(a){if(a instanceof r)return n;if(a instanceof e)return t(a.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,t.constructor.name,a.constructor.name])}}}}(n["Data.Maybe"]=n["Data.Maybe"]||{}),function(t){"use strict";var r=n["Data.Foldable"],e=(n["Control.Alt"],n["Control.Applicative"]),a=n["Control.Apply"],o=(n["Control.Bind"],n["Control.Category"],n["Control.Plus"],n["Control.Semigroupoid"],n["Data.Eq"],n["Data.Function"],n["Data.Functor"],n["Data.HeytingAlgebra"],n["Data.Maybe"],n["Data.Maybe.First"],n["Data.Maybe.Last"],n["Data.Monoid"]),i=(n["Data.Monoid.Additive"],n["Data.Monoid.Conj"],n["Data.Monoid.Disj"],n["Data.Monoid.Dual"],n["Data.Monoid.Endo"],n["Data.Monoid.Multiplicative"],n["Data.Newtype"],n["Data.Ord"],n["Data.Ordering"],n["Data.Semigroup"]),u=(n["Data.Semiring"],n["Data.Unit"]),c=(n.Prelude,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 i.append(t.Semigroup0())(r(n))(e)}})(o.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 a.applySecond(n.Apply0())(r(t))})(e.pure(n)(u.unit))}}},t.foldableArray=s}(n["Data.Foldable"]=n["Data.Foldable"]||{}),function(t){"use strict";n["Control.Applicative"],n["Control.Apply"],n["Control.Biapplicative"],n["Control.Biapply"],n["Control.Bind"],n["Control.Comonad"],n["Control.Extend"],n["Control.Lazy"],n["Control.Monad"],n["Control.Semigroupoid"],n["Data.Bifoldable"],n["Data.Bifunctor"],n["Data.Bitraversable"],n["Data.BooleanAlgebra"],n["Data.Bounded"],n["Data.CommutativeRing"],n["Data.Distributive"],n["Data.Eq"],n["Data.Foldable"],n["Data.FoldableWithIndex"],n["Data.Function"],n["Data.Functor"],n["Data.Functor.Invariant"],n["Data.FunctorWithIndex"],n["Data.HeytingAlgebra"],n["Data.Maybe"],n["Data.Maybe.First"],n["Data.Monoid"],n["Data.Newtype"],n["Data.Ord"],n["Data.Ordering"],n["Data.Ring"],n["Data.Semigroup"],n["Data.Semigroup.Foldable"],n["Data.Semigroup.Traversable"],n["Data.Semiring"],n["Data.Show"],n["Data.Traversable"],n["Data.TraversableWithIndex"],n["Data.Unit"],n.Prelude,n["Type.Equality"];var 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["Data.Tuple"]=n["Data.Tuple"]||{}),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(t){"use strict";var r=n.Partial;t.crashWith=r.crashWith}(n.Partial=n.Partial||{}),function(t){"use strict";var r=n["Partial.Unsafe"],e=n.Partial;t.unsafeCrashWith=function(n){return r.unsafePartial(function(t){return e.crashWith(t)(n)})}}(n["Partial.Unsafe"]=n["Partial.Unsafe"]||{}),function(t){"use strict";(n["Unsafe.Coerce"]=n["Unsafe.Coerce"]||{}).unsafeCoerce=function(n){return n}}(),function(t){"use strict";var r=n["Unsafe.Coerce"];t.unsafeCoerce=r.unsafeCoerce}(n["Unsafe.Coerce"]=n["Unsafe.Coerce"]||{}),function(t){"use strict";var r=n["Data.Array"],e=(n["Control.Alt"],n["Control.Alternative"],n["Control.Applicative"],n["Control.Apply"],n["Control.Bind"]),a=(n["Control.Category"],n["Control.Lazy"],n["Control.Monad.Rec.Class"],n["Control.Monad.ST"],n["Control.Monad.ST.Internal"],n["Control.Semigroupoid"],n["Data.Array.NonEmpty.Internal"],n["Data.Array.ST"],n["Data.Array.ST.Iterator"],n["Data.Boolean"],n["Data.Eq"],n["Data.Foldable"],n["Data.Function"]),o=(n["Data.Functor"],n["Data.HeytingAlgebra"],n["Data.Maybe"]),i=(n["Data.Ord"],n["Data.Ordering"],n["Data.Ring"],n["Data.Semigroup"],n["Data.Semiring"],n["Data.Traversable"],n["Data.Tuple"],n["Data.Unfoldable"],n["Partial.Unsafe"],n.Prelude,n["Unsafe.Coerce"],function(n){return[n]}),u=a.flip(e.bind(e.bindArray));t.singleton=i,t.concatMap=u,t.mapMaybe=function(n){return u(function(t){return o.maybe([])(i)(n(t))})},t.range=r.range,t.length=r.length,t.filter=r.filter}(n["Data.Array"]=n["Data.Array"]||{}),function(t){"use strict";n["Control.Alt"];var r=n["Control.Applicative"],e=n["Control.Apply"],a=n["Control.Bind"],o=(n["Control.Extend"],n["Control.Monad"],n["Control.Semigroupoid"],n["Data.Bifoldable"],n["Data.Bifunctor"],n["Data.Bitraversable"],n["Data.Bounded"],n["Data.Eq"],n["Data.Foldable"],n["Data.FoldableWithIndex"],n["Data.Function"],n["Data.Functor"]),i=(n["Data.Functor.Invariant"],n["Data.FunctorWithIndex"],n["Data.Maybe"],n["Data.Monoid"],n["Data.Ord"],n["Data.Ordering"],n["Data.Semigroup"],n["Data.Show"],n["Data.Traversable"],n["Data.TraversableWithIndex"],n["Data.Unit"],n.Prelude,function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),c=new o.Functor(function(n){return function(t){if(t instanceof i)return new i(t.value0);if(t instanceof u)return new u(n(t.value0));throw new Error("Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): "+[t.constructor.name])}}),f=function(n){return function(t){return function(r){if(r instanceof i)return n(r.value0);if(r instanceof u)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])}}},l=new e.Apply(function(){return c},function(n){return function(t){if(n instanceof i)return new i(n.value0);if(n instanceof u)return o.map(c)(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])}}),s=new a.Bind(function(){return l},f(function(n){return function(t){return new i(n)}})(function(n){return function(t){return t(n)}})),d=new r.Applicative(function(){return l},u.create);t.Left=i,t.Right=u,t.either=f,t.functorEither=c,t.applyEither=l,t.applicativeEither=d,t.bindEither=s}(n["Data.Either"]=n["Data.Either"]||{}),function(n){"use strict";n.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 a=new RegExp("^[\\+\\-]?"+e+"+$","i");return function(e){if(a.test(e)){var o=parseInt(e,r);return(0|o)===o?n(o):t}return t}}}},n.pow=function(n){return function(t){return 0|Math.pow(n,t)}}}(n["Data.Int"]=n["Data.Int"]||{}),function(t){"use strict";var r=n["Data.Int"],e=(n["Control.Category"],n["Control.Semigroupoid"],n["Data.Boolean"],n["Data.Bounded"],n["Data.CommutativeRing"],n["Data.DivisionRing"],n["Data.Eq"],n["Data.EuclideanRing"],n["Data.HeytingAlgebra"],n["Data.Int.Bits"],n["Data.Maybe"]),a=(n["Data.Ord"],n["Data.Ordering"],n["Data.Ring"],n["Data.Semiring"],n["Data.Show"],n.Global,n.Math,n.Prelude,r.fromStringAsImpl(e.Just.create)(e.Nothing.value)),o=a(10);t.fromString=o,t.fromStringAs=a,t.odd=function(n){return 0!=(1&n)},t.pow=r.pow}(n["Data.Int"]=n["Data.Int"]||{}),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(t){"use strict";var r=n["Data.String.Common"];n["Data.Eq"],n["Data.Ordering"],n["Data.String.Pattern"],n.Prelude;t.split=r.split,t.trim=r.trim}(n["Data.String.Common"]=n["Data.String.Common"]||{}),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(t){"use strict";var r=n.Effect,e=n["Control.Applicative"],a=n["Control.Apply"],o=n["Control.Bind"],i=n["Control.Monad"],u=n["Data.Functor"],c=(n["Data.Monoid"],n["Data.Semigroup"],n.Prelude,new i.Monad(function(){return s},function(){return f})),f=new o.Bind(function(){return l},r.bindE),l=new a.Apply(function(){return d},i.ap(c)),s=new e.Applicative(function(){return l},r.pureE),d=new u.Functor(e.liftA1(s));t.functorEffect=d,t.applyEffect=l,t.applicativeEffect=s,t.bindEffect=f,t.monadEffect=c}(n.Effect=n.Effect||{}),function(n){"use strict";var t=function(){var n={},t="Pure",r="Throw",e="Catch",a="Sync",o="Async",i="Bind",u="Bracket",c="Fork",f="Sequential",l="Map",s="Apply",d="Alt",p="Cons",D="Resume",m="Release",g="Finalizer",h="Finalized",C="Forked";function w(n,t,r,e){this.tag=n,this._1=t,this._2=r,this._3=e}function v(n){var t=function(t,r,e){return new w(n,t,r,e)};return t.tag=n,t}function y(n){return new w(t,void 0)}function E(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 S(n,t,r){try{return t(r)()}catch(e){return r(n(e))(),y}}var b=function(){var n=1024,t=0,r=0,e=new Array(n),a=!1;function o(){var o;for(a=!0;0!==t;)t--,o=e[r],e[r]=void 0,r=(r+1)%n,o();a=!1}return{isDraining:function(){return a},enqueue:function(i){var u;t===n&&(u=a,o(),a=u),e[(r+t)%n]=i,t++,a||o()}}}();var _=0,F=1,M=2,P=3,R=4,B=5,U=6;function I(n,l,s){var d=0,C=_,v=s,y=null,k=null,L=null,N=null,x=null,q=0,O=0,W=null,z=!0;function H(s){for(var O,j,K;;)switch(O=null,j=null,K=null,C){case M:C=F,v=L(v),null===N?L=null:(L=N._1,N=N._2);break;case P:n.isLeft(v)?(C=B,y=v,v=null):null===L?C=B:(C=M,v=n.fromRight(v));break;case F:switch(v.tag){case i:L&&(N=new w(p,L,N)),L=v._2,C=F,v=v._1;break;case t:null===L?(C=B,v=n.right(v._1)):(C=M,v=v._1);break;case a:C=P,v=A(n.left,n.right,v._1);break;case o:return C=R,void(v=S(n.left,v._1,function(n){return function(){d===s&&(d++,b.enqueue(function(){d===s+1&&(C=P,v=n,H(d))}))}}));case r:C=B,y=n.left(v._1),v=null;break;case e:x=new w(p,v,null===L?x:new w(p,new w(D,L,N),x,k),k),L=null,N=null,C=F,v=v._1;break;case u:q++,x=new w(p,v,null===L?x:new w(p,new w(D,L,N),x,k),k),L=null,N=null,C=F,v=v._1;break;case c:C=P,O=I(n,l,v._2),l&&l.register(O),v._1&&O.run(),v=n.right(O);break;case f:C=F,v=T(n,l,v._1)}break;case B:if(L=null,N=null,null===x)C=U,v=k||y||v;else switch(O=x._3,K=x._1,x=x._2,K.tag){case e:k&&k!==O?C=B:y&&(C=F,v=K._2(n.fromLeft(y)),y=null);break;case D:k&&k!==O||y?C=B:(L=K._1,N=K._2,C=M,v=n.fromRight(v));break;case u:q--,null===y&&(j=n.fromRight(v),x=new w(p,new w(m,K._2,j),x,O),(k===O||q>0)&&(C=F,v=K._3(j)));break;case m:q++,x=new w(p,new w(h,v,y),x,k),C=F,v=k&&k!==O?K._1.killed(n.fromLeft(k))(K._2):y?K._1.failed(n.fromLeft(y))(K._2):K._1.completed(n.fromRight(v))(K._2),y=null;break;case g:q++,x=new w(p,new w(h,v,y),x,k),C=F,v=K._1;break;case h:q--,C=B,v=K._1,y=K._2}break;case U:for(var J in W)W.hasOwnProperty(J)&&(z=z&&W[J].rethrow,E(W[J].handler(v)));return W=null,void(k&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(v)&&z&&setTimeout(function(){if(z)throw n.fromLeft(v)},0));case _:C=F;break;case R:return}}function j(n){return function(){if(C===U)return z=z&&n.rethrow,n.handler(v)(),function(){};var t=O++;return(W=W||{})[t]=n,function(){null!==W&&delete W[t]}}}return{kill:function(t,r){return function(){if(C===U)return r(n.right(void 0))(),function(){};var e=j({rethrow:!1,handler:function(){return r(n.right(void 0))}})();switch(C){case _:k=n.left(t),C=U,v=k,H(d);break;case R:null===k&&(k=n.left(t)),0===q&&(C===R&&(x=new w(p,new w(g,v(t)),x,k)),C=B,v=null,y=null,H(++d));break;default:null===k&&(k=n.left(t)),0===q&&(C=B,v=null,y=null)}return e}},join:function(n){return function(){var t=j({rethrow:!1,handler:n})();return C===_&&H(d),t}},onComplete:j,isSuspended:function(){return C===_},run:function(){C===_&&(b.isDraining()?H(d):b.enqueue(function(){H(d)}))}}}function k(t,r,e,a){var i=0,u={},c=0,f={},D=new Error("[ParAff] Early exit"),m=null,g=n;function h(r,e,a){var o,i,c=e,f=null,D=null,m=0,g={};n:for(;;)switch(o=null,c.tag){case C:if(c._3===n&&(o=u[c._1],g[m++]=o.kill(r,function(n){return function(){0===--m&&a(n)()}})),null===f)break n;c=f._2,null===D?f=null:(f=D._1,D=D._2);break;case l:c=c._2;break;case s:case d:f&&(D=new w(p,f,D)),f=c,c=c._1}if(0===m)a(t.right(void 0))();else for(i=0,o=m;i<o;i++)g[i]=g[i]();return g}function v(r){return function(e){return function(){delete u[r._1],r._3=e,function r(e,o,i){var u,p,g,C,w,v;for(t.isLeft(e)?(u=e,p=null):(p=e,u=null);;){if(g=null,C=null,w=null,v=null,null!==m)return;if(null===o)return void a(u||p)();if(o._3!==n)return;switch(o.tag){case l:null===u?(o._3=t.right(o._1(t.fromRight(p))),p=o._3):o._3=u;break;case s:if(g=o._1._3,C=o._2._3,u){if(o._3=u,w=!0,v=c++,f[v]=h(D,u===g?o._2:o._1,function(){return function(){delete f[v],w?w=!1:null===i?r(u,null,null):r(u,i._1,i._2)}}),w)return void(w=!1)}else{if(g===n||C===n)return;p=t.right(t.fromRight(g)(t.fromRight(C))),o._3=p}break;case d:if(g=o._1._3,C=o._2._3,g===n&&t.isLeft(C)||C===n&&t.isLeft(g))return;if(g!==n&&t.isLeft(g)&&C!==n&&t.isLeft(C))u=p===g?C:g,p=null,o._3=u;else if(o._3=p,w=!0,v=c++,f[v]=h(D,p===g?o._2:o._1,function(){return function(){delete f[v],w?w=!1:null===i?r(p,null,null):r(p,i._1,i._2)}}),w)return void(w=!1)}null===i?o=null:(o=i._1,i=i._2)}}(e,r._2._1,r._2._2)}}}return function(){var a,o,c=F,f=e,D=null,m=null;n:for(;;)switch(a=null,o=null,c){case F:switch(f.tag){case l:D&&(m=new w(p,D,m)),D=new w(l,f._1,n,n),f=f._2;break;case s:D&&(m=new w(p,D,m)),D=new w(s,n,f._2,n),f=f._1;break;case d:D&&(m=new w(p,D,m)),D=new w(d,n,f._2,n),f=f._1;break;default:o=i++,c=B,a=f,f=new w(C,o,new w(p,D,m),n),(a=I(t,r,a)).onComplete({rethrow:!1,handler:v(f)})(),u[o]=a,r&&r.register(a)}break;case B:if(null===D)break n;D._1===n?(D._1=f,c=F,f=D._2,D._2=n):(D._2=f,f=D,null===m?D=null:(D=m._1,m=m._2))}for(g=f,o=0;o<i;o++)u[o].run()}(),function(n){return new w(o,function(r){return function(){return function(n,r){var e;for(var a in m=t.left(n),f)if(f.hasOwnProperty(a))for(a in e=f[a])e.hasOwnProperty(a)&&e[a]();f=null;var i=h(n,g,r);return function(n){return new w(o,function(n){return function(){for(var n in i)i.hasOwnProperty(n)&&i[n]();return y}})}}(n,r)}})}}function T(n,t,r){return new w(o,function(e){return function(){return k(n,t,r,e)}})}return w.EMPTY=n,w.Pure=v(t),w.Throw=v(r),w.Catch=v(e),w.Sync=v(a),w.Async=v(o),w.Bind=v(i),w.Bracket=v(u),w.Fork=v(c),w.Seq=v(f),w.ParMap=v(l),w.ParApply=v(s),w.ParAlt=v(d),w.Fiber=I,w.Supervisor=function(n){var t={},r=0,e=0;return{register:function(n){var a=r++;n.onComplete({rethrow:!0,handler:function(n){return function(){e--,delete t[a]}}}),t[a]=n,e++},isEmpty:function(){return 0===e},killAll:function(o,i){return function(){var u=0,c={};function f(r){c[r]=t[r].kill(o,function(t){return function(){delete c[r],u--,n.isLeft(t)&&n.fromLeft(t)&&setTimeout(function(){throw n.fromLeft(t)},0),0===u&&i()}})()}for(var l in t)t.hasOwnProperty(l)&&(u++,f(l));return t={},r=0,e=0,function(n){return new w(a,function(){for(var n in c)c.hasOwnProperty(n)&&c[n]()})}}}}},w.Scheduler=b,w.nonCanceler=y,w}();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(t){"use strict";n["Control.Category"],n["Control.Monad"],n.Effect;t.liftEffect=function(n){return n.liftEffect},t.MonadEffect=function(n,t){this.Monad0=n,this.liftEffect=t}}(n["Effect.Class"]=n["Effect.Class"]||{}),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(t){"use strict";var r=n["Effect.Ref"];n["Data.Function"],n["Data.Functor"],n.Effect,n.Prelude;t.new=r.new,t.read=r.read,t.write=r.write}(n["Effect.Ref"]=n["Effect.Ref"]||{}),function(t){"use strict";n["Control.Alt"],n["Control.Alternative"],n["Control.Applicative"],n["Control.Apply"],n["Control.Bind"],n["Control.Monad.Cont.Trans"],n["Control.Monad.Except.Trans"],n["Control.Monad.Maybe.Trans"],n["Control.Monad.Reader.Trans"],n["Control.Monad.Writer.Trans"],n["Control.Plus"],n["Control.Semigroupoid"],n["Data.Either"],n["Data.Function"],n["Data.Functor"],n["Data.Functor.Compose"],n["Data.Maybe"],n["Data.Newtype"],n["Data.Unit"],n["Effect.Class"],n["Effect.Ref"],n.Prelude;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["Control.Parallel.Class"]=n["Control.Parallel.Class"]||{}),function(t){"use strict";n["Control.Alternative"],n["Control.Apply"];var r=n["Control.Category"],e=n["Control.Parallel.Class"],a=(n["Control.Semigroupoid"],n["Data.Foldable"]),o=(n["Data.Traversable"],n.Prelude,function(n){return function(t){return function(r){return function(o){return e.sequential(n)(a.traverse_(n.Applicative1())(t)(function(t){return e.parallel(n)(r(t))})(o))}}}});t.parTraverse_=o,t.parSequence_=function(n){return function(t){return o(n)(t)(r.identity(r.categoryFn))}}}(n["Control.Parallel"]=n["Control.Parallel"]||{}),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(t){"use strict";var r=n["Effect.Exception"];n["Control.Applicative"],n["Control.Semigroupoid"],n["Data.Either"],n["Data.Functor"],n["Data.Maybe"],n["Data.Show"],n.Effect,n.Prelude;t.throw=function(n){return r.throwException(r.error(n))}}(n["Effect.Exception"]=n["Effect.Exception"]||{}),function(t){"use strict";var r=n["Effect.Aff"],e=(n["Control.Alt"],n["Control.Alternative"],n["Control.Applicative"]),a=n["Control.Apply"],o=n["Control.Bind"],i=(n["Control.Lazy"],n["Control.Monad"]),u=(n["Control.Monad.Error.Class"],n["Control.Monad.Rec.Class"],n["Control.Parallel"]),c=n["Control.Parallel.Class"],f=(n["Control.Plus"],n["Control.Semigroupoid"],n["Data.Either"]),l=n["Data.Foldable"],s=n["Data.Function"],d=(n["Data.Function.Uncurried"],n["Data.Functor"]),p=n["Data.Monoid"],D=(n["Data.Newtype"],n["Data.Semigroup"]),m=(n["Data.Time.Duration"],n["Data.Unit"]),g=n.Effect,h=n["Effect.Class"],C=(n["Effect.Exception"],n["Effect.Unsafe"],n["Partial.Unsafe"]),w=(n.Prelude,n["Unsafe.Coerce"]),v=new d.Functor(r._parAffMap),y=new d.Functor(r._map),E={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 C.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 C.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(E,n)}(n)();return t.run(),t}},S=new a.Apply(function(){return v},r._parAffApply),b=new i.Monad(function(){return M},function(){return _}),_=new o.Bind(function(){return F},r._bind),F=new a.Apply(function(){return y},i.ap(b)),M=new e.Applicative(function(){return F},r._pure),P=new h.MonadEffect(function(){return b},r._liftEffect),R=new c.Parallel(function(){return B},function(){return b},w.unsafeCoerce,r._sequential),B=new e.Applicative(function(){return S},function(n){return c.parallel(R)(e.pure(M)(n))}),U=new D.Semigroup(function(n){return function(t){return function(r){return u.parSequence_(R)(l.foldableArray)([n(r),t(r)])}}}),I=s.const(e.pure(M)(m.unit)),k=new p.Monoid(function(){return U},I);t.launchAff=A,t.launchAff_=function(n){return d.void(g.functorEffect)(A(n))},t.nonCanceler=I,t.functorAff=y,t.applyAff=F,t.applicativeAff=M,t.bindAff=_,t.monadAff=b,t.monadEffectAff=P,t.functorParAff=v,t.applyParAff=S,t.applicativeParAff=B,t.parallelAff=R,t.semigroupCanceler=U,t.monoidCanceler=k,t.makeAff=r.makeAff}(n["Effect.Aff"]=n["Effect.Aff"]||{}),function(t){"use strict";n["Node.Encoding"];var r=n["Data.Show"],e=(n.Prelude,function(){function n(){}return n.value=new n,n}()),a=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),u=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 a)return"UTF8";if(n instanceof o)return"UTF16LE";if(n instanceof i)return"UCS2";if(n instanceof u)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=a,t.UTF16LE=o,t.UCS2=i,t.Base64=u,t.Latin1=c,t.Binary=f,t.Hex=l,t.encodingToNode=function(n){if(n instanceof e)return"ascii";if(n instanceof a)return"utf8";if(n instanceof o)return"utf16le";if(n instanceof i)return"ucs2";if(n instanceof u)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["Node.Encoding"]=n["Node.Encoding"]||{}),function(t){"use strict";(n["Node.Process"]=n["Node.Process"]||{}).process=process}(),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(t){"use strict";(n["Node.Buffer"]=n["Node.Buffer"]||{}).toStringImpl=function(n){return function(t){return function(){return t.toString(n)}}}}(),function(t){"use strict";var r=n["Node.Buffer"],e=(n["Control.Semigroupoid"],n["Data.ArrayBuffer.Types"],n["Data.Maybe"],n["Data.Show"],n.Effect,n["Node.Encoding"]);n.Prelude;t.toString=function(n){return r.toStringImpl(e.encodingToNode(n))}}(n["Node.Buffer"]=n["Node.Buffer"]||{}),function(t){"use strict";var r=n["Node.Stream"],e=n["Control.Applicative"],a=n["Control.Bind"],o=n["Data.Either"],i=(n["Data.Functor"],n["Data.Maybe"],n["Data.Show"]),u=n.Effect,c=n["Effect.Exception"],f=n["Node.Buffer"],l=n["Node.Encoding"],s=(n.Prelude,r.readChunkImpl(o.Left.create)(o.Right.create)),d=function(n){return function(t){return r.onDataEitherImpl(s)(n)(t)}},p=function(n){return function(t){return d(n)(a.composeKleisliFlipped(u.bindEffect)(t)(function(n){if(n instanceof o.Left)return c.throw("Stream encoding should not be set");if(n instanceof o.Right)return e.pure(u.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=p,t.onDataString=function(n){return function(t){return function(r){return p(n)(a.composeKleisliFlipped(u.bindEffect)(r)(f.toString(t)))}}},t.onDataEither=d,t.writeString=function(n){return function(t){return r.writeStringImpl(n)(i.show(l.showEncoding)(t))}},t.onEnd=r.onEnd}(n["Node.Stream"]=n["Node.Stream"]||{}),function(t){"use strict";var r=n["Node.Process"],e=(n["Data.Functor"],n["Data.Maybe"],n["Data.Posix"],n["Data.Posix.Signal"],n.Effect,n["Foreign.Object"],n["Node.Platform"],n["Node.Stream"],n.Prelude,n["Unsafe.Coerce"],r.process.stdout),a=r.process.stdin;t.stdin=a,t.stdout=e}(n["Node.Process"]=n["Node.Process"]||{}),function(t){"use strict";var r=n["Control.Applicative"],e=n["Control.Bind"],a=n["Control.Category"],o=n["Data.Array"],i=(n["Data.BigInt"],n["Data.Boolean"]),u=n["Data.Either"],c=(n["Data.Eq"],n["Data.EuclideanRing"]),f=n["Data.Functor"],l=n["Data.Int"],s=n["Data.Monoid"],d=(n["Data.Semigroup"],n["Data.Semiring"],n["Data.Show"]),p=(n["Data.String"],n["Data.String.Common"]),D=(n["Data.String.Pattern"],n["Data.Tuple"]),m=n["Data.Unit"],g=n.Effect,h=n["Effect.Aff"],C=n["Effect.Class"],w=n["Effect.Ref"],v=n["Node.Encoding"],y=n["Node.Process"],E=n["Node.Stream"],A=n["Partial.Unsafe"],S=(n.Prelude,function(n){return u.either(function(n){return A.unsafeCrashWith(n)})(a.identity(a.categoryFn))(e.bind(u.bindEither)(2===(f=o.mapMaybe(l.fromString)((t=p.trim(n),p.split(" ")(t)))).length?new u.Right(new D.Tuple(f[0],f[1])):new u.Left("n k"))(function(n){return r.pure(u.applicativeEither)(d.show(d.showInt)((t=n.value0,function(n){if(l.odd(n))return l.pow(o.length(o.filter(function(t){return 0===c.mod(c.euclideanRingInt)(t)(n)})(o.range(1)(t))))(3);if(i.otherwise)return l.pow(o.length(o.filter(function(t){return 0===c.mod(c.euclideanRingInt)(t)(n)})(o.range(1)(t))))(3)+l.pow(o.length(o.filter(function(t){return c.mod(c.euclideanRingInt)(t)(n)===c.div(c.euclideanRingInt)(n)(2)})(o.range(1)(t))))(3)|0;throw new Error("Failed pattern match at ABC108C (line 61, column 1 - line 61, column 28): "+[t.constructor.name,n.constructor.name])})(n.value1))+"\n");var t}));var t,f}),b=h.makeAff(function(n){return function(){var t=w.new("")();return E.onDataString(y.stdin)(v.UTF8.value)(function(n){return function(){var r=w.read(t)();return w.write(r+n)(t)()}})(),E.onEnd(y.stdin)(function(){var e=w.read(t)();return n(r.pure(u.applicativeEither)(e))()})(),s.mempty(h.monoidCanceler)}}),_=h.launchAff_(e.bind(h.bindAff)(b)(function(n){return e.bind(h.bindAff)(r.pure(h.applicativeAff)(S(n)))(function(n){return C.liftEffect(h.monadEffectAff)((t=n,f.void(g.functorEffect)(E.writeString(y.stdout)(v.UTF8.value)(t)(r.pure(g.applicativeEffect)(m.unit)))));var t})}));t.main=_,t.solve=S}(n.ABC108C=n.ABC108C||{}),n.ABC108C.main();
},{}]},{},["Focm"], null)