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(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"],a=function(n,t){this.Semigroupoid0=n,this.identity=t},o=new a(function(){return r.semigroupoidFn},function(n){return n});t.Category=a,t.identity=function(n){return n.identity},t.categoryFn=o}(n["Control.Category"]=n["Control.Category"]||{}),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"],a=(n["Data.Symbol"],n["Record.Unsafe"],n["Type.Data.RowList"],function(n){this.show=n}),o=new a(r.showIntImpl);t.Show=a,t.show=function(n){return n.show},t.showInt=o}(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"],a=(n["Data.Symbol"],n["Data.Unit"],n["Record.Unsafe"],n["Type.Data.Row"],n["Type.Data.RowList"],function(n,t,r,a){this.add=n,this.mul=t,this.one=r,this.zero=a}),o=new a(r.intAdd,r.intMul,1,0);t.Semiring=a,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=o}(n["Data.Semiring"]=n["Data.Semiring"]||{}),function(t){"use strict";var r=n["Data.Ring"],a=n["Data.Semiring"],o=(n["Data.Symbol"],n["Data.Unit"],n["Record.Unsafe"],n["Type.Data.RowList"],function(n,t){this.Semiring0=n,this.sub=t}),e=new o(function(){return a.semiringInt},r.intSub);t.Ring=o,t.sub=function(n){return n.sub},t.ringInt=e}(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,a=new Array(r),o=0;o<r;o++)a[o]=n(t[o]);return a}}}(),function(t){"use strict";var r=n["Data.Functor"],a=n["Control.Semigroupoid"],o=n["Data.Function"],e=n["Data.Unit"],i=function(n){this.map=n},u=function(n){return n.map},c=new i(a.compose(a.semigroupoidFn)),f=new i(r.arrayMap);t.Functor=i,t.map=u,t.void=function(n){return u(n)(o.const(e.unit))},t.functorFn=c,t.functorArray=f}(n["Data.Functor"]=n["Data.Functor"]||{}),function(t){"use strict";n["Control.Apply"],n["Control.Category"],n["Data.Function"],n["Data.Functor"];t.Apply=function(n,t){this.Functor0=n,this.apply=t},t.apply=function(n){return n.apply}}(n["Control.Apply"]=n["Control.Apply"]||{}),function(t){"use strict";n["Control.Apply"],n["Data.Functor"],n["Data.Unit"];t.Applicative=function(n,t){this.Apply0=n,this.pure=t},t.pure=function(n){return n.pure}}(n["Control.Applicative"]=n["Control.Applicative"]||{}),function(t){"use strict";n["Control.Bind"],n["Control.Applicative"],n["Control.Apply"],n["Control.Category"],n["Data.Function"],n["Data.Functor"],n["Data.Unit"];t.Bind=function(n,t){this.Apply0=n,this.bind=t},t.bind=function(n){return n.bind}}(n["Control.Bind"]=n["Control.Bind"]||{}),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.foreach=function(n){return function(t){return function(){for(var r=0,a=n.length;r<a;r++)t(n[r])()}}},n.new=function(n){return function(){return{value:n}}},n.read=function(n){return function(){return n.value}},n["modify'"]=function(n){return function(t){return function(){var r=n(t.value);return t.value=r.state,r.value}}}}(n["Control.Monad.ST.Internal"]=n["Control.Monad.ST.Internal"]||{}),function(t){"use strict";var r=n["Control.Applicative"],a=(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(o){return a.bind(n.Bind1())(t)(function(t){return a.bind(n.Bind1())(o)(function(a){return r.pure(n.Applicative0())(t(a))})})}}}}(n["Control.Monad"]=n["Control.Monad"]||{}),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"],a=n.Partial;t.unsafeCrashWith=function(n){return r.unsafePartial(function(t){return a.crashWith(t)(n)})}}(n["Partial.Unsafe"]=n["Partial.Unsafe"]||{}),function(t){"use strict";var r=n["Control.Monad.ST.Internal"],a=n["Control.Applicative"],o=n["Control.Apply"],e=n["Control.Bind"],i=n["Control.Monad"],u=(n["Control.Monad.Rec.Class"],n["Data.Functor"]),c=(n["Data.Unit"],n["Partial.Unsafe"],n.Prelude,new u.Functor(r.map_)),f=new i.Monad(function(){return D},function(){return l}),l=new e.Bind(function(){return s},r.bind_),s=new o.Apply(function(){return c},i.ap(f)),D=new a.Applicative(function(){return s},r.pure_);t.modify=function(n){return r["modify'"](function(t){var r=n(t);return{state:r,value:r}})},t.functorST=c,t.applyST=s,t.applicativeST=D,t.bindST=l,t.monadST=f,t.foreach=r.foreach,t.new=r.new,t.read=r.read}(n["Control.Monad.ST.Internal"]=n["Control.Monad.ST.Internal"]||{}),function(n){"use strict";n.replicate="function"==typeof Array.prototype.fill?function(n){return function(t){return n<1?[]:new Array(n).fill(t)}}:function(n){return function(t){for(var r=[],a=0,o=0;o<n;o++)r[a++]=t;return r}},n.unsafeIndexImpl=function(n){return function(t){return n[t]}}}(n["Data.Array"]=n["Data.Array"]||{}),function(n){"use strict";n.peekImpl=function(n){return function(t){return function(r){return function(a){return function(){return r>=0&&r<a.length?n(a[r]):t}}}}},n.poke=function(n){return function(t){return function(r){return function(){var a=n>=0&&n<r.length;return a&&(r[n]=t),a}}}}}(n["Data.Array.ST"]=n["Data.Array.ST"]||{}),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"],a=(n["Data.Semiring"],n["Data.Symbol"],n["Data.Unit"],function(n){this.Ring0=n}),o=new a(function(){return r.ringInt});t.CommutativeRing=a,t.commutativeRingInt=o}(n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{}),function(n){"use strict";n.boolConj=function(n){return function(t){return n&&t}},n.boolDisj=function(n){return function(t){return n||t}},n.boolNot=function(n){return!n}}(n["Data.HeytingAlgebra"]=n["Data.HeytingAlgebra"]||{}),function(t){"use strict";var r=n["Data.HeytingAlgebra"],a=(n["Data.Symbol"],n["Data.Unit"],n["Record.Unsafe"],n["Type.Data.Row"],n["Type.Data.RowList"],function(n,t,r,a,o,e){this.conj=n,this.disj=t,this.ff=r,this.implies=a,this.not=o,this.tt=e}),o=function(n){return n.not},e=function(n){return n.disj},i=new a(r.boolConj,r.boolDisj,!1,function(n){return function(t){return e(i)(o(i)(n))(t)}},r.boolNot,!0);t.HeytingAlgebra=a,t.tt=function(n){return n.tt},t.ff=function(n){return n.ff},t.implies=function(n){return n.implies},t.conj=function(n){return n.conj},t.disj=e,t.not=o,t.heytingAlgebraBoolean=i}(n["Data.HeytingAlgebra"]=n["Data.HeytingAlgebra"]||{}),function(t){"use strict";var r=n["Data.EuclideanRing"],a=(n["Data.BooleanAlgebra"],n["Data.CommutativeRing"]),o=(n["Data.Eq"],n["Data.HeytingAlgebra"],n["Data.Ring"],n["Data.Semiring"],function(n,t,r,a){this.CommutativeRing0=n,this.degree=t,this.div=r,this.mod=a}),e=new o(function(){return a.commutativeRingInt},r.intDegree,r.intDiv,r.intMod);t.EuclideanRing=o,t.degree=function(n){return n.degree},t.div=function(n){return n.div},t.mod=function(n){return n.mod},t.euclideanRingInt=e}(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"];var r=n["Control.Category"],a=(n["Control.Extend"],n["Control.Monad"],n["Control.MonadZero"],n["Control.Plus"],n["Data.Bounded"],n["Data.Eq"],n["Data.Function"]),o=(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,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}(),i=function(n){return function(t){return function(r){if(r instanceof o)return n;if(r instanceof e)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])}}},u=i(!0)(a.const(!1));t.Nothing=o,t.Just=e,t.maybe=i,t.fromMaybe=function(n){return i(n)(r.identity(r.categoryFn))},t.isNothing=u}(n["Data.Maybe"]=n["Data.Maybe"]||{}),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.ST"],a=n["Control.Applicative"],o=(n["Control.Bind"],n["Control.Monad.ST"],n["Control.Monad.ST.Internal"]),e=(n["Control.Semigroupoid"],n["Data.Maybe"]),i=(n["Data.Ord"],n["Data.Ordering"],n["Data.Ring"],n.Prelude,n["Unsafe.Coerce"],r.peekImpl(e.Just.create)(e.Nothing.value));t.peek=i,t.unsafeThaw=function(n){return a.pure(o.applicativeST)(n)},t.poke=r.poke}(n["Data.Array.ST"]=n["Data.Array.ST"]||{}),function(n){"use strict";n.foldrArray=function(n){return function(t){return function(r){for(var a=t,o=r.length-1;o>=0;o--)a=n(r[o])(a);return a}}},n.foldlArray=function(n){return function(t){return function(r){for(var a=t,o=r.length,e=0;e<o;e++)a=n(a)(r[e]);return a}}}}(n["Data.Foldable"]=n["Data.Foldable"]||{}),function(t){"use strict";n["Control.Applicative"],n["Control.Apply"],n["Control.Bind"],n["Control.Monad"],n["Data.Bounded"],n["Data.Eq"],n["Data.Functor"];var r=n["Data.HeytingAlgebra"],a=n["Data.Monoid"],o=(n["Data.Ord"],n["Data.Semigroup"]),e=(n["Data.Semiring"],n["Data.Show"],n.Prelude,function(n){return new o.Semigroup(function(t){return function(a){return r.conj(n)(t)(a)}})});t.Conj=function(n){return n},t.semigroupConj=e,t.monoidConj=function(n){return new a.Monoid(function(){return e(n)},r.tt(n))}}(n["Data.Monoid.Conj"]=n["Data.Monoid.Conj"]||{}),function(t){"use strict";n["Control.Semigroupoid"],n["Data.Function"];var r=n["Data.Functor"],a=(n["Data.Monoid.Additive"],n["Data.Monoid.Conj"]),o=(n["Data.Monoid.Disj"],n["Data.Monoid.Dual"],n["Data.Monoid.Endo"],n["Data.Monoid.Multiplicative"],n["Data.Semigroup.First"],n["Data.Semigroup.Last"],n.Prelude,function(n,t){this.unwrap=n,this.wrap=t}),e=function(n){return n.wrap},i=function(n){return n.unwrap},u=new o(function(n){return n},a.Conj);t.unwrap=i,t.wrap=e,t.Newtype=o,t.alaF=function(n){return function(t){return function(a){return function(o){return function(u){return function(u){return function(c){return r.map(t)(i(o))(u(r.map(n)(e(a))(c)))}}}}}}},t.newtypeConj=u}(n["Data.Newtype"]=n["Data.Newtype"]||{}),function(t){"use strict";var r=n["Data.Foldable"],a=(n["Control.Alt"],n["Control.Applicative"],n["Control.Apply"],n["Control.Bind"],n["Control.Category"],n["Control.Plus"],n["Control.Semigroupoid"],n["Data.Eq"],n["Data.Function"],n["Data.Functor"]),o=(n["Data.HeytingAlgebra"],n["Data.Maybe"],n["Data.Maybe.First"],n["Data.Maybe.Last"],n["Data.Monoid"]),e=(n["Data.Monoid.Additive"],n["Data.Monoid.Conj"]),i=(n["Data.Monoid.Disj"],n["Data.Monoid.Dual"],n["Data.Monoid.Endo"],n["Data.Monoid.Multiplicative"],n["Data.Newtype"]),u=(n["Data.Ord"],n["Data.Ordering"],n["Data.Semigroup"]),c=(n["Data.Semiring"],n["Data.Unit"],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(a){return u.append(t.Semigroup0())(r(n))(a)}})(o.mempty(t))}}},s=new c(function(n){return l(s)(n)},r.foldlArray,r.foldrArray),D=function(n){return n.foldMap};t.Foldable=c,t.foldr=f,t.foldl=function(n){return n.foldl},t.foldMap=D,t.foldMapDefaultR=l,t.all=function(n){return function(t){return i.alaF(a.functorFn)(a.functorFn)(i.newtypeConj)(i.newtypeConj)(e.Conj)(D(n)(e.monoidConj(t)))}},t.foldableArray=s}(n["Data.Foldable"]=n["Data.Foldable"]||{}),function(t){"use strict";var r=n["Data.Array"];n["Control.Alt"],n["Control.Alternative"],n["Control.Applicative"],n["Control.Apply"],n["Control.Bind"],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"],n["Data.Functor"],n["Data.HeytingAlgebra"],n["Data.Maybe"],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"];t.unsafeIndex=function(n){return r.unsafeIndexImpl},t.replicate=r.replicate}(n["Data.Array"]=n["Data.Array"]||{}),function(t){"use strict";n["Control.Alt"];var r=n["Control.Applicative"],a=n["Control.Apply"],o=n["Control.Bind"],e=(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"]),u=(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}()),c=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),f=new e.Functor(function(n){return function(t){if(t instanceof u)return new u(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 u)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 a.Apply(function(){return f},function(n){return function(t){if(n instanceof u)return new u(n.value0);if(n instanceof c)return e.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])}}),D=new o.Bind(function(){return s},l(function(n){return function(t){return new u(n)}})(function(n){return function(t){return t(n)}})),d=new r.Applicative(function(){return s},c.create);t.Left=u,t.Right=c,t.either=l,t.note=function(n){return i.maybe(new u(n))(c.create)},t.functorEither=f,t.applyEither=s,t.applicativeEither=d,t.bindEither=D}(n["Data.Either"]=n["Data.Either"]||{}),function(t){"use strict";(n["Data.Int"]=n["Data.Int"]||{}).fromStringAsImpl=function(n){return function(t){return function(r){var a;a=r<11?"[0-"+(r-1).toString()+"]":11===r?"[0-9a]":"[0-9a-"+String.fromCharCode(86+r)+"]";var o=new RegExp("^[\\+\\-]?"+a+"+$","i");return function(a){if(o.test(a)){var e=parseInt(a,r);return(0|e)===e?n(e):t}return t}}}}}(),function(t){"use strict";var r=n["Data.Int"],a=(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"]),o=(n["Data.Ord"],n["Data.Ordering"],n["Data.Ring"],n["Data.Semiring"],n["Data.Show"],n.Global,n.Math,n.Prelude,r.fromStringAsImpl(a.Just.create)(a.Nothing.value)),e=o(10);t.fromString=e,t.fromStringAs=o}(n["Data.Int"]=n["Data.Int"]||{}),function(n){"use strict";n.fromCharArray=function(n){return n.join("")},n.toCharArray=function(n){return n.split("")},n._indexOf=function(n){return function(t){return function(r){return function(a){var o=a.indexOf(r);return-1===o?t:n(o)}}}},n.drop=function(n){return function(t){return t.substring(n)}}}(n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{}),function(t){"use strict";var r=n["Data.String.CodeUnits"],a=(n["Control.Semigroupoid"],n["Data.Boolean"],n["Data.Eq"],n["Data.Function"],n["Data.HeytingAlgebra"],n["Data.Maybe"]),o=(n["Data.Ord"],n["Data.Ring"],n["Data.Semiring"],n["Data.String.Pattern"],n["Data.String.Unsafe"],n.Prelude,r._indexOf(a.Just.create)(a.Nothing.value));t.indexOf=o,t.fromCharArray=r.fromCharArray,t.toCharArray=r.toCharArray,t.drop=r.drop}(n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{}),function(t){"use strict";(n["Data.String.Common"]=n["Data.String.Common"]||{}).trim=function(n){return n.trim()}}(),function(t){"use strict";var r=n["Data.String.Common"];n["Data.Eq"],n["Data.Ordering"],n["Data.String.Pattern"],n.Prelude;t.trim=r.trim}(n["Data.String.Common"]=n["Data.String.Common"]||{}),function(n){"use strict";n._copyST=function(n){return function(){var t={};for(var r in n)hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t}},n.empty={},n.runST=function(n){return n()},n._lookup=function(n,t,r,a){return r in a?t(a[r]):n}}(n["Foreign.Object"]=n["Foreign.Object"]||{}),function(t){"use strict";(n["Data.Function.Uncurried"]=n["Data.Function.Uncurried"]||{}).runFn4=function(n){return function(t){return function(r){return function(a){return function(o){return n(t,r,a,o)}}}}}}(),function(t){"use strict";var r=n["Data.Function.Uncurried"];n["Data.Unit"];t.runFn4=r.runFn4}(n["Data.Function.Uncurried"]=n["Data.Function.Uncurried"]||{}),function(t){"use strict";(n["Foreign.Object.ST"]=n["Foreign.Object.ST"]||{}).poke=function(n){return function(t){return function(r){return function(){return r[n]=t,r}}}}}(),function(t){"use strict";var r=n["Foreign.Object.ST"];n["Control.Monad.ST"],n["Data.Maybe"];t.poke=r.poke}(n["Foreign.Object.ST"]=n["Foreign.Object.ST"]||{}),function(t){"use strict";var r=n["Foreign.Object"],a=(n["Control.Applicative"],n["Control.Apply"],n["Control.Bind"],n["Control.Category"],n["Control.Monad.ST"],n["Control.Monad.ST.Internal"],n["Control.Semigroupoid"],n["Data.Array"],n["Data.Eq"],n["Data.Foldable"],n["Data.FoldableWithIndex"],n["Data.Function"],n["Data.Function.Uncurried"]),o=(n["Data.Functor"],n["Data.FunctorWithIndex"],n["Data.HeytingAlgebra"],n["Data.Maybe"]),e=(n["Data.Monoid"],n["Data.Ord"],n["Data.Semigroup"],n["Data.Show"],n["Data.Traversable"],n["Data.TraversableWithIndex"],n["Data.Tuple"],n["Data.Unfoldable"],n["Foreign.Object.ST"]),i=(n.Prelude,n["Type.Row.Homogeneous"],n["Unsafe.Coerce"],r._copyST),u=a.runFn4(r._lookup)(o.Nothing.value)(o.Just.create);t.insert=function(n){return function(t){return a=e.poke(n)(t),function(n){return r.runST(function(){var t=i(n)();return a(t)(),t})};var a}},t.lookup=u,t.thawST=i,t.empty=r.empty}(n["Foreign.Object"]=n["Foreign.Object"]||{}),function(t){"use strict";var r=n["Control.Applicative"],a=n["Control.Bind"],o=(n["Control.Monad.ST"],n["Control.Monad.ST.Internal"]),e=(n["Control.Monad.ST.Ref"],n["Control.Semigroupoid"],n["Data.Array"]),i=n["Data.Array.ST"],u=n["Data.Either"],c=(n["Data.Eq"],n["Data.EuclideanRing"]),f=n["Data.Foldable"],l=n["Data.Function"],s=n["Data.Functor"],D=n["Data.HeytingAlgebra"],d=n["Data.Int"],p=n["Data.Maybe"],g=(n["Data.Semigroup"],n["Data.Semiring"],n["Data.Show"]),m=(n["Data.String"],n["Data.String.CodeUnits"]),C=n["Data.String.Common"],S=(n["Data.String.Pattern"],n["Data.Unit"]),y=n["Foreign.Object"],h=n["Partial.Unsafe"],v=(n.Prelude,function(n){var t,a=function(t){return function(u){return function(d){return function(){var g=i.peek(u)(t)(),C=p.fromMaybe(y.empty)(g),h=y.lookup(d)(C);if(h instanceof p.Just)return h.value0;if(h instanceof p.Nothing){if(u===n)return 1;var v=o.new(0)();o.foreach(["A","C","G","T"])(function(n){var i,g,C,y,h=d+n;return(i=h,g=m.toCharArray(i),C=e.unsafeIndex()(g),y=s.map(s.functorArray)(function(n){return m.fromCharArray(s.map(s.functorArray)(C)(n))})([[0,1,2,3],[1,0,2,3],[0,2,1,3],[0,1,3,2]]),f.all(f.foldableArray)(D.heytingAlgebraBoolean)(function(n){return p.isNothing(m.indexOf("AGC")(n))})(y))?function(){var n=a(t)(u+1|0)(m.drop(1)(h))();return s.void(o.functorST)(o.modify(function(t){return l.flip(c.mod(c.euclideanRingInt))(1000000007)(n+t|0)})(v))()}:r.pure(o.applicativeST)(S.unit)})();var F=o.read(v)();return s.void(o.functorST)(i.poke(u)(y.insert(d)(F)(C))(t))(),F}throw new Error("Failed pattern match at AtCoder.ABC122.D (line 44, column 7 - line 60, column 22): "+[h.constructor.name])}}}};return t=i.unsafeThaw(e.replicate(n)(y.empty))(),a(t)(0)("TTT")()});t.solve=function(n){var t=function(n){return a.bind(u.bindEither)(u.note("N")(d.fromString(C.trim(n))))(function(n){return r.pure(u.applicativeEither)(g.show(g.showInt)(v(n)))})}(n);if(t instanceof u.Left)return h.unsafeCrashWith(t.value0);if(t instanceof u.Right)return t.value0;throw new Error("Failed pattern match at AtCoder.ABC122.D (line 26, column 3 - line 28, column 17): "+[t.constructor.name])}}(n["AtCoder.ABC122.D"]=n["AtCoder.ABC122.D"]||{}),function(t){"use strict";(n["Effect.Console"]=n["Effect.Console"]||{}).log=function(n){return function(){return console.log(n),{}}}}(),function(t){"use strict";var r=n["Effect.Console"];n["Data.Show"],n["Data.Unit"],n.Effect;t.log=r.log}(n["Effect.Console"]=n["Effect.Console"]||{}),function(t){"use strict";n["Node.Encoding"];var r=n["Data.Show"],a=(n.Prelude,function(){function n(){}return n.value=new n,n}()),o=function(){function n(){}return n.value=new n,n}(),e=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 a)return"ASCII";if(n instanceof o)return"UTF8";if(n instanceof e)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=a,t.UTF8=o,t.UTF16LE=e,t.UCS2=i,t.Base64=u,t.Latin1=c,t.Binary=f,t.Hex=l,t.showEncoding=s}(n["Node.Encoding"]=n["Node.Encoding"]||{}),function(t){"use strict";(n["Node.FS.Internal"]=n["Node.FS.Internal"]||{}).unsafeRequireFS=require("fs")}(),function(t){"use strict";var r=n["Node.FS.Internal"],a=(n.Effect,n.Prelude,n["Unsafe.Coerce"].unsafeCoerce);t.mkEffect=a,t.unsafeRequireFS=r.unsafeRequireFS}(n["Node.FS.Internal"]=n["Node.FS.Internal"]||{}),function(t){"use strict";n["Control.Bind"],n["Control.Semigroupoid"],n["Data.DateTime"],n["Data.DateTime.Instant"],n["Data.EuclideanRing"],n["Data.Function"],n["Data.Function.Uncurried"],n["Data.Functor"],n["Data.Int"],n["Data.Maybe"],n["Data.Nullable"];var r=n["Data.Show"],a=(n["Data.Time.Duration"],n.Effect,n["Node.Buffer"],n["Node.Encoding"]),o=(n["Node.FS"],n["Node.FS.Internal"]),e=(n["Node.FS.Perms"],n["Node.FS.Stats"],n["Node.Path"],n.Prelude,o.unsafeRequireFS);t.readTextFile=function(n){return function(t){return o.mkEffect(function(o){return e.readFileSync(t,{encoding:r.show(a.showEncoding)(n)})})}}}(n["Node.FS.Sync"]=n["Node.FS.Sync"]||{}),function(t){"use strict";var r=n["AtCoder.ABC122.D"],a=(n["Control.Applicative"],n["Control.Bind"],n.Effect,n["Effect.Console"]),o=n["Node.Encoding"],e=n["Node.FS.Sync"];n.Prelude;t.main=function(){var n=e.readTextFile(o.UTF8.value)("/dev/stdin")(),t=r.solve(n);return a.log(t)()}}(n.Main=n.Main||{}),n.Main.main();
},{}]},{},["Focm"], null)