Problem:
Score : 200 points

Problem Statement

You are given a string S. Each character of S is uppercase or lowercase English letter.
Determine if S satisfies all of the following conditions:

The initial character of S is an uppercase A.

There is exactly one occurrence of C between the third character from the beginning and the second to last character (inclusive).

All letters except the A and C mentioned above are lowercase.

Constraints

4 ≤ |S| ≤ 10 (|S| is the length of the string S.)

Each character of S is uppercase or lowercase English letter.

Input

Input is given from Standard Input in the following format:

S

Output

If S satisfies all of the conditions in the problem statement, print AC; otherwise, print WA.

Sample Input 1

AtCoder

Sample Output 1

AC

The first letter is A, the third letter is C and the remaining letters are all lowercase, so all the conditions are satisfied.

Sample Input 2

ACoder

Sample Output 2

WA

The second letter should not be C.

Sample Input 3

AcycliC

Sample Output 3

WA

The last letter should not be C, either.

Sample Input 4

AtCoCo

Sample Output 4

WA

There should not be two or more occurrences of C.

Sample Input 5

Atcoder

Sample Output 5

WA

The number of C should not be zero, either.

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

parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"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"],e=function(n,t){this.Semigroupoid0=n,this.identity=t},o=new e(function(){return r.semigroupoidFn},function(n){return n});t.Category=e,t.identity=function(n){return n.identity},t.categoryFn=o}(n["Control.Category"]=n["Control.Category"]||{}),function(t){"use strict";(n["Data.Boolean"]=n["Data.Boolean"]||{}).otherwise=!0}(),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.Unit"]=n["Data.Unit"]||{}).unit={}}(),function(t){"use strict";n["Data.Show"],n["Data.Symbol"],n["Record.Unsafe"],n["Type.Data.RowList"];t.Show=function(n){this.show=n},t.show=function(n){return n.show}}(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";n["Data.Functor"];var r=n["Control.Semigroupoid"],e=n["Data.Function"],o=n["Data.Unit"],a=function(n){this.map=n},i=function(n){return n.map},u=new a(r.compose(r.semigroupoidFn));t.Functor=a,t.map=i,t.void=function(n){return i(n)(e.const(o.unit))},t.functorFn=u}(n["Data.Functor"]=n["Data.Functor"]||{}),function(t){"use strict";n["Control.Apply"];var r=n["Control.Category"],e=n["Data.Function"],o=n["Data.Functor"],a=function(n){return n.apply};t.Apply=function(n,t){this.Functor0=n,this.apply=t},t.apply=a,t.applySecond=function(n){return function(t){return function(i){return a(n)(o.map(n.Functor0())(e.const(r.identity(r.categoryFn)))(t))(i)}}}}(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(o){return r.apply(n.Apply0())(e(n)(t))(o)}}}}(n["Control.Applicative"]=n["Control.Applicative"]||{}),function(t){"use strict";n["Control.Bind"],n["Control.Applicative"],n["Control.Apply"],n["Control.Category"];var r=n["Data.Function"],e=(n["Data.Functor"],n["Data.Unit"],function(n){return n.bind}),o=function(n){return r.flip(e(n))};t.Bind=function(n,t){this.Apply0=n,this.bind=t},t.bind=e,t.bindFlipped=o,t.composeKleisliFlipped=function(n){return function(t){return function(r){return function(e){return o(n)(t)(r(e))}}}}}(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),o=n,a=0;o!==t;)e[a++]=o,o+=r;return e[a]=o,e}},n.length=function(n){return n.length},n.findIndexImpl=function(n){return function(t){return function(r){return function(e){for(var o=0,a=e.length;o<a;o++)if(r(e[o]))return n(o);return t}}}},n.zipWith=function(n){return function(t){return function(r){for(var e=t.length<r.length?t.length:r.length,o=new Array(e),a=0;a<e;a++)o[a]=n(t[a])(r[a]);return o}}}}(n["Data.Array"]=n["Data.Array"]||{}),function(t){"use strict";(n["Data.Eq"]=n["Data.Eq"]||{}).refEq=function(n){return function(t){return n===t}}}(),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"],e=(n["Data.Symbol"],n["Data.Unit"],n["Record.Unsafe"],n["Type.Data.Row"],n["Type.Data.RowList"],function(n,t,r,e,o,a){this.conj=n,this.disj=t,this.ff=r,this.implies=e,this.not=o,this.tt=a}),o=function(n){return n.not},a=function(n){return n.disj},i=new e(r.boolConj,r.boolDisj,!1,function(n){return function(t){return a(i)(o(i)(n))(t)}},r.boolNot,!0);t.HeytingAlgebra=e,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=a,t.not=o,t.heytingAlgebraBoolean=i}(n["Data.HeytingAlgebra"]=n["Data.HeytingAlgebra"]||{}),function(t){"use strict";var r=n["Data.Eq"],e=(n["Data.HeytingAlgebra"],n["Data.Symbol"],n["Data.Unit"],n["Data.Void"],n["Record.Unsafe"],n["Type.Data.RowList"],function(n){this.eq=n}),o=new e(r.refEq),a=new e(r.refEq),i=function(n){return n.eq};t.Eq=e,t.eq=i,t.notEq=function(n){return function(t){return function(r){return i(a)(i(n)(t)(r))(!1)}}},t.eqBoolean=a,t.eqChar=o}(n["Data.Eq"]=n["Data.Eq"]||{}),function(n){"use strict";n.foldrArray=function(n){return function(t){return function(r){for(var e=t,o=r.length-1;o>=0;o--)e=n(r[o])(e);return e}}},n.foldlArray=function(n){return function(t){return function(r){for(var e=t,o=r.length,a=0;a<o;a++)e=n(e)(r[a]);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(o){return e.bind(n.Bind1())(t)(function(t){return e.bind(n.Bind1())(o)(function(e){return r.pure(n.Applicative0())(t(e))})})}}}}(n["Control.Monad"]=n["Control.Monad"]||{}),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"];var r=n["Data.Eq"],e=(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,function(){function n(){}return n.value=new n,n}()),o=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}();t.Nothing=e,t.Just=o,t.fromJust=function(n){return function(n){if(n instanceof o)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},t.eqMaybe=function(n){return new r.Eq(function(t){return function(a){return t instanceof e&&a instanceof e||t instanceof o&&a instanceof o&&r.eq(n)(t.value0)(a.value0)}})}}(n["Data.Maybe"]=n["Data.Maybe"]||{}),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"],e=n["Data.Monoid"],o=(n["Data.Ord"],n["Data.Semigroup"]),a=(n["Data.Semiring"],n["Data.Show"],n.Prelude,function(n){return new o.Semigroup(function(t){return function(e){return r.conj(n)(t)(e)}})});t.Conj=function(n){return n},t.semigroupConj=a,t.monoidConj=function(n){return new e.Monoid(function(){return a(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"],e=(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}),a=function(n){return n.wrap},i=function(n){return n.unwrap},u=new o(function(n){return n},e.Conj);t.unwrap=i,t.wrap=a,t.Newtype=o,t.alaF=function(n){return function(t){return function(e){return function(o){return function(u){return function(u){return function(c){return r.map(t)(i(o))(u(r.map(n)(a(e))(c)))}}}}}}},t.newtypeConj=u}(n["Data.Newtype"]=n["Data.Newtype"]||{}),function(t){"use strict";var r=n["Data.Foldable"],e=(n["Control.Alt"],n["Control.Applicative"]),o=n["Control.Apply"],a=(n["Control.Bind"],n["Control.Category"],n["Control.Plus"],n["Control.Semigroupoid"],n["Data.Eq"],n["Data.Function"],n["Data.Functor"]),i=(n["Data.HeytingAlgebra"],n["Data.Maybe"],n["Data.Maybe.First"],n["Data.Maybe.Last"],n["Data.Monoid"]),u=(n["Data.Monoid.Additive"],n["Data.Monoid.Conj"]),c=(n["Data.Monoid.Disj"],n["Data.Monoid.Dual"],n["Data.Monoid.Endo"],n["Data.Monoid.Multiplicative"],n["Data.Newtype"]),f=(n["Data.Ord"],n["Data.Ordering"],n["Data.Semigroup"]),l=(n["Data.Semiring"],n["Data.Unit"]),s=(n.Prelude,function(n,t,r){this.foldMap=n,this.foldl=t,this.foldr=r}),d=function(n){return n.foldr},p=function(n){return function(t){return function(r){return d(n)(function(n){return function(e){return f.append(t.Semigroup0())(r(n))(e)}})(i.mempty(t))}}},D=new s(function(n){return p(D)(n)},r.foldlArray,r.foldrArray),h=function(n){return n.foldMap};t.Foldable=s,t.foldr=d,t.foldl=function(n){return n.foldl},t.foldMap=h,t.foldMapDefaultR=p,t.traverse_=function(n){return function(t){return function(r){return d(t)(function(t){return o.applySecond(n.Apply0())(r(t))})(e.pure(n)(l.unit))}}},t.all=function(n){return function(t){return c.alaF(a.functorFn)(a.functorFn)(c.newtypeConj)(c.newtypeConj)(u.Conj)(h(n)(u.monoidConj(t)))}},t.foldableArray=D}(n["Data.Foldable"]=n["Data.Foldable"]||{}),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"],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"]),o=(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"],r.findIndexImpl(e.Just.create)(e.Nothing.value));t.findIndex=o,t.mapWithIndex=function(n){return function(t){return r.zipWith(n)(r.range(0)(r.length(t)-1|0))(t)}}}(n["Data.Array"]=n["Data.Array"]||{}),function(t){"use strict";n["Control.Alt"];var r=n["Control.Applicative"],e=n["Control.Apply"],o=(n["Control.Bind"],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"]),a=(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}()),i=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),u=new o.Functor(function(n){return function(t){if(t instanceof a)return new a(t.value0);if(t instanceof i)return new i(n(t.value0));throw new Error("Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): "+[t.constructor.name])}}),c=new e.Apply(function(){return u},function(n){return function(t){if(n instanceof a)return new a(n.value0);if(n instanceof i)return o.map(u)(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])}}),f=new r.Applicative(function(){return c},i.create);t.Left=a,t.Right=i,t.either=function(n){return function(t){return function(r){if(r instanceof a)return n(r.value0);if(r instanceof i)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])}}},t.functorEither=u,t.applyEither=c,t.applicativeEither=f}(n["Data.Either"]=n["Data.Either"]||{}),function(n){"use strict";n.toCharArray=function(n){return n.split("")},n._charAt=function(n){return function(t){return function(r){return function(e){return r>=0&&r<e.length?n(e.charAt(r)):t}}}},n.length=function(n){return n.length},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"],e=(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._charAt(e.Just.create)(e.Nothing.value));t.charAt=o,t.toCharArray=r.toCharArray,t.length=r.length,t.drop=r.drop}(n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{}),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"],o=n["Control.Apply"],a=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 a.Bind(function(){return l},r.bindE),l=new o.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",o="Sync",a="Async",i="Bind",u="Bracket",c="Fork",f="Sequential",l="Map",s="Apply",d="Alt",p="Cons",D="Resume",h="Release",m="Finalizer",C="Finalized",g="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 A(n){try{n()}catch(t){setTimeout(function(){throw t},0)}}function E(n,t,r){try{return t(r())}catch(e){return n(e)}}function b(n,t,r){try{return t(r)()}catch(e){return r(n(e))(),y}}var S=function(){var n=1024,t=0,r=0,e=new Array(n),o=!1;function a(){var a;for(o=!0;0!==t;)t--,a=e[r],e[r]=void 0,r=(r+1)%n,a();o=!1}return{isDraining:function(){return o},enqueue:function(i){var u;t===n&&(u=o,a(),o=u),e[(r+t)%n]=i,t++,o||a()}}}();var _=0,F=1,M=2,P=3,B=4,U=5,k=6;function R(n,l,s){var d=0,g=_,v=s,y=null,q=null,L=null,T=null,I=null,x=0,j=0,O=null,W=!0;function H(s){for(var j,z,J;;)switch(j=null,z=null,J=null,g){case M:g=F,v=L(v),null===T?L=null:(L=T._1,T=T._2);break;case P:n.isLeft(v)?(g=U,y=v,v=null):null===L?g=U:(g=M,v=n.fromRight(v));break;case F:switch(v.tag){case i:L&&(T=new w(p,L,T)),L=v._2,g=F,v=v._1;break;case t:null===L?(g=U,v=n.right(v._1)):(g=M,v=v._1);break;case o:g=P,v=E(n.left,n.right,v._1);break;case a:return g=B,void(v=b(n.left,v._1,function(n){return function(){d===s&&(d++,S.enqueue(function(){d===s+1&&(g=P,v=n,H(d))}))}}));case r:g=U,y=n.left(v._1),v=null;break;case e:I=new w(p,v,null===L?I:new w(p,new w(D,L,T),I,q),q),L=null,T=null,g=F,v=v._1;break;case u:x++,I=new w(p,v,null===L?I:new w(p,new w(D,L,T),I,q),q),L=null,T=null,g=F,v=v._1;break;case c:g=P,j=R(n,l,v._2),l&&l.register(j),v._1&&j.run(),v=n.right(j);break;case f:g=F,v=N(n,l,v._1)}break;case U:if(L=null,T=null,null===I)g=k,v=q||y||v;else switch(j=I._3,J=I._1,I=I._2,J.tag){case e:q&&q!==j?g=U:y&&(g=F,v=J._2(n.fromLeft(y)),y=null);break;case D:q&&q!==j||y?g=U:(L=J._1,T=J._2,g=M,v=n.fromRight(v));break;case u:x--,null===y&&(z=n.fromRight(v),I=new w(p,new w(h,J._2,z),I,j),(q===j||x>0)&&(g=F,v=J._3(z)));break;case h:x++,I=new w(p,new w(C,v,y),I,q),g=F,v=q&&q!==j?J._1.killed(n.fromLeft(q))(J._2):y?J._1.failed(n.fromLeft(y))(J._2):J._1.completed(n.fromRight(v))(J._2),y=null;break;case m:x++,I=new w(p,new w(C,v,y),I,q),g=F,v=J._1;break;case C:x--,g=U,v=J._1,y=J._2}break;case k:for(var K in O)O.hasOwnProperty(K)&&(W=W&&O[K].rethrow,A(O[K].handler(v)));return O=null,void(q&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(v)&&W&&setTimeout(function(){if(W)throw n.fromLeft(v)},0));case _:g=F;break;case B:return}}function z(n){return function(){if(g===k)return W=W&&n.rethrow,n.handler(v)(),function(){};var t=j++;return(O=O||{})[t]=n,function(){null!==O&&delete O[t]}}}return{kill:function(t,r){return function(){if(g===k)return r(n.right(void 0))(),function(){};var e=z({rethrow:!1,handler:function(){return r(n.right(void 0))}})();switch(g){case _:q=n.left(t),g=k,v=q,H(d);break;case B:null===q&&(q=n.left(t)),0===x&&(g===B&&(I=new w(p,new w(m,v(t)),I,q)),g=U,v=null,y=null,H(++d));break;default:null===q&&(q=n.left(t)),0===x&&(g=U,v=null,y=null)}return e}},join:function(n){return function(){var t=z({rethrow:!1,handler:n})();return g===_&&H(d),t}},onComplete:z,isSuspended:function(){return g===_},run:function(){g===_&&(S.isDraining()?H(d):S.enqueue(function(){H(d)}))}}}function q(t,r,e,o){var i=0,u={},c=0,f={},D=new Error("[ParAff] Early exit"),h=null,m=n;function C(r,e,o){var a,i,c=e,f=null,D=null,h=0,m={};n:for(;;)switch(a=null,c.tag){case g:if(c._3===n&&(a=u[c._1],m[h++]=a.kill(r,function(n){return function(){0===--h&&o(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===h)o(t.right(void 0))();else for(i=0,a=h;i<a;i++)m[i]=m[i]();return m}function v(r){return function(e){return function(){delete u[r._1],r._3=e,function r(e,a,i){var u,p,m,g,w,v;for(t.isLeft(e)?(u=e,p=null):(p=e,u=null);;){if(m=null,g=null,w=null,v=null,null!==h)return;if(null===a)return void o(u||p)();if(a._3!==n)return;switch(a.tag){case l:null===u?(a._3=t.right(a._1(t.fromRight(p))),p=a._3):a._3=u;break;case s:if(m=a._1._3,g=a._2._3,u){if(a._3=u,w=!0,v=c++,f[v]=C(D,u===m?a._2:a._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(m===n||g===n)return;p=t.right(t.fromRight(m)(t.fromRight(g))),a._3=p}break;case d:if(m=a._1._3,g=a._2._3,m===n&&t.isLeft(g)||g===n&&t.isLeft(m))return;if(m!==n&&t.isLeft(m)&&g!==n&&t.isLeft(g))u=p===m?g:m,p=null,a._3=u;else if(a._3=p,w=!0,v=c++,f[v]=C(D,p===m?a._2:a._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?a=null:(a=i._1,i=i._2)}}(e,r._2._1,r._2._2)}}}return function(){var o,a,c=F,f=e,D=null,h=null;n:for(;;)switch(o=null,a=null,c){case F:switch(f.tag){case l:D&&(h=new w(p,D,h)),D=new w(l,f._1,n,n),f=f._2;break;case s:D&&(h=new w(p,D,h)),D=new w(s,n,f._2,n),f=f._1;break;case d:D&&(h=new w(p,D,h)),D=new w(d,n,f._2,n),f=f._1;break;default:a=i++,c=U,o=f,f=new w(g,a,new w(p,D,h),n),(o=R(t,r,o)).onComplete({rethrow:!1,handler:v(f)})(),u[a]=o,r&&r.register(o)}break;case U: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===h?D=null:(D=h._1,h=h._2))}for(m=f,a=0;a<i;a++)u[a].run()}(),function(n){return new w(a,function(r){return function(){return function(n,r){var e;for(var o in h=t.left(n),f)if(f.hasOwnProperty(o))for(o in e=f[o])e.hasOwnProperty(o)&&e[o]();f=null;var i=C(n,m,r);return function(n){return new w(a,function(n){return function(){for(var n in i)i.hasOwnProperty(n)&&i[n]();return y}})}}(n,r)}})}}function N(n,t,r){return new w(a,function(e){return function(){return q(n,t,r,e)}})}return w.EMPTY=n,w.Pure=v(t),w.Throw=v(r),w.Catch=v(e),w.Sync=v(o),w.Async=v(a),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=R,w.Supervisor=function(n){var t={},r=0,e=0;return{register:function(n){var o=r++;n.onComplete({rethrow:!0,handler:function(n){return function(){e--,delete t[o]}}}),t[o]=n,e++},isEmpty:function(){return 0===e},killAll:function(a,i){return function(){var u=0,c={};function f(r){c[r]=t[r].kill(a,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(o,function(){for(var n in c)c.hasOwnProperty(n)&&c[n]()})}}}}},w.Scheduler=S,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"],o=(n["Control.Semigroupoid"],n["Data.Foldable"]),a=(n["Data.Traversable"],n.Prelude,function(n){return function(t){return function(r){return function(a){return e.sequential(n)(o.traverse_(n.Applicative1())(t)(function(t){return e.parallel(n)(r(t))})(a))}}}});t.parTraverse_=a,t.parSequence_=function(n){return function(t){return a(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"]),o=n["Control.Apply"],a=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"]),h=(n["Data.Time.Duration"],n["Data.Unit"]),m=n.Effect,C=n["Effect.Class"],g=(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),A={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 g.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 g.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},E=function(n){return function(){var t=function(n){return r._makeFiber(A,n)}(n)();return t.run(),t}},b=new o.Apply(function(){return v},r._parAffApply),S=new i.Monad(function(){return M},function(){return _}),_=new a.Bind(function(){return F},r._bind),F=new o.Apply(function(){return y},i.ap(S)),M=new e.Applicative(function(){return F},r._pure),P=new C.MonadEffect(function(){return S},r._liftEffect),B=new c.Parallel(function(){return U},function(){return S},w.unsafeCoerce,r._sequential),U=new e.Applicative(function(){return b},function(n){return c.parallel(B)(e.pure(M)(n))}),k=new D.Semigroup(function(n){return function(t){return function(r){return u.parSequence_(B)(l.foldableArray)([n(r),t(r)])}}}),R=s.const(e.pure(M)(h.unit)),q=new p.Monoid(function(){return k},R);t.launchAff=E,t.launchAff_=function(n){return d.void(m.functorEffect)(E(n))},t.nonCanceler=R,t.functorAff=y,t.applyAff=F,t.applicativeAff=M,t.bindAff=_,t.monadAff=S,t.monadEffectAff=P,t.functorParAff=v,t.applyParAff=b,t.applicativeParAff=U,t.parallelAff=B,t.semigroupCanceler=k,t.monoidCanceler=q,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}()),o=function(){function n(){}return n.value=new n,n}(),a=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 o)return"UTF8";if(n instanceof a)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=o,t.UTF16LE=a,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 o)return"utf8";if(n instanceof a)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"],o=n["Control.Bind"],a=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(a.Left.create)(a.Right.create)),d=function(n){return function(t){return r.onDataEitherImpl(s)(n)(t)}},p=function(n){return function(t){return d(n)(o.composeKleisliFlipped(u.bindEffect)(t)(function(n){if(n instanceof a.Left)return c.throw("Stream encoding should not be set");if(n instanceof a.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)(o.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),o=r.process.stdin;t.stdin=o,t.stdout=e}(n["Node.Process"]=n["Node.Process"]||{}),function(t){"use strict";var r=n["Control.Applicative"],e=n["Control.Bind"],o=n["Control.Category"],a=n["Data.Array"],i=n["Data.Boolean"],u=n["Data.Either"],c=n["Data.Eq"],f=n["Data.Foldable"],l=n["Data.Functor"],s=n["Data.HeytingAlgebra"],d=(n["Data.Int"],n["Data.Maybe"]),p=n["Data.Monoid"],D=(n["Data.Ord"],n["Data.Ring"],n["Data.Semigroup"],n["Data.String"],n["Data.String.CodeUnits"]),h=n["Data.String.Common"],m=(n["Data.String.Pattern"],n["Data.String.Regex.Unsafe"],n["Data.Tuple"],n["Data.Unit"]),C=n.Effect,g=n["Effect.Aff"],w=n["Effect.Class"],v=n["Effect.Ref"],y=n["Node.Encoding"],A=n["Node.Process"],E=n["Node.Stream"],b=n["Partial.Unsafe"],S=(n.Prelude,function(n){return u.either(function(n){return b.unsafeCrashWith(n)})(o.identity(o.categoryFn))((t=h.trim(n),r.pure(u.applicativeEither)((function(n){if(c.notEq(d.eqMaybe(c.eqChar))(D.charAt(0)(n))(new d.Just("A")))return!1;if((t=d.fromJust()(D.charAt(1)(n)))<"a"||"z"<t)return!1;var t;if(function(){var t=d.fromJust()(D.charAt(D.length(n)-1|0)(n));return t<"a"||"z"<t}())return!1;if(i.otherwise){var r=D.drop(2)(n),e=D.toCharArray(r),o=a.findIndex(c.eq(c.eqChar)("C"))(e);if(o instanceof d.Nothing)return!1;if(o instanceof d.Just)return f.all(f.foldableArray)(s.heytingAlgebraBoolean)(function(n){return"a"<=n&&n<="z"})(a.mapWithIndex(function(n){return function(t){return n===o.value0?"c":t}})(e));throw new Error("Failed pattern match at ABC104B (line 77, column 7 - line 82, column 75): "+[o.constructor.name])}throw new Error("Failed pattern match at ABC104B (line 59, column 1 - line 59, column 28): "+[n.constructor.name])}(t)?"AC":"WA")+"\n")));var t}),_=g.makeAff(function(n){return function(){var t=v.new("")();return E.onDataString(A.stdin)(y.UTF8.value)(function(n){return function(){var r=v.read(t)();return v.write(r+n)(t)()}})(),E.onEnd(A.stdin)(function(){var e=v.read(t)();return n(r.pure(u.applicativeEither)(e))()})(),p.mempty(g.monoidCanceler)}}),F=g.launchAff_(e.bind(g.bindAff)(_)(function(n){return e.bind(g.bindAff)(r.pure(g.applicativeAff)(S(n)))(function(n){return w.liftEffect(g.monadEffectAff)((t=n,l.void(C.functorEffect)(E.writeString(A.stdout)(y.UTF8.value)(t)(r.pure(C.applicativeEffect)(m.unit)))));var t})}));t.main=F,t.solve=S}(n.ABC104B=n.ABC104B||{}),n.ABC104B.main();
},{}]},{},["Focm"], null)