Files
codingame/code_royal/index.min.js
2020-04-19 05:44:41 +02:00

1 line
38 KiB
JavaScript

var PS={};(function(n){"use strict";n.arrayMap=function(e){return function(n){var t=n.length;var r=new Array(t);for(var a=0;a<t;a++){r[a]=e(n[a])}return r}}})(PS["Data.Functor"]=PS["Data.Functor"]||{});(function(n){"use strict";n["Control.Semigroupoid"]=n["Control.Semigroupoid"]||{};var t=n["Control.Semigroupoid"];var r=function(n){this.compose=n};var a=new r(function(r){return function(t){return function(n){return r(t(n))}}});var e=function(n){return n.compose};t["compose"]=e;t["semigroupoidFn"]=a})(PS);(function(n){"use strict";n["Data.Functor"]=n["Data.Functor"]||{};var t=n["Data.Functor"];var r=n["Data.Functor"];var a=n["Control.Semigroupoid"];var e=function(n){this.map=n};var u=function(n){return n.map};var i=new e(a.compose(a.semigroupoidFn));var o=new e(r.arrayMap);t["Functor"]=e;t["map"]=u;t["functorFn"]=i;t["functorArray"]=o})(PS);(function(n){"use strict";n.concatArray=function(t){return function(n){if(t.length===0)return n;if(n.length===0)return t;return t.concat(n)}}})(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{});(function(n){"use strict";n["Data.Semigroup"]=n["Data.Semigroup"]||{};var t=n["Data.Semigroup"];var r=n["Data.Semigroup"];var a=function(n){this.append=n};var e=new a(r.concatArray);var u=function(n){return n.append};t["Semigroup"]=a;t["append"]=u;t["semigroupArray"]=e})(PS);(function(n){"use strict";n["Control.Alt"]=n["Control.Alt"]||{};var t=n["Control.Alt"];var r=n["Data.Functor"];var a=n["Data.Semigroup"];var e=function(n,t){this.Functor0=n;this.alt=t};var u=new e(function(){return r.functorArray},a.append(a.semigroupArray));t["altArray"]=u})(PS);(function(n){"use strict";n.arrayApply=function(c){return function(n){var t=c.length;var r=n.length;var a=new Array(t*r);var e=0;for(var u=0;u<t;u++){var i=c[u];for(var o=0;o<r;o++){a[e++]=i(n[o])}}return a}}})(PS["Control.Apply"]=PS["Control.Apply"]||{});(function(n){"use strict";n["Control.Apply"]=n["Control.Apply"]||{};var t=n["Control.Apply"];var r=n["Control.Apply"];var a=n["Data.Functor"];var e=function(n,t){this.Functor0=n;this.apply=t};var u=new e(function(){return a.functorArray},r.arrayApply);t["Apply"]=e;t["applyArray"]=u})(PS);(function(n){"use strict";n["Control.Applicative"]=n["Control.Applicative"]||{};var t=n["Control.Applicative"];var r=n["Control.Apply"];var a=function(n,t){this.Apply0=n;this.pure=t};var e=function(n){return n.pure};var u=new a(function(){return r.applyArray},function(n){return[n]});t["Applicative"]=a;t["pure"]=e;t["applicativeArray"]=u})(PS);(function(n){"use strict";n["Control.Plus"]=n["Control.Plus"]||{};var t=n["Control.Plus"];var r=n["Control.Alt"];var a=function(n,t){this.Alt0=n;this.empty=t};var e=new a(function(){return r.altArray},[]);var u=function(n){return n.empty};t["empty"]=u;t["plusArray"]=e})(PS);(function(n){"use strict";n["Control.Alternative"]=n["Control.Alternative"]||{};var t=n["Control.Alternative"];var r=n["Control.Applicative"];var a=n["Control.Plus"];var e=function(n,t){this.Applicative0=n;this.Plus1=t};var u=new e(function(){return r.applicativeArray},function(){return a.plusArray});t["alternativeArray"]=u})(PS);(function(n){"use strict";n.arrayBind=function(e){return function(n){var t=[];for(var r=0,a=e.length;r<a;r++){Array.prototype.push.apply(t,n(e[r]))}return t}}})(PS["Control.Bind"]=PS["Control.Bind"]||{});(function(n){"use strict";n["Control.Bind"]=n["Control.Bind"]||{};var t=n["Control.Bind"];var r=n["Control.Bind"];var a=n["Control.Apply"];var e=function(n){this.discard=n};var u=function(n,t){this.Apply0=n;this.bind=t};var i=function(n){return n.discard};var o=new u(function(){return a.applyArray},r.arrayBind);var c=function(n){return n.bind};var l=new e(function(n){return c(n)});t["Bind"]=u;t["bind"]=c;t["discard"]=i;t["bindArray"]=o;t["discardUnit"]=l})(PS);(function(n){"use strict";n["Control.Monad"]=n["Control.Monad"]||{};var t=n["Control.Monad"];var a=n["Control.Applicative"];var e=n["Control.Bind"];var r=function(n,t){this.Applicative0=n;this.Bind1=t};var u=new r(function(){return a.applicativeArray},function(){return e.bindArray});var i=function(r){return function(t){return function(n){return e.bind(r.Bind1())(t)(function(t){return e.bind(r.Bind1())(n)(function(n){return a.pure(r.Applicative0())(t(n))})})}}};t["Monad"]=r;t["ap"]=i;t["monadArray"]=u})(PS);(function(n){"use strict";n.boolConj=function(t){return function(n){return t&&n}};n.boolDisj=function(t){return function(n){return t||n}};n.boolNot=function(n){return!n}})(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{});(function(n){"use strict";n["Data.HeytingAlgebra"]=n["Data.HeytingAlgebra"]||{};var t=n["Data.HeytingAlgebra"];var r=n["Data.HeytingAlgebra"];var e=function(n,t,r,a,e,u){this.conj=n;this.disj=t;this.ff=r;this.implies=a;this.not=e;this.tt=u};var u=function(n){return n.tt};var i=function(n){return n.not};var o=function(n){return n.implies};var c=function(n){return n.ff};var l=function(n){return n.disj};var a=new e(r.boolConj,r.boolDisj,false,function(t){return function(n){return l(a)(i(a)(t))(n)}},r.boolNot,true);var v=function(n){return n.conj};var f=function(a){return new e(function(r){return function(t){return function(n){return v(a)(r(n))(t(n))}}},function(r){return function(t){return function(n){return l(a)(r(n))(t(n))}}},function(n){return c(a)},function(r){return function(t){return function(n){return o(a)(r(n))(t(n))}}},function(t){return function(n){return i(a)(t(n))}},function(n){return u(a)})};t["ff"]=c;t["disj"]=l;t["not"]=i;t["heytingAlgebraBoolean"]=a;t["heytingAlgebraFunction"]=f})(PS);(function(n){"use strict";n["Data.Monoid"]=n["Data.Monoid"]||{};var t=n["Data.Monoid"];var r=function(n,t){this.Semigroup0=n;this.mempty=t};var a=function(n){return n.mempty};t["Monoid"]=r;t["mempty"]=a})(PS);(function(n){"use strict";n["Data.Monoid.Disj"]=n["Data.Monoid.Disj"]||{};var t=n["Data.Monoid.Disj"];var a=n["Data.HeytingAlgebra"];var r=n["Data.Monoid"];var e=n["Data.Semigroup"];var u=function(n){return n};var i=function(r){return new e.Semigroup(function(t){return function(n){return a.disj(r)(t)(n)}})};var o=function(n){return new r.Monoid(function(){return i(n)},a.ff(n))};t["Disj"]=u;t["monoidDisj"]=o})(PS);(function(n){"use strict";n["Data.Newtype"]=n["Data.Newtype"]||{};var t=n["Data.Newtype"];var c=n["Data.Functor"];var r=n["Data.Monoid.Disj"];var a=function(n,t){this.unwrap=n;this.wrap=t};var l=function(n){return n.wrap};var v=function(n){return n.unwrap};var e=new a(function(n){return n},r.Disj);var u=function(o){return function(i){return function(u){return function(e){return function(n){return function(t){var r=c.map(i)(v(e));var a=c.map(o)(l(u));return function(n){return r(t(a(n)))}}}}}}};t["unwrap"]=v;t["Newtype"]=a;t["alaF"]=u;t["newtypeDisj"]=e})(PS);(function(n){"use strict";n["Data.Identity"]=n["Data.Identity"]||{};var t=n["Data.Identity"];var r=n["Control.Applicative"];var a=n["Control.Apply"];var e=n["Control.Bind"];var u=n["Control.Monad"];var i=n["Data.Functor"];var o=n["Data.Newtype"];var c=function(n){return n};var l=new o.Newtype(function(n){return n},c);var v=new i.Functor(function(t){return function(n){return t(n)}});var f=new a.Apply(function(){return v},function(t){return function(n){return t(n)}});var s=new e.Bind(function(){return f},function(t){return function(n){return n(t)}});var d=new r.Applicative(function(){return f},c);var p=new u.Monad(function(){return d},function(){return s});t["newtypeIdentity"]=l;t["monadIdentity"]=p})(PS);(function(n){"use strict";n["Control.Monad.State"]=n["Control.Monad.State"]||{};var t=n["Control.Monad.State"];var a=n["Data.Identity"];var e=n["Data.Newtype"];var r=function(t){var r=e.unwrap(a.newtypeIdentity);return function(n){return r(t(n))}};t["runState"]=r})(PS);(function(n){"use strict";n["Data.Tuple"]=n["Data.Tuple"]||{};var t=n["Data.Tuple"];var r=function(){function r(n,t){this.value0=n;this.value1=t}r.create=function(t){return function(n){return new r(t,n)}};return r}();var a=function(n){return n.value1};var e=function(n){return n.value0};t["Tuple"]=r;t["fst"]=e;t["snd"]=a})(PS);(function(n){"use strict";n.unit={}})(PS["Data.Unit"]=PS["Data.Unit"]||{});(function(n){"use strict";n["Data.Unit"]=n["Data.Unit"]||{};var t=n["Data.Unit"];var r=n["Data.Unit"];t["unit"]=r.unit})(PS);(function(n){"use strict";n["Control.Monad.State.Class"]=n["Control.Monad.State.Class"]||{};var t=n["Control.Monad.State.Class"];var r=n["Data.Tuple"];var a=n["Data.Unit"];var e=function(n,t){this.Monad0=n;this.state=t};var u=function(n){return n.state};var i=function(n){return function(t){return u(n)(function(n){return new r.Tuple(a.unit,t(n))})}};var o=function(n){return function(t){return u(n)(function(n){return new r.Tuple(t(n),n)})}};t["MonadState"]=e;t["gets"]=o;t["modify_"]=i})(PS);(function(n){"use strict";n["Control.Monad.State.Trans"]=n["Control.Monad.State.Trans"]||{};var t=n["Control.Monad.State.Trans"];var a=n["Control.Applicative"];var r=n["Control.Apply"];var e=n["Control.Bind"];var u=n["Control.Monad"];var i=n["Control.Monad.State.Class"];var o=n["Data.Functor"];var c=n["Data.Tuple"];var l=function(n){return n};var v=function(a){return new o.Functor(function(r){return function(t){return function(n){return o.map(a)(function(n){return new c.Tuple(r(n.value0),n.value1)})(t(n))}}})};var f=function(n){return new u.Monad(function(){return p(n)},function(){return s(n)})};var s=function(a){return new e.Bind(function(){return d(a)},function(t){return function(r){return function(n){return e.bind(a.Bind1())(t(n))(function(n){var t=r(n.value0);return t(n.value1)})}}})};var d=function(n){return new r.Apply(function(){return v(n.Bind1().Apply0().Functor0())},u.ap(f(n)))};var p=function(r){return new a.Applicative(function(){return d(r)},function(t){return function(n){return a.pure(r.Applicative0())(new c.Tuple(t,n))}})};var m=function(n){return new i.MonadState(function(){return f(n)},function(r){return l(function(){var t=a.pure(n.Applicative0());return function(n){return t(r(n))}}())})};t["applicativeStateT"]=p;t["bindStateT"]=s;t["monadStateStateT"]=m})(PS);(function(n){"use strict";n["Control.MonadZero"]=n["Control.MonadZero"]||{};var t=n["Control.MonadZero"];var r=n["Control.Alternative"];var a=n["Control.Applicative"];var e=n["Control.Monad"];var u=n["Control.Plus"];var i=n["Data.Unit"];var o=function(n,t){this.Alternative1=n;this.Monad0=t};var c=new o(function(){return r.alternativeArray},function(){return e.monadArray});var l=function(t){return function(n){if(n){return a.pure(t.Alternative1().Applicative0())(i.unit)}if(!n){return u.empty(t.Alternative1().Plus1())}throw new Error("Failed pattern match at Control.MonadZero (line 54, column 1 - line 54, column 52): "+[n.constructor.name])}};t["guard"]=l;t["monadZeroArray"]=c})(PS);(function(n){"use strict";n.range=function(u){return function(n){var t=u>n?-1:1;var r=new Array(t*(n-u)+1);var a=u,e=0;while(a!==n){r[e++]=a;a+=t}r[e]=a;return r}};n.length=function(n){return n.length};n.indexImpl=function(a){return function(r){return function(t){return function(n){return n<0||n>=t.length?r:a(t[n])}}}};n.filter=function(t){return function(n){return n.filter(t)}};n.sortImpl=function(r){return function(n){return n.slice().sort(function(n,t){return r(n)(t)})}}})(PS["Data.Array"]=PS["Data.Array"]||{});(function(n){"use strict";n["Data.Maybe"]=n["Data.Maybe"]||{};var t=n["Data.Maybe"];var r=function(){function n(){}n.value=new n;return n}();var a=function(){function t(n){this.value0=n}t.create=function(n){return new t(n)};return t}();var e=function(n){return function(n){if(n instanceof a){return n.value0}throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}};t["Nothing"]=r;t["Just"]=a;t["fromJust"]=e})(PS);(function(n){"use strict";var t=function(e){return function(a){return function(r){return function(t){return function(n){return t<n?e:t===n?a:r}}}}};n.ordIntImpl=t;n.ordStringImpl=t})(PS["Data.Ord"]=PS["Data.Ord"]||{});(function(n){"use strict";var t=function(t){return function(n){return t===n}};n.eqIntImpl=t;n.eqStringImpl=t})(PS["Data.Eq"]=PS["Data.Eq"]||{});(function(n){"use strict";n["Data.Eq"]=n["Data.Eq"]||{};var t=n["Data.Eq"];var r=n["Data.Eq"];var a=function(n){this.eq=n};var e=new a(r.eqStringImpl);var u=new a(r.eqIntImpl);t["eqInt"]=u;t["eqString"]=e})(PS);(function(n){"use strict";n["Data.Ordering"]=n["Data.Ordering"]||{};var t=n["Data.Ordering"];var r=function(){function n(){}n.value=new n;return n}();var a=function(){function n(){}n.value=new n;return n}();var e=function(){function n(){}n.value=new n;return n}();t["LT"]=r;t["GT"]=a;t["EQ"]=e})(PS);(function(n){"use strict";n["Data.Ord"]=n["Data.Ord"]||{};var t=n["Data.Ord"];var r=n["Data.Ord"];var a=n["Data.Eq"];var e=n["Data.Ordering"];var u=function(n,t){this.Eq0=n;this.compare=t};var i=new u(function(){return a.eqString},r.ordStringImpl(e.LT.value)(e.EQ.value)(e.GT.value));var o=new u(function(){return a.eqInt},r.ordIntImpl(e.LT.value)(e.EQ.value)(e.GT.value));var c=function(n){return n.compare};t["compare"]=c;t["ordInt"]=o;t["ordString"]=i})(PS);(function(n){"use strict";n["Data.Array"]=n["Data.Array"]||{};var t=n["Data.Array"];var r=n["Data.Array"];var a=n["Data.Maybe"];var e=n["Data.Ord"];var u=n["Data.Ordering"];var i=function(a){return function(n){var t=function(r){return function(n){var t=a(r)(n);if(t instanceof u.GT){return 1}if(t instanceof u.EQ){return 0}if(t instanceof u.LT){return-1|0}throw new Error("Failed pattern match at Data.Array (line 702, column 15 - line 705, column 13): "+[t.constructor.name])}};return r.sortImpl(t)(n)}};var o=function(t){return function(n){return i(e.compare(t))(n)}};var c=r.indexImpl(a.Just.create)(a.Nothing.value);var l=function(n){return c(n)(0)};t["head"]=l;t["sort"]=o;t["sortBy"]=i;t["range"]=r.range;t["length"]=r.length;t["filter"]=r.filter})(PS);(function(n){"use strict";n["Data.Boolean"]=n["Data.Boolean"]||{};var t=n["Data.Boolean"];var r=true;t["otherwise"]=r})(PS);(function(n){"use strict";n.foldrArray=function(u){return function(e){return function(n){var t=e;var r=n.length;for(var a=r-1;a>=0;a--){t=u(n[a])(t)}return t}}};n.foldlArray=function(u){return function(e){return function(n){var t=e;var r=n.length;for(var a=0;a<r;a++){t=u(t)(n[a])}return t}}}})(PS["Data.Foldable"]=PS["Data.Foldable"]||{});(function(n){"use strict";n["Data.Foldable"]=n["Data.Foldable"]||{};var t=n["Data.Foldable"];var r=n["Data.Foldable"];var a=n["Data.Functor"];var e=n["Data.Monoid"];var u=n["Data.Monoid.Disj"];var i=n["Data.Newtype"];var o=n["Data.Semigroup"];var c=function(n,t,r){this.foldMap=n;this.foldl=t;this.foldr=r};var l=function(n){return n.foldr};var v=function(n){return n.foldl};var f=function(n){return function(a){return function(r){return l(n)(function(t){return function(n){return o.append(a.Semigroup0())(r(t))(n)}})(e.mempty(a))}}};var s=new c(function(n){return f(s)(n)},r.foldlArray,r.foldrArray);var d=function(n){return n.foldMap};var p=function(t){return function(n){return i.alaF(a.functorFn)(a.functorFn)(i.newtypeDisj)(i.newtypeDisj)(u.Disj)(d(t)(u.monoidDisj(n)))}};t["foldl"]=v;t["any"]=p;t["foldableArray"]=s})(PS);(function(n){"use strict";n.fromNumberImpl=function(r){return function(t){return function(n){return(n|0)===n?r(n):t}}};n.toNumber=function(n){return n};n.pow=function(t){return function(n){return Math.pow(t,n)|0}}})(PS["Data.Int"]=PS["Data.Int"]||{});(function(n){"use strict";n["Data.Int"]=n["Data.Int"]||{};var t=n["Data.Int"];var r=n["Data.Int"];var a=n["Data.Maybe"];var e=r.fromNumberImpl(a.Just.create)(a.Nothing.value);t["fromNumber"]=e;t["toNumber"]=r.toNumber;t["pow"]=r.pow})(PS);(function(n){"use strict";n["Data.List.Types"]=n["Data.List.Types"]||{};var t=n["Data.List.Types"];var r=function(){function n(){}n.value=new n;return n}();var a=function(){function r(n,t){this.value0=n;this.value1=t}r.create=function(t){return function(n){return new r(t,n)}};return r}();t["Nil"]=r;t["Cons"]=a})(PS);(function(n){"use strict";n["Data.Map.Internal"]=n["Data.Map.Internal"]||{};var t=n["Data.Map.Internal"];var d=n["Data.List.Types"];var r=n["Data.Ord"];var p=n["Data.Ordering"];var m=function(){function n(){}n.value=new n;return n}();var h=function(){function e(n,t,r,a){this.value0=n;this.value1=t;this.value2=r;this.value3=a}e.create=function(a){return function(r){return function(t){return function(n){return new e(a,r,t,n)}}}};return e}();var y=function(){function o(n,t,r,a,e,u,i){this.value0=n;this.value1=t;this.value2=r;this.value3=a;this.value4=e;this.value5=u;this.value6=i}o.create=function(i){return function(u){return function(e){return function(a){return function(r){return function(t){return function(n){return new o(i,u,e,a,r,t,n)}}}}}}};return o}();var w=function(){function a(n,t,r){this.value0=n;this.value1=t;this.value2=r}a.create=function(r){return function(t){return function(n){return new a(r,t,n)}}};return a}();var S=function(){function a(n,t,r){this.value0=n;this.value1=t;this.value2=r}a.create=function(r){return function(t){return function(n){return new a(r,t,n)}}};return a}();var I=function(){function i(n,t,r,a,e,u){this.value0=n;this.value1=t;this.value2=r;this.value3=a;this.value4=e;this.value5=u}i.create=function(u){return function(e){return function(a){return function(r){return function(t){return function(n){return new i(u,e,a,r,t,n)}}}}}};return i}();var D=function(){function i(n,t,r,a,e,u){this.value0=n;this.value1=t;this.value2=r;this.value3=a;this.value4=e;this.value5=u}i.create=function(u){return function(e){return function(a){return function(r){return function(t){return function(n){return new i(u,e,a,r,t,n)}}}}}};return i}();var g=function(){function i(n,t,r,a,e,u){this.value0=n;this.value1=t;this.value2=r;this.value3=a;this.value4=e;this.value5=u}i.create=function(u){return function(e){return function(a){return function(r){return function(t){return function(n){return new i(u,e,a,r,t,n)}}}}}};return i}();var A=function(){function e(n,t,r,a){this.value0=n;this.value1=t;this.value2=r;this.value3=a}e.create=function(a){return function(r){return function(t){return function(n){return new e(a,r,t,n)}}}};return e}();var b=function(o){return function(r){return function(a){var e=o;var u=r;var i=false;var n;function t(n,t,r){if(t instanceof d.Nil){i=true;return r}if(t instanceof d.Cons){if(t.value0 instanceof w){e=n;u=t.value1;a=new h(r,t.value0.value0,t.value0.value1,t.value0.value2);return}if(t.value0 instanceof S){e=n;u=t.value1;a=new h(t.value0.value0,t.value0.value1,t.value0.value2,r);return}if(t.value0 instanceof I){e=n;u=t.value1;a=new y(r,t.value0.value0,t.value0.value1,t.value0.value2,t.value0.value3,t.value0.value4,t.value0.value5);return}if(t.value0 instanceof D){e=n;u=t.value1;a=new y(t.value0.value0,t.value0.value1,t.value0.value2,r,t.value0.value3,t.value0.value4,t.value0.value5);return}if(t.value0 instanceof g){e=n;u=t.value1;a=new y(t.value0.value0,t.value0.value1,t.value0.value2,t.value0.value3,t.value0.value4,t.value0.value5,r);return}throw new Error("Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): "+[t.value0.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): "+[t.constructor.name,r.constructor.name])}while(!i){n=t(e,u,a)}return n}}};var a=function(s){return function(f){return function(c){var l=function(u){return function(r){var a=u;var e=false;var n;function t(n,t){if(n instanceof d.Nil){e=true;return new h(t.value0,t.value1,t.value2,t.value3)}if(n instanceof d.Cons){if(n.value0 instanceof w){e=true;return b(s)(n.value1)(new y(t.value0,t.value1,t.value2,t.value3,n.value0.value0,n.value0.value1,n.value0.value2))}if(n.value0 instanceof S){e=true;return b(s)(n.value1)(new y(n.value0.value0,n.value0.value1,n.value0.value2,t.value0,t.value1,t.value2,t.value3))}if(n.value0 instanceof I){a=n.value1;r=new A(new h(t.value0,t.value1,t.value2,t.value3),n.value0.value0,n.value0.value1,new h(n.value0.value2,n.value0.value3,n.value0.value4,n.value0.value5));return}if(n.value0 instanceof D){a=n.value1;r=new A(new h(n.value0.value0,n.value0.value1,n.value0.value2,t.value0),t.value1,t.value2,new h(t.value3,n.value0.value3,n.value0.value4,n.value0.value5));return}if(n.value0 instanceof g){a=n.value1;r=new A(new h(n.value0.value0,n.value0.value1,n.value0.value2,n.value0.value3),n.value0.value4,n.value0.value5,new h(t.value0,t.value1,t.value2,t.value3));return}throw new Error("Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): "+[n.value0.constructor.name,t.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): "+[n.constructor.name,t.constructor.name])}while(!e){n=t(a,r)}return n}};var v=r.compare(s);var n=function(r){return function(u){var i=r;var o=false;var n;function t(n,t){if(t instanceof m){o=true;return l(n)(new A(m.value,f,c,m.value))}if(t instanceof h){var r=v(f)(t.value1);if(r instanceof p.EQ){o=true;return b(s)(n)(new h(t.value0,f,c,t.value3))}if(r instanceof p.LT){i=new d.Cons(new w(t.value1,t.value2,t.value3),n);u=t.value0;return}i=new d.Cons(new S(t.value0,t.value1,t.value2),n);u=t.value3;return}if(t instanceof y){var a=v(f)(t.value1);if(a instanceof p.EQ){o=true;return b(s)(n)(new y(t.value0,f,c,t.value3,t.value4,t.value5,t.value6))}var e=v(f)(t.value4);if(e instanceof p.EQ){o=true;return b(s)(n)(new y(t.value0,t.value1,t.value2,t.value3,f,c,t.value6))}if(a instanceof p.LT){i=new d.Cons(new I(t.value1,t.value2,t.value3,t.value4,t.value5,t.value6),n);u=t.value0;return}if(a instanceof p.GT&&e instanceof p.LT){i=new d.Cons(new D(t.value0,t.value1,t.value2,t.value4,t.value5,t.value6),n);u=t.value3;return}i=new d.Cons(new g(t.value0,t.value1,t.value2,t.value3,t.value4,t.value5),n);u=t.value6;return}throw new Error("Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): "+[n.constructor.name,t.constructor.name])}while(!o){n=t(i,u)}return n}};return n(d.Nil.value)}}};var e=m.value;t["empty"]=e;t["insert"]=a})(PS);(function(n){"use strict";n.showIntImpl=function(n){return n.toString()};n.showArrayImpl=function(e){return function(n){var t=[];for(var r=0,a=n.length;r<a;r++){t[r]=e(n[r])}return"["+t.join(",")+"]"}}})(PS["Data.Show"]=PS["Data.Show"]||{});(function(n){"use strict";n["Data.Show"]=n["Data.Show"]||{};var t=n["Data.Show"];var r=n["Data.Show"];var a=function(n){this.show=n};var e=new a(r.showIntImpl);var u=function(n){return n.show};var i=function(n){return new a(r.showArrayImpl(u(n)))};t["show"]=u;t["showInt"]=e;t["showArray"]=i})(PS);(function(n){"use strict";n.log=function(n){return function(){console.log(n);return{}}}})(PS["Effect.Console"]=PS["Effect.Console"]||{});(function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var t=n["Effect.Console"];var r=n["Effect.Console"];t["log"]=r.log})(PS);(function(n){"use strict";n.parseInitInput=function(){var n=[];var t=parseInt(readline());for(var r=0;r<t;r++){var a=readline().split(" ");var e=parseInt(a[0]);var u=parseInt(a[1]);var i=parseInt(a[2]);var o=parseInt(a[3]);n.push({id:e,x:u,y:i,radius:o})}return{numSites:t,sites:n}};n.parseInput=function(w){return function(){var n=readline().split(" ");var t=parseInt(n[0]);var r=parseInt(n[1]);var a=[];for(var e=0;e<w;e++){var n=readline().split(" ");var u=parseInt(n[0]);var i=parseInt(n[1]);var o=parseInt(n[2]);var c=parseInt(n[3]);var l=parseInt(n[4]);var v=parseInt(n[5]);var f=parseInt(n[6]);a.push({id:u,gold:i,maxMineSize:o,structureType:c,owner:l,param1:v,param2:f})}var s=parseInt(readline());var d=[];for(var e=0;e<s;e++){var n=readline().split(" ");var p=parseInt(n[0]);var m=parseInt(n[1]);var l=parseInt(n[2]);var h=parseInt(n[3]);var y=parseInt(n[4]);d.push({x:p,y:m,owner:l,unitType:h,health:y})}return{gold:t,touchedSite:r,sites:a,units:d}}}})(PS["GameInput"]=PS["GameInput"]||{});(function(n){"use strict";n["GameInput"]=n["GameInput"]||{};var t=n["GameInput"];var r=n["GameInput"];t["parseInitInput"]=r.parseInitInput;t["parseInput"]=r.parseInput})(PS);(function(n){"use strict";n["Graph"]=n["Graph"]||{};var t=n["Graph"];var a=n["Data.List.Types"];var e=n["Data.Map.Internal"];var u=function(n){return n};var r=e.empty;var i=function(r){return function(t){return function(n){return u(e.insert(r)(n)(a.Nil.value)(t))}}};t["empty"]=r;t["addNode"]=i})(PS);(function(n){"use strict";n.abs=Math.abs;n.floor=Math.floor;n.sqrt=Math.sqrt})(PS["Math"]=PS["Math"]||{});(function(n){"use strict";n["Math"]=n["Math"]||{};var t=n["Math"];var r=n["Math"];t["abs"]=r.abs;t["floor"]=r.floor;t["sqrt"]=r.sqrt})(PS);(function(n){"use strict";n["Lib"]=n["Lib"]||{};var t=n["Lib"];var e=n["Data.Int"];var r=n["Data.Maybe"];var a=n["Math"];var u=function(n){return r.fromJust()(e.fromNumber(a.floor(a.sqrt(e.toNumber(n)))))};var i=function(n){return r.fromJust()(e.fromNumber(a.abs(e.toNumber(n))))};var o=function(a){return function(n){var t=e.pow(i(n.y-a.y|0))(2);var r=e.pow(i(n.x-a.x|0))(2);return u(r+t|0)}};t["dist"]=o})(PS);(function(n){"use strict";n["Main"]=n["Main"]||{};var t=n["Main"];var f=n["Control.Applicative"];var s=n["Control.Bind"];var d=n["Control.Monad.State"];var c=n["Control.Monad.State.Class"];var v=n["Control.Monad.State.Trans"];var e=n["Control.MonadZero"];var p=n["Data.Array"];var a=n["Data.Boolean"];var l=n["Data.Foldable"];var m=n["Data.Functor"];var h=n["Data.HeytingAlgebra"];var y=n["Data.Identity"];var w=n["Data.Maybe"];var u=n["Data.Ord"];var S=n["Data.Show"];var I=n["Data.Tuple"];var i=n["Data.Unit"];var D=n["Effect.Console"];var g=n["GameInput"];var o=n["Graph"];var A=n["Lib"];var b=function(n){return{id:n.id,x:n.x,y:n.y,radius:n.radius}};var T=function(n){return w.fromJust()(p.head(p.filter(function(n){return n.unitType===(-1|0)&&n.owner===0})(n)))};var r=function(t){return function(n){return n.owner===t}};var M=function(n){return"MOVE "+(S.show(S.showInt)(n.x)+(" "+S.show(S.showInt)(n.y)))};var C=function(n){return n.structureType===1};var P=r(0);var F=p.filter(P);var E=function(n){return n.unitType===0};var B=function(n){return n.unitType===2};var N=r(1);var x=s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.units}))(function(n){return f.pure(v.applicativeStateT(y.monadIdentity))(p.head(p.filter(function(n){return N(n)})(n)))});var j=function(n){return n.unitType===1};var q=function(){var t=p.filter(P);var r=p.filter(C);return function(n){return t(r(n))}}();var J=function(){var a=function(t){return function(n){return t.param1+A.dist(t)(n)|0}};return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.sites}))(function(t){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.units}))(function(n){var r=T(n);return f.pure(v.applicativeStateT(y.monadIdentity))(p.sortBy(function(t){return function(n){return u.compare(u.ordInt)(a(t)(r))(a(n)(r))}})(q(t)))})})}();var L=function(n){return p.sortBy(function(t){return function(n){return u.compare(u.ordInt)(t.lvl)(n.lvl)}})(q(n))};var O=p.filter(function(n){return n.owner===0});var G=function(n){return p.filter(function(n){return n.param2===2})(O(n))};var U=function(n){return l.any(l.foldableArray)(h.heytingAlgebraBoolean)(function(n){return n.param2===1})(O(n))};var H=function(n){return l.any(l.foldableArray)(h.heytingAlgebraBoolean)(function(n){return n.param2===2})(O(n))};var k=function(n){return l.any(l.foldableArray)(h.heytingAlgebraBoolean)(function(n){return n.param2===0})(O(n))};var z=function(n){return p.filter(function(n){return n.param2===0})(O(n))};var Q=function(n){return p.filter(function(n){return n.structureType===0})(O(n))};var R=function(n){return p.filter(function(n){return n.lvl>=n.maxMineSize})(Q(n))};var Z=p.filter(function(n){return n.owner===(-1|0)});var K=function(){var t=p.filter(N);var r=p.filter(C);return function(n){return t(r(n))}}();var _=function(n){return w.fromJust()(p.head(p.filter(function(n){return n.unitType===(-1|0)&&n.owner===1})(n)))};var V=function(){var t=p.filter(N);var r=p.filter(E);return function(n){return t(r(n))}}();var W=function(n){if(n){return{x:0,y:0}}return{x:1920,y:1e3}};var X=function(r){return function(t){return function(n){return u.compare(u.ordInt)(A.dist(t)(r))(A.dist(n)(r))}}};var Y=function(t){return function(n){return p.sortBy(X(t))(Z(n))}};var $=function(t){return function(n){return p.sortBy(X(t))(n)}};var nn=function(t){return function(n){return p.filter(function(n){return(n.gold>20||n.gold===(-1|0))&&(n.lvl<3&&n.owner!==1)})($(t)(n))}};var tn=function(r){return function(n){var t=function(){if(n===0){return"KNIGHT"}if(n===1){return"ARCHER"}if(a.otherwise){return"GIANT"}throw new Error("Failed pattern match at Main (line 238, column 11 - line 240, column 34): "+[])}();return"BUILD "+(S.show(S.showInt)(r.id)+(" BARRACKS-"+t))}};var rn=function(n){return p.filter(function(n){return n.structureType===2})(n)};var an=s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.sites}))(function(t){return s.bind(v.bindStateT(y.monadIdentity))(x)(function(r){if(r instanceof w.Just){var n=w.fromJust()(p.head(p.sortBy(function(t){return function(n){return u.compare(u.ordInt)(A.dist(r.value0)(n))(A.dist(r.value0)(t))}})(O(t))));return f.pure(v.applicativeStateT(y.monadIdentity))(M(n))}if(r instanceof w.Nothing){return f.pure(v.applicativeStateT(y.monadIdentity))("MOVE 0 0")}throw new Error("Failed pattern match at Main (line 193, column 5 - line 198, column 37): "+[r.constructor.name])})});var en=function(){var e=function(t){return function(n){if(t===n.id){return{id:n.id,x:n.x,y:n.y,radius:n.radius,gold:n.gold,maxMineSize:n.maxMineSize,structureType:n.structureType,owner:n.owner,param1:n.param1,param2:n.param2,lvl:n.lvl+1|0}}if(a.otherwise){return n}throw new Error("Failed pattern match at Main (line 184, column 9 - line 184, column 42): "+[t.constructor.name,n.constructor.name])}};return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.units}))(function(r){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.sites}))(function(t){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.leftSide}))(function(n){var a=p.head(nn(T(r))(t));if(a instanceof w.Just){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.touchedSite}))(function(t){return s.discard(s.discardUnit)(v.bindStateT(y.monadIdentity))(function(){var n=t===(-1|0)||t!==a.value0.id;if(n){return f.pure(v.applicativeStateT(y.monadIdentity))(i.unit)}return c.modify_(v.monadStateStateT(y.monadIdentity))(function(n){var t={};for(var r in n){if({}.hasOwnProperty.call(n,r)){t[r]=n[r]}}t.sites=m.map(m.functorArray)(e(a.value0.id))(n.sites);return t})}())(function(){return f.pure(v.applicativeStateT(y.monadIdentity))("BUILD "+(S.show(S.showInt)(a.value0.id)+" MINE"))})})}if(a instanceof w.Nothing){return an}throw new Error("Failed pattern match at Main (line 175, column 5 - line 182, column 25): "+[a.constructor.name])})})})}();var un=function(){var e=function(t){return function(n){if(t===n.id){return{id:n.id,x:n.x,y:n.y,radius:n.radius,gold:n.gold,maxMineSize:n.maxMineSize,structureType:n.structureType,owner:n.owner,param1:n.param1,param2:n.param2,lvl:n.lvl+1|0}}if(a.otherwise){return n}throw new Error("Failed pattern match at Main (line 164, column 9 - line 164, column 38): "+[t.constructor.name,n.constructor.name])}};return s.bind(v.bindStateT(y.monadIdentity))(J)(function(n){var a=p.head(n);if(a instanceof w.Just){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.touchedSite}))(function(t){return s.discard(s.discardUnit)(v.bindStateT(y.monadIdentity))(function(){var n=t===(-1|0)||t!==a.value0.id;if(n){return f.pure(v.applicativeStateT(y.monadIdentity))(i.unit)}return c.modify_(v.monadStateStateT(y.monadIdentity))(function(n){var t={};for(var r in n){if({}.hasOwnProperty.call(n,r)){t[r]=n[r]}}t.sites=m.map(m.functorArray)(e(a.value0.id))(n.sites);return t})}())(function(){return f.pure(v.applicativeStateT(y.monadIdentity))("BUILD "+(S.show(S.showInt)(a.value0.id)+" TOWER"))})})}if(a instanceof w.Nothing){return an}throw new Error("Failed pattern match at Main (line 155, column 5 - line 162, column 25): "+[a.constructor.name])})}();var on=s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.sites}))(function(a){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.units}))(function(n){var t=p.head(Y(T(n))(a));if(t instanceof w.Just){var r=function(){var n=!k(a);if(n){return 0}return 2}();return f.pure(v.applicativeStateT(y.monadIdentity))(tn(t.value0)(r))}if(t instanceof w.Nothing){return un}throw new Error("Failed pattern match at Main (line 135, column 5 - line 141, column 33): "+[t.constructor.name])})});var cn=s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.leftSide}))(function(n){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.units}))(function(r){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.sites}))(function(n){var t=p.head(Y(T(r))(n));if(t instanceof w.Just){return f.pure(v.applicativeStateT(y.monadIdentity))("BUILD "+(S.show(S.showInt)(t.value0.id)+" TOWER"))}if(t instanceof w.Nothing){return un}throw new Error("Failed pattern match at Main (line 148, column 5 - line 150, column 33): "+[t.constructor.name])})})});var ln=function(){var l=function(n){var t=p.head(p.sort(u.ordInt)(m.map(m.functorArray)(function(n){return n.param2})(p.filter(C)(O(n)))));if(t instanceof w.Just){return t.value0}if(t instanceof w.Nothing){return 0}throw new Error("Failed pattern match at Main (line 127, column 31 - line 129, column 25): "+[t.constructor.name])};return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.sites}))(function(n){var t=p.length(O(n));var r=p.length(p.filter(h.not(h.heytingAlgebraFunction(h.heytingAlgebraBoolean))(C))(O(n)));var a=p.length(R(n));var e=a<4;if(e){return en}var u=r<5;if(u){return on}var i=t<8||l(n)<300;if(i){var o=t<8;if(o){return cn}return un}var c=r<6;if(c){return on}return un})}();var vn=function(n){return p.filter(function(n){return n.param2===1})(O(n))};var fn=function(){var i=function(t){return function(n){return t+(" "+S.show(S.showInt)(n.id))}};var n=function(n){var t=p.head(z(n));if(t instanceof w.Just){return[t.value0]}if(t instanceof w.Nothing){return[]}throw new Error("Failed pattern match at Main (line 226, column 31 - line 228, column 26): "+[t.constructor.name])};var o=function(n){var t=p.head(G(n));if(t instanceof w.Just){return[t.value0]}if(t instanceof w.Nothing){return z(n)}throw new Error("Failed pattern match at Main (line 232, column 30 - line 234, column 44): "+[t.constructor.name])};var t=function(n){var t=p.head(vn(n));if(t instanceof w.Just){return[t.value0]}if(t instanceof w.Nothing){return[]}throw new Error("Failed pattern match at Main (line 229, column 31 - line 231, column 26): "+[t.constructor.name])};return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.gold}))(function(u){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.sites}))(function(e){return s.bind(v.bindStateT(y.monadIdentity))(c.gets(v.monadStateStateT(y.monadIdentity))(function(n){return n.units}))(function(n){var t=p.filter(B)(F(n));var r=p.length(K(e))>2&&p.length(t)<3;var a=function(){var n=!r;if(n){return z(e)}var t=u>140;if(t){return o(e)}return[]}();return f.pure(v.applicativeStateT(y.monadIdentity))(l.foldl(l.foldableArray)(i)("TRAIN")(a))})})})}();var sn=s.bind(v.bindStateT(y.monadIdentity))(ln)(function(t){return s.bind(v.bindStateT(y.monadIdentity))(fn)(function(n){return f.pure(v.applicativeStateT(y.monadIdentity))(t+("\n"+n))})});var dn=function(v){return function(t){return function(l){return function(o){var c=function(n){return s.bind(s.bindArray)(n)(function(a){return s.bind(s.bindArray)(t)(function(r){return s.discard(s.discardUnit)(s.bindArray)(e.guard(e.monadZeroArray)(a.id===r.id))(function(){var t=function(){if(l instanceof w.Just){return p.head(p.filter(function(n){return n.id===r.id})(l.value0.sites))}if(l instanceof w.Nothing){return w.Nothing.value}throw new Error("Failed pattern match at Main (line 83, column 28 - line 85, column 39): "+[l.constructor.name])}();var n=function(){if(t instanceof w.Just){var n=a.owner!==0;if(n){return 0}return t.value0.lvl}if(t instanceof w.Nothing){return 0}throw new Error("Failed pattern match at Main (line 86, column 23 - line 90, column 33): "+[t.constructor.name])}();return f.pure(f.applicativeArray)({id:a.id,gold:a.gold,maxMineSize:a.maxMineSize,structureType:a.structureType,owner:a.owner,param1:a.param1,param2:a.param2,x:r.x,y:r.y,radius:r.radius,lvl:n})})})})};return function n(){var t=g.parseInput(v)();var r=function(){if(l instanceof w.Just){return l.value0.leftSide}if(l instanceof w.Nothing){return T(t.units).x<500}throw new Error("Failed pattern match at Main (line 57, column 21 - line 59, column 51): "+[l.constructor.name])}();var a={gold:t.gold,numSites:v,touchedSite:t.touchedSite,sites:c(t.sites),units:t.units,leftSide:r};var e=d.runState(sn)(a);var u=I.snd(e);var i=I.fst(e);D.log(i)();return dn(u.numSites)(m.map(m.functorArray)(b)(u.sites))(new w.Just(u))(o)()}}}}};var pn=function(){var n=s.bind(s.bindArray)(p.range(1)(4))(function(t){return s.bind(s.bindArray)(p.range(1)(4))(function(n){return f.pure(f.applicativeArray)([t,n])})});var t=m.map(m.functorArray)(function(n){return S.show(S.showArray(S.showInt))(n)})(n);var r=function(n){if(n.length===2){var t=S.show(S.showArray(S.showInt))([n[0],n[1]]);return[[t,S.show(S.showArray(S.showInt))([n[0]-1|0,n[1]])],[t,S.show(S.showArray(S.showInt))([n[0]+1|0,n[1]])],[t,S.show(S.showArray(S.showInt))([n[0],n[1]-1|0])],[t,S.show(S.showArray(S.showInt))([n[0],n[1]+1|0])]]}return[]};var a=l.foldl(l.foldableArray)(o.addNode(u.ordString))(o.empty)(t);return function n(){var t=g.parseInitInput();return dn(t.numSites)(t.sites)(w.Nothing.value)(o.empty)()}}();t["main"]=pn;t["nextRound"]=dn;t["loop"]=sn;t["buildAll"]=ln;t["buildBarracks"]=on;t["buildTowers"]=cn;t["refreshTowers"]=un;t["buildMines"]=en;t["avoid"]=an;t["nearestEnemy"]=x;t["trainAll"]=fn;t["build"]=tn;t["queen"]=T;t["enemyQueen"]=_;t["ownMinions"]=F;t["enemyKnights"]=V;t["freeSites"]=Z;t["friendlySites"]=O;t["friendlyMines"]=Q;t["maxLvlFriendlyMines"]=R;t["enemyTowers"]=K;t["friendlyTowers"]=q;t["friendlyTowersByLvl"]=L;t["friendlyTowersByAttraction"]=J;t["nearSites"]=$;t["nearFreeSites"]=Y;t["nearNonEmptyMines"]=nn;t["hasKnightsBarrack"]=k;t["hasArcherBarrack"]=U;t["hasGiantsBarrack"]=H;t["knightBarracks"]=z;t["archerBarracks"]=vn;t["giantBarracks"]=G;t["toSiteInfo"]=b;t["compareSiteDist"]=X;t["corner"]=W;t["isOwn"]=P;t["isEnemy"]=N;t["owner"]=r;t["isKnight"]=E;t["isArcher"]=j;t["isGiant"]=B;t["isTower"]=C;t["barracks"]=rn;t["moveToPos"]=M})(PS);PS["Main"].main();