Problem:
Score: 200 points

Problem Statement

There are three positive integers A, B and C written on a blackboard. E869120 performs the following operation K times:

Choose one integer written on the blackboard and let the chosen integer be n. Replace the chosen integer with 2n.

What is the largest possible sum of the integers written on the blackboard after K operations?

Constraints

A, B and C are integers between 1 and 50 (inclusive).

K is an integer between 1 and 10 (inclusive).

Input

Input is given from Standard Input in the following format:

A B C
K

Output

Print the largest possible sum of the integers written on the blackboard after K operations by E869220.

Sample Input 1

5 3 11
1

Sample Output 1

30

In this sample, 5, 3, 11 are initially written on the blackboard, and E869120 can perform the operation once.

There are three choices:

Double 5: The integers written on the board after the operation are 10, 3, 11.

Double 3: The integers written on the board after the operation are 5, 6, 11.

Double 11: The integers written on the board after the operation are 5, 3, 22.

If he chooses 3., the sum of the integers written on the board afterwards is 5 + 3 + 22 = 30, which is the largest among 1. through 3.

Sample Input 2

3 3 4
2

Sample Output 2

22

E869120 can perform the operation twice. The sum of the integers eventually written on the blackboard is maximized as follows:

First, double 4. The integers written on the board are now 3, 3, 8.

Next, double 8. The integers written on the board are now 3, 3, 16.

Then, the sum of the integers eventually written on the blackboard is 3 + 3 + 16 = 22.

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(t){"use strict";(n["Control.Apply"]=n["Control.Apply"]||{}).arrayApply=function(n){return function(t){for(var r=n.length,e=t.length,u=new Array(r*e),i=0,o=0;o<r;o++)for(var a=n[o],f=0;f<e;f++)u[i++]=a(t[f]);return u}}}(),function(n){"use strict";n["Control.Semigroupoid"]=n["Control.Semigroupoid"]||{};var t=n["Control.Semigroupoid"],r=function(n){this.compose=n},e=new r(function(n){return function(t){return function(r){return n(t(r))}}});t.compose=function(n){return n.compose},t.Semigroupoid=r,t.semigroupoidFn=e}(n),function(n){"use strict";n["Control.Category"]=n["Control.Category"]||{};var t=n["Control.Category"],r=n["Control.Semigroupoid"],e=function(n,t){this.Semigroupoid0=n,this.identity=t},u=new e(function(){return r.semigroupoidFn},function(n){return n});t.Category=e,t.identity=function(n){return n.identity},t.categoryFn=u}(n),function(n){"use strict";n["Data.Function"]=n["Data.Function"]||{};var t=n["Data.Function"];t.flip=function(n){return function(t){return function(r){return n(r)(t)}}},t.const=function(n){return function(t){return n}}}(n),function(t){"use strict";(n["Data.Functor"]=n["Data.Functor"]||{}).arrayMap=function(n){return function(t){for(var r=t.length,e=new Array(r),u=0;u<r;u++)e[u]=n(t[u]);return e}}}(),function(t){"use strict";(n["Data.Unit"]=n["Data.Unit"]||{}).unit={}}(),function(n){"use strict";n["Data.Unit"]=n["Data.Unit"]||{};var t=n["Data.Unit"],r=n["Data.Unit"];t.unit=r.unit}(n),function(n){"use strict";n["Data.Functor"]=n["Data.Functor"]||{};var t=n["Data.Functor"],r=n["Data.Functor"],e=n["Data.Function"],u=n["Data.Unit"],i=function(n){this.map=n},o=function(n){return n.map},a=new i(r.arrayMap);t.Functor=i,t.map=o,t.void=function(n){return o(n)(e.const(u.unit))},t.functorArray=a}(n),function(n){"use strict";n["Control.Apply"]=n["Control.Apply"]||{};var t=n["Control.Apply"],r=n["Control.Apply"],e=n["Control.Category"],u=n["Data.Function"],i=n["Data.Functor"],o=function(n,t){this.Functor0=n,this.apply=t},a=new o(function(){return i.functorArray},r.arrayApply),f=function(n){return n.apply};t.Apply=o,t.apply=f,t.applySecond=function(n){return function(t){return function(r){return f(n)(i.map(n.Functor0())(u.const(e.identity(e.categoryFn)))(t))(r)}}},t.applyArray=a}(n),function(n){"use strict";n["Control.Applicative"]=n["Control.Applicative"]||{};var t=n["Control.Applicative"],r=n["Control.Apply"],e=function(n){return n.pure};t.Applicative=function(n,t){this.Apply0=n,this.pure=t},t.pure=e,t.liftA1=function(n){return function(t){return function(u){return r.apply(n.Apply0())(e(n)(t))(u)}}}}(n),function(t){"use strict";(n["Control.Bind"]=n["Control.Bind"]||{}).arrayBind=function(n){return function(t){for(var r=[],e=0,u=n.length;e<u;e++)Array.prototype.push.apply(r,t(n[e]));return r}}}(),function(n){"use strict";n["Control.Bind"]=n["Control.Bind"]||{};var t=n["Control.Bind"],r=n["Control.Bind"],e=n["Control.Apply"],u=n["Data.Function"],i=function(n,t){this.Apply0=n,this.bind=t},o=new i(function(){return e.applyArray},r.arrayBind),a=function(n){return n.bind},f=function(n){return u.flip(a(n))};t.Bind=i,t.bind=a,t.bindFlipped=f,t.composeKleisliFlipped=function(n){return function(t){return function(r){return function(e){return f(n)(t)(r(e))}}}},t.bindArray=o}(n),function(n){"use strict";n["Data.Maybe"]=n["Data.Maybe"]||{};var t=n["Data.Maybe"],r=n["Control.Applicative"],e=n["Control.Apply"],u=n["Control.Bind"],i=n["Data.Functor"],o=function(){function n(){}return n.value=new n,n}(),a=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),f=new i.Functor(function(n){return function(t){return t instanceof a?new a(n(t.value0)):o.value}}),c=new e.Apply(function(){return f},function(n){return function(t){if(n instanceof a)return i.map(f)(n.value0)(t);if(n instanceof o)return o.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,t.constructor.name])}}),l=new u.Bind(function(){return c},function(n){return function(t){if(n instanceof a)return t(n.value0);if(n instanceof o)return o.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,t.constructor.name])}}),s=new r.Applicative(function(){return c},a.create);t.Nothing=o,t.Just=a,t.maybe=function(n){return function(t){return function(r){if(r instanceof o)return n;if(r instanceof a)return t(r.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,t.constructor.name,r.constructor.name])}}},t.functorMaybe=f,t.applyMaybe=c,t.applicativeMaybe=s,t.bindMaybe=l}(n),function(n){"use strict";n["Data.Array"]=n["Data.Array"]||{};var t=n["Data.Array"],r=n["Control.Bind"],e=n["Data.Function"],u=n["Data.Maybe"],i=function(n){return[n]},o=e.flip(r.bind(r.bindArray));t.singleton=i,t.concatMap=o,t.mapMaybe=function(n){return o(function(t){return u.maybe([])(i)(n(t))})}}(n),function(n){"use strict";n["Data.Either"]=n["Data.Either"]||{};var t=n["Data.Either"],r=n["Control.Applicative"],e=n["Control.Apply"],u=n["Control.Bind"],i=n["Data.Functor"],o=n["Data.Maybe"],a=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),f=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),c=new i.Functor(function(n){return function(t){if(t instanceof a)return new a(t.value0);if(t instanceof f)return new f(n(t.value0));throw new Error("Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): "+[t.constructor.name])}}),l=function(n){return function(t){return function(r){if(r instanceof a)return n(r.value0);if(r instanceof f)return t(r.value0);throw new Error("Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): "+[n.constructor.name,t.constructor.name,r.constructor.name])}}},s=new e.Apply(function(){return c},function(n){return function(t){if(n instanceof a)return new a(n.value0);if(n instanceof f)return i.map(c)(n.value0)(t);throw new Error("Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): "+[n.constructor.name,t.constructor.name])}}),p=new u.Bind(function(){return s},l(function(n){return function(t){return new a(n)}})(function(n){return function(t){return t(n)}})),d=new r.Applicative(function(){return s},f.create);t.Left=a,t.Right=f,t.either=l,t.note=function(n){return o.maybe(new a(n))(f.create)},t.functorEither=c,t.applyEither=s,t.applicativeEither=d,t.bindEither=p}(n),function(n){"use strict";n.fromStringAsImpl=function(n){return function(t){return function(r){var e;e=r<11?"[0-"+(r-1).toString()+"]":11===r?"[0-9a]":"[0-9a-"+String.fromCharCode(86+r)+"]";var u=new RegExp("^[\\+\\-]?"+e+"+$","i");return function(e){if(u.test(e)){var i=parseInt(e,r);return(0|i)===i?n(i):t}return t}}}},n.pow=function(n){return function(t){return 0|Math.pow(n,t)}}}(n["Data.Int"]=n["Data.Int"]||{}),function(n){"use strict";n["Data.Int"]=n["Data.Int"]||{};var t=n["Data.Int"],r=n["Data.Int"],e=n["Data.Maybe"],u=r.fromStringAsImpl(e.Just.create)(e.Nothing.value),i=u(10);t.fromString=i,t.fromStringAs=u,t.pow=r.pow}(n),function(n){"use strict";n["Data.Monoid"]=n["Data.Monoid"]||{};var t=n["Data.Monoid"];t.Monoid=function(n,t){this.Semigroup0=n,this.mempty=t},t.mempty=function(n){return n.mempty}}(n),function(t){"use strict";(n["Data.Eq"]=n["Data.Eq"]||{}).refEq=function(n){return function(t){return n===t}}}(),function(n){"use strict";n["Data.Eq"]=n["Data.Eq"]||{};var t=n["Data.Eq"],r=function(n){this.eq=n},e=new r(n["Data.Eq"].refEq);t.Eq=r,t.eq=function(n){return n.eq},t.eqInt=e}(n),function(t){"use strict";(n["Data.Ord.Unsafe"]=n["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(t){return function(r){return function(e){return function(u){return e<u?n:e===u?t:r}}}}}}(),function(n){"use strict";n["Data.Ordering"]=n["Data.Ordering"]||{};var t=n["Data.Ordering"],r=function(){function n(){}return n.value=new n,n}(),e=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}();t.LT=r,t.GT=e,t.EQ=u}(n),function(n){"use strict";n["Data.Ord.Unsafe"]=n["Data.Ord.Unsafe"]||{};var t=n["Data.Ord.Unsafe"],r=n["Data.Ord.Unsafe"],e=n["Data.Ordering"],u=r.unsafeCompareImpl(e.LT.value)(e.EQ.value)(e.GT.value);t.unsafeCompare=u}(n),function(n){"use strict";n["Data.Ord"]=n["Data.Ord"]||{};var t=n["Data.Ord"],r=n["Data.Eq"],e=n["Data.Ord.Unsafe"],u=n["Data.Ordering"],i=function(n,t){this.Eq0=n,this.compare=t},o=new i(function(){return r.eqInt},e.unsafeCompare),a=function(n){return n.compare};t.Ord=i,t.compare=a,t.max=function(n){return function(t){return function(r){var e=a(n)(t)(r);if(e instanceof u.LT)return r;if(e instanceof u.EQ)return t;if(e instanceof u.GT)return t;throw new Error("Failed pattern match at Data.Ord (line 128, column 3 - line 131, column 12): "+[e.constructor.name])}}},t.ordInt=o}(n),function(t){"use strict";(n["Data.Show"]=n["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";n["Data.Show"]=n["Data.Show"]||{};var t=n["Data.Show"],r=function(n){this.show=n},e=new r(n["Data.Show"].showIntImpl);t.Show=r,t.show=function(n){return n.show},t.showInt=e}(n),function(n){"use strict";n.split=function(n){return function(t){return t.split(n)}},n.trim=function(n){return n.trim()}}(n["Data.String.Common"]=n["Data.String.Common"]||{}),function(n){"use strict";n["Data.String.Common"]=n["Data.String.Common"]||{};var t=n["Data.String.Common"],r=n["Data.String.Common"];t.split=r.split,t.trim=r.trim}(n),function(n){"use strict";n.pureE=function(n){return function(){return n}},n.bindE=function(n){return function(t){return function(){return t(n())()}}}}(n.Effect=n.Effect||{}),function(n){"use strict";n["Control.Monad"]=n["Control.Monad"]||{};var t=n["Control.Monad"],r=n["Control.Applicative"],e=n["Control.Bind"];t.Monad=function(n,t){this.Applicative0=n,this.Bind1=t},t.ap=function(n){return function(t){return function(u){return e.bind(n.Bind1())(t)(function(t){return e.bind(n.Bind1())(u)(function(e){return r.pure(n.Applicative0())(t(e))})})}}}}(n),function(n){"use strict";n.Effect=n.Effect||{};var t=n.Effect,r=n.Effect,e=n["Control.Applicative"],u=n["Control.Apply"],i=n["Control.Bind"],o=n["Control.Monad"],a=n["Data.Functor"],f=new o.Monad(function(){return s},function(){return c}),c=new i.Bind(function(){return l},r.bindE),l=new u.Apply(function(){return p},o.ap(f)),s=new e.Applicative(function(){return l},r.pureE),p=new a.Functor(e.liftA1(s));t.functorEffect=p,t.applyEffect=l,t.applicativeEffect=s,t.bindEffect=c,t.monadEffect=f}(n),function(n){"use strict";var t=function(){var n={},t="Pure",r="Throw",e="Catch",u="Sync",i="Async",o="Bind",a="Bracket",f="Fork",c="Sequential",l="Map",s="Apply",p="Alt",d="Cons",h="Resume",m="Release",w="Finalizer",v="Finalized",E="Forked";function y(n,t,r,e){this.tag=n,this._1=t,this._2=r,this._3=e}function g(n){var t=function(t,r,e){return new y(n,t,r,e)};return t.tag=n,t}function C(n){return new y(t,void 0)}function D(n){try{n()}catch(t){setTimeout(function(){throw t},0)}}function A(n,t,r){try{return t(r())}catch(e){return n(e)}}function _(n,t,r){try{return t(r)()}catch(e){return r(n(e))(),C}}var b=function(){var n=1024,t=0,r=0,e=new Array(n),u=!1;function i(){var i;for(u=!0;0!==t;)t--,i=e[r],e[r]=void 0,r=(r+1)%n,i();u=!1}return{isDraining:function(){return u},enqueue:function(o){var a;t===n&&(a=u,i(),u=a),e[(r+t)%n]=o,t++,u||i()}}}();var S=0,F=1,P=2,M=3,k=4,B=5,U=6;function I(n,l,s){var p=0,E=S,g=s,C=null,N=null,q=null,R=null,O=null,T=0,x=0,W=null,G=!0;function J(s){for(var x,K,Q;;)switch(x=null,K=null,Q=null,E){case P:E=F,g=q(g),null===R?q=null:(q=R._1,R=R._2);break;case M:n.isLeft(g)?(E=B,C=g,g=null):null===q?E=B:(E=P,g=n.fromRight(g));break;case F:switch(g.tag){case o:q&&(R=new y(d,q,R)),q=g._2,E=F,g=g._1;break;case t:null===q?(E=B,g=n.right(g._1)):(E=P,g=g._1);break;case u:E=M,g=A(n.left,n.right,g._1);break;case i:return E=k,void(g=_(n.left,g._1,function(n){return function(){p===s&&(p++,b.enqueue(function(){p===s+1&&(E=M,g=n,J(p))}))}}));case r:E=B,C=n.left(g._1),g=null;break;case e:O=new y(d,g,null===q?O:new y(d,new y(h,q,R),O,N),N),q=null,R=null,E=F,g=g._1;break;case a:T++,O=new y(d,g,null===q?O:new y(d,new y(h,q,R),O,N),N),q=null,R=null,E=F,g=g._1;break;case f:E=M,x=I(n,l,g._2),l&&l.register(x),g._1&&x.run(),g=n.right(x);break;case c:E=F,g=L(n,l,g._1)}break;case B:if(q=null,R=null,null===O)E=U,g=N||C||g;else switch(x=O._3,Q=O._1,O=O._2,Q.tag){case e:N&&N!==x?E=B:C&&(E=F,g=Q._2(n.fromLeft(C)),C=null);break;case h:N&&N!==x||C?E=B:(q=Q._1,R=Q._2,E=P,g=n.fromRight(g));break;case a:T--,null===C&&(K=n.fromRight(g),O=new y(d,new y(m,Q._2,K),O,x),(N===x||T>0)&&(E=F,g=Q._3(K)));break;case m:T++,O=new y(d,new y(v,g,C),O,N),E=F,g=N&&N!==x?Q._1.killed(n.fromLeft(N))(Q._2):C?Q._1.failed(n.fromLeft(C))(Q._2):Q._1.completed(n.fromRight(g))(Q._2),C=null;break;case w:T++,O=new y(d,new y(v,g,C),O,N),E=F,g=Q._1;break;case v:T--,E=B,g=Q._1,C=Q._2}break;case U:for(var z in W)W.hasOwnProperty(z)&&(G=G&&W[z].rethrow,D(W[z].handler(g)));return W=null,void(N&&C?setTimeout(function(){throw n.fromLeft(C)},0):n.isLeft(g)&&G&&setTimeout(function(){if(G)throw n.fromLeft(g)},0));case S:E=F;break;case k:return}}function K(n){return function(){if(E===U)return G=G&&n.rethrow,n.handler(g)(),function(){};var t=x++;return(W=W||{})[t]=n,function(){null!==W&&delete W[t]}}}return{kill:function(t,r){return function(){if(E===U)return r(n.right(void 0))(),function(){};var e=K({rethrow:!1,handler:function(){return r(n.right(void 0))}})();switch(E){case S:N=n.left(t),E=U,g=N,J(p);break;case k:null===N&&(N=n.left(t)),0===T&&(E===k&&(O=new y(d,new y(w,g(t)),O,N)),E=B,g=null,C=null,J(++p));break;default:null===N&&(N=n.left(t)),0===T&&(E=B,g=null,C=null)}return e}},join:function(n){return function(){var t=K({rethrow:!1,handler:n})();return E===S&&J(p),t}},onComplete:K,isSuspended:function(){return E===S},run:function(){E===S&&(b.isDraining()?J(p):b.enqueue(function(){J(p)}))}}}function N(t,r,e,u){var o=0,a={},f=0,c={},h=new Error("[ParAff] Early exit"),m=null,w=n;function v(r,e,u){var i,o,f=e,c=null,h=null,m=0,w={};n:for(;;)switch(i=null,f.tag){case E:if(f._3===n&&(i=a[f._1],w[m++]=i.kill(r,function(n){return function(){0===--m&&u(n)()}})),null===c)break n;f=c._2,null===h?c=null:(c=h._1,h=h._2);break;case l:f=f._2;break;case s:case p:c&&(h=new y(d,c,h)),c=f,f=f._1}if(0===m)u(t.right(void 0))();else for(o=0,i=m;o<i;o++)w[o]=w[o]();return w}function g(r){return function(e){return function(){delete a[r._1],r._3=e,function r(e,i,o){var a,d,w,E,y,g;for(t.isLeft(e)?(a=e,d=null):(d=e,a=null);;){if(w=null,E=null,y=null,g=null,null!==m)return;if(null===i)return void u(a||d)();if(i._3!==n)return;switch(i.tag){case l:null===a?(i._3=t.right(i._1(t.fromRight(d))),d=i._3):i._3=a;break;case s:if(w=i._1._3,E=i._2._3,a){if(i._3=a,y=!0,g=f++,c[g]=v(h,a===w?i._2:i._1,function(){return function(){delete c[g],y?y=!1:null===o?r(a,null,null):r(a,o._1,o._2)}}),y)return void(y=!1)}else{if(w===n||E===n)return;d=t.right(t.fromRight(w)(t.fromRight(E))),i._3=d}break;case p:if(w=i._1._3,E=i._2._3,w===n&&t.isLeft(E)||E===n&&t.isLeft(w))return;if(w!==n&&t.isLeft(w)&&E!==n&&t.isLeft(E))a=d===w?E:w,d=null,i._3=a;else if(i._3=d,y=!0,g=f++,c[g]=v(h,d===w?i._2:i._1,function(){return function(){delete c[g],y?y=!1:null===o?r(d,null,null):r(d,o._1,o._2)}}),y)return void(y=!1)}null===o?i=null:(i=o._1,o=o._2)}}(e,r._2._1,r._2._2)}}}return function(){var u,i,f=F,c=e,h=null,m=null;n:for(;;)switch(u=null,i=null,f){case F:switch(c.tag){case l:h&&(m=new y(d,h,m)),h=new y(l,c._1,n,n),c=c._2;break;case s:h&&(m=new y(d,h,m)),h=new y(s,n,c._2,n),c=c._1;break;case p:h&&(m=new y(d,h,m)),h=new y(p,n,c._2,n),c=c._1;break;default:i=o++,f=B,u=c,c=new y(E,i,new y(d,h,m),n),(u=I(t,r,u)).onComplete({rethrow:!1,handler:g(c)})(),a[i]=u,r&&r.register(u)}break;case B:if(null===h)break n;h._1===n?(h._1=c,f=F,c=h._2,h._2=n):(h._2=c,c=h,null===m?h=null:(h=m._1,m=m._2))}for(w=c,i=0;i<o;i++)a[i].run()}(),function(n){return new y(i,function(r){return function(){return function(n,r){var e;for(var u in m=t.left(n),c)if(c.hasOwnProperty(u))for(u in e=c[u])e.hasOwnProperty(u)&&e[u]();c=null;var o=v(n,w,r);return function(n){return new y(i,function(n){return function(){for(var n in o)o.hasOwnProperty(n)&&o[n]();return C}})}}(n,r)}})}}function L(n,t,r){return new y(i,function(e){return function(){return N(n,t,r,e)}})}return y.EMPTY=n,y.Pure=g(t),y.Throw=g(r),y.Catch=g(e),y.Sync=g(u),y.Async=g(i),y.Bind=g(o),y.Bracket=g(a),y.Fork=g(f),y.Seq=g(c),y.ParMap=g(l),y.ParApply=g(s),y.ParAlt=g(p),y.Fiber=I,y.Supervisor=function(n){var t={},r=0,e=0;return{register:function(n){var u=r++;n.onComplete({rethrow:!0,handler:function(n){return function(){e--,delete t[u]}}}),t[u]=n,e++},isEmpty:function(){return 0===e},killAll:function(i,o){return function(){var a=0,f={};function c(r){f[r]=t[r].kill(i,function(t){return function(){delete f[r],a--,n.isLeft(t)&&n.fromLeft(t)&&setTimeout(function(){throw n.fromLeft(t)},0),0===a&&o()}})()}for(var l in t)t.hasOwnProperty(l)&&(a++,c(l));return t={},r=0,e=0,function(n){return new y(u,function(){for(var n in f)f.hasOwnProperty(n)&&f[n]()})}}}}},y.Scheduler=b,y.nonCanceler=C,y}();n._pure=t.Pure,n._map=function(n){return function(r){return r.tag===t.Pure.tag?t.Pure(n(r._1)):t.Bind(r,function(r){return t.Pure(n(r))})}},n._bind=function(n){return function(r){return t.Bind(n,r)}},n._liftEffect=t.Sync,n._parAffMap=function(n){return function(r){return t.ParMap(n,r)}},n._parAffApply=function(n){return function(r){return t.ParApply(n,r)}},n.makeAff=t.Async,n._makeFiber=function(n,r){return function(){return t.Fiber(n,null,r)}},n._sequential=t.Seq}(n["Effect.Aff"]=n["Effect.Aff"]||{}),function(n){"use strict";n["Control.Parallel.Class"]=n["Control.Parallel.Class"]||{};var t=n["Control.Parallel.Class"];t.parallel=function(n){return n.parallel},t.sequential=function(n){return n.sequential},t.Parallel=function(n,t,r,e){this.Applicative1=n,this.Monad0=t,this.parallel=r,this.sequential=e}}(n),function(n){"use strict";n.foldrArray=function(n){return function(t){return function(r){for(var e=t,u=r.length-1;u>=0;u--)e=n(r[u])(e);return e}}},n.foldlArray=function(n){return function(t){return function(r){for(var e=t,u=r.length,i=0;i<u;i++)e=n(e)(r[i]);return e}}}}(n["Data.Foldable"]=n["Data.Foldable"]||{}),function(n){"use strict";n["Data.Semigroup"]=n["Data.Semigroup"]||{};var t=n["Data.Semigroup"];t.Semigroup=function(n){this.append=n},t.append=function(n){return n.append}}(n),function(n){"use strict";n["Data.Foldable"]=n["Data.Foldable"]||{};var t=n["Data.Foldable"],r=n["Data.Foldable"],e=n["Control.Applicative"],u=n["Control.Apply"],i=n["Data.Monoid"],o=n["Data.Semigroup"],a=n["Data.Unit"],f=function(n,t,r){this.foldMap=n,this.foldl=t,this.foldr=r},c=function(n){return n.foldr},l=function(n){return function(t){return function(r){return c(n)(function(n){return function(e){return o.append(t.Semigroup0())(r(n))(e)}})(i.mempty(t))}}},s=new f(function(n){return l(s)(n)},r.foldlArray,r.foldrArray);t.Foldable=f,t.foldr=c,t.foldl=function(n){return n.foldl},t.foldMap=function(n){return n.foldMap},t.foldMapDefaultR=l,t.traverse_=function(n){return function(t){return function(r){return c(t)(function(t){return u.applySecond(n.Apply0())(r(t))})(e.pure(n)(a.unit))}}},t.foldableArray=s}(n),function(n){"use strict";n["Control.Parallel"]=n["Control.Parallel"]||{};var t=n["Control.Parallel"],r=n["Control.Category"],e=n["Control.Parallel.Class"],u=n["Data.Foldable"],i=function(n){return function(t){return function(r){return function(i){return e.sequential(n)(u.traverse_(n.Applicative1())(t)(function(t){return e.parallel(n)(r(t))})(i))}}}};t.parTraverse_=i,t.parSequence_=function(n){return function(t){return i(n)(t)(r.identity(r.categoryFn))}}}(n),function(n){"use strict";n["Effect.Class"]=n["Effect.Class"]||{};var t=n["Effect.Class"];t.liftEffect=function(n){return n.liftEffect},t.MonadEffect=function(n,t){this.Monad0=n,this.liftEffect=t}}(n),function(t){"use strict";(n["Partial.Unsafe"]=n["Partial.Unsafe"]||{}).unsafePartial=function(n){return n()}}(),function(t){"use strict";(n["Partial"]=n["Partial"]||{}).crashWith=function(){return function(n){throw new Error(n)}}}(),function(n){"use strict";n.Partial=n.Partial||{};var t=n.Partial,r=n.Partial;t.crashWith=r.crashWith}(n),function(n){"use strict";n["Partial.Unsafe"]=n["Partial.Unsafe"]||{};var t=n["Partial.Unsafe"],r=n["Partial.Unsafe"],e=n.Partial;t.unsafeCrashWith=function(n){return r.unsafePartial(function(t){return e.crashWith(t)(n)})}}(n),function(t){"use strict";(n["Unsafe.Coerce"]=n["Unsafe.Coerce"]||{}).unsafeCoerce=function(n){return n}}(),function(n){"use strict";n["Unsafe.Coerce"]=n["Unsafe.Coerce"]||{};var t=n["Unsafe.Coerce"],r=n["Unsafe.Coerce"];t.unsafeCoerce=r.unsafeCoerce}(n),function(n){"use strict";n["Effect.Aff"]=n["Effect.Aff"]||{};var t=n["Effect.Aff"],r=n["Effect.Aff"],e=n["Control.Applicative"],u=n["Control.Apply"],i=n["Control.Bind"],o=n["Control.Monad"],a=n["Control.Parallel"],f=n["Control.Parallel.Class"],c=n["Data.Either"],l=n["Data.Foldable"],s=n["Data.Function"],p=n["Data.Functor"],d=n["Data.Monoid"],h=n["Data.Semigroup"],m=n["Data.Unit"],w=n.Effect,v=n["Effect.Class"],E=n["Partial.Unsafe"],y=n["Unsafe.Coerce"],g=new p.Functor(r._parAffMap),C=new p.Functor(r._map),D={isLeft:function(n){if(n instanceof c.Left)return!0;if(n instanceof c.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 c.Left)return n.value0;if(n instanceof c.Right)return E.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 c.Right)return n.value0;if(n instanceof c.Left)return E.unsafeCrashWith("unsafeFromRight: Left");throw new Error("Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): "+[n.constructor.name])},left:c.Left.create,right:c.Right.create},A=function(n){return function(){var t=function(n){return r._makeFiber(D,n)}(n)();return t.run(),t}},_=new u.Apply(function(){return g},r._parAffApply),b=new o.Monad(function(){return P},function(){return S}),S=new i.Bind(function(){return F},r._bind),F=new u.Apply(function(){return C},o.ap(b)),P=new e.Applicative(function(){return F},r._pure),M=new v.MonadEffect(function(){return b},r._liftEffect),k=new f.Parallel(function(){return B},function(){return b},y.unsafeCoerce,r._sequential),B=new e.Applicative(function(){return _},function(n){return f.parallel(k)(e.pure(P)(n))}),U=new h.Semigroup(function(n){return function(t){return function(r){return a.parSequence_(k)(l.foldableArray)([n(r),t(r)])}}}),I=s.const(e.pure(P)(m.unit)),N=new d.Monoid(function(){return U},I);t.launchAff=A,t.launchAff_=function(n){return p.void(w.functorEffect)(A(n))},t.nonCanceler=I,t.functorAff=C,t.applyAff=F,t.applicativeAff=P,t.bindAff=S,t.monadAff=b,t.monadEffectAff=M,t.functorParAff=g,t.applyParAff=_,t.applicativeParAff=B,t.parallelAff=k,t.semigroupCanceler=U,t.monoidCanceler=N,t.makeAff=r.makeAff}(n),function(n){"use strict";n.new=function(n){return function(){return{value:n}}},n.read=function(n){return function(){return n.value}},n.write=function(n){return function(t){return function(){return t.value=n,{}}}}}(n["Effect.Ref"]=n["Effect.Ref"]||{}),function(n){"use strict";n["Effect.Ref"]=n["Effect.Ref"]||{};var t=n["Effect.Ref"],r=n["Effect.Ref"];t.new=r.new,t.read=r.read,t.write=r.write}(n),function(n){"use strict";n["Node.Encoding"]=n["Node.Encoding"]||{};var t=n["Node.Encoding"],r=n["Data.Show"],e=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),a=function(){function n(){}return n.value=new n,n}(),f=function(){function n(){}return n.value=new n,n}(),c=function(){function n(){}return n.value=new n,n}(),l=function(){function n(){}return n.value=new n,n}(),s=new r.Show(function(n){if(n instanceof e)return"ASCII";if(n instanceof u)return"UTF8";if(n instanceof i)return"UTF16LE";if(n instanceof o)return"UCS2";if(n instanceof a)return"Base64";if(n instanceof f)return"Latin1";if(n instanceof c)return"Binary";if(n instanceof l)return"Hex";throw new Error("Failed pattern match at Node.Encoding (line 19, column 1 - line 19, column 39): "+[n.constructor.name])});t.ASCII=e,t.UTF8=u,t.UTF16LE=i,t.UCS2=o,t.Base64=a,t.Latin1=f,t.Binary=c,t.Hex=l,t.encodingToNode=function(n){if(n instanceof e)return"ascii";if(n instanceof u)return"utf8";if(n instanceof i)return"utf16le";if(n instanceof o)return"ucs2";if(n instanceof a)return"base64";if(n instanceof f)return"latin1";if(n instanceof c)return"binary";if(n instanceof l)return"hex";throw new Error("Failed pattern match at Node.Encoding (line 31, column 1 - line 31, column 37): "+[n.constructor.name])},t.showEncoding=s}(n),function(t){"use strict";(n["Node.Process"]=n["Node.Process"]||{}).process=process}(),function(n){"use strict";n["Node.Process"]=n["Node.Process"]||{};var t=n["Node.Process"],r=n["Node.Process"],e=r.process.stdout,u=r.process.stdin;t.stdin=u,t.stdout=e}(n),function(n){"use strict";n.readChunkImpl=function(n){return function(t){return function(r){if(r instanceof Buffer)return t(r);if("string"==typeof r)return n(r);throw new Error("Node.Stream.readChunkImpl: Unrecognised chunk type; expected String or Buffer, got: "+r)}}},n.onDataEitherImpl=function(n){return function(t){return function(r){return function(){t.on("data",function(t){r(n(t))()})}}}},n.onEnd=function(n){return function(t){return function(){n.on("end",t)}}},n.write=function(n){return function(t){return function(r){return function(){return n.write(t,null,r)}}}},n.writeStringImpl=function(n){return function(t){return function(r){return function(e){return function(){return n.write(r,t,e)}}}}}}(n["Node.Stream"]=n["Node.Stream"]||{}),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(n["Effect.Exception"]=n["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var t=n["Effect.Exception"],r=n["Effect.Exception"];t.throw=function(n){return r.throwException(r.error(n))}}(n),function(t){"use strict";(n["Node.Buffer"]=n["Node.Buffer"]||{}).toStringImpl=function(n){return function(t){return function(){return t.toString(n)}}}}(),function(n){"use strict";n["Node.Buffer"]=n["Node.Buffer"]||{};var t=n["Node.Buffer"],r=n["Node.Buffer"],e=n["Node.Encoding"];t.toString=function(n){return r.toStringImpl(e.encodingToNode(n))}}(n),function(n){"use strict";n["Node.Stream"]=n["Node.Stream"]||{};var t=n["Node.Stream"],r=n["Node.Stream"],e=n["Control.Applicative"],u=n["Control.Bind"],i=n["Data.Either"],o=n["Data.Show"],a=n.Effect,f=n["Effect.Exception"],c=n["Node.Buffer"],l=n["Node.Encoding"],s=r.readChunkImpl(i.Left.create)(i.Right.create),p=function(n){return function(t){return r.onDataEitherImpl(s)(n)(t)}},d=function(n){return function(t){return p(n)(u.composeKleisliFlipped(a.bindEffect)(t)(function(n){if(n instanceof i.Left)return f.throw("Stream encoding should not be set");if(n instanceof i.Right)return e.pure(a.applicativeEffect)(n.value0);throw new Error("Failed pattern match at Node.Stream (line 94, column 5 - line 98, column 17): "+[n.constructor.name])}))}};t.onData=d,t.onDataString=function(n){return function(t){return function(r){return d(n)(u.composeKleisliFlipped(a.bindEffect)(r)(c.toString(t)))}}},t.onDataEither=p,t.writeString=function(n){return function(t){return r.writeStringImpl(n)(o.show(l.showEncoding)(t))}},t.onEnd=r.onEnd}(n),function(n){"use strict";n.ABC096B=n.ABC096B||{};var t=n.ABC096B,r=n["Control.Applicative"],e=n["Control.Bind"],u=n["Control.Category"],i=n["Data.Array"],o=n["Data.Either"],a=n["Data.Functor"],f=n["Data.Int"],c=n["Data.Maybe"],l=n["Data.Monoid"],s=n["Data.Ord"],p=n["Data.Show"],d=n["Data.String.Common"],h=n["Data.Unit"],m=n.Effect,w=n["Effect.Aff"],v=n["Effect.Class"],E=n["Effect.Ref"],y=n["Node.Encoding"],g=n["Node.Process"],C=n["Node.Stream"],D=n["Partial.Unsafe"],A=function(n){return o.either(function(n){return D.unsafeCrashWith(n)})(u.identity(u.categoryFn))(e.bind(o.bindEither)((t=n,2===(a=d.split("\n")(d.trim(t))).length?o.note("int")(e.bind(c.bindMaybe)(function(){var n,t=i.mapMaybe(f.fromString)((n=a[0],d.split(" ")(n)));return 3===t.length?new c.Just({a:t[0],b:t[1],c:t[2]}):c.Nothing.value}())(function(n){return e.bind(c.bindMaybe)(f.fromString(a[1]))(function(t){return r.pure(c.applicativeMaybe)({a:n.a,b:n.b,c:n.c,k:t})})})):new o.Left("lines")))(function(n){return r.pure(o.applicativeEither)(p.show(p.showInt)((t=n.a,function(n){return function(r){return function(e){var u=s.max(s.ordInt)(t)(s.max(s.ordInt)(n)(r));return((t+n|0)+r|0)+(u*(f.pow(2)(e)-1|0)|0)|0}}})(n.b)(n.c)(n.k))+"\n");var t}));var t,a},_=w.makeAff(function(n){return function(){var t=E.new("")();return C.onDataString(g.stdin)(y.UTF8.value)(function(n){return function(){var r=E.read(t)();return E.write(r+n)(t)()}})(),C.onEnd(g.stdin)(function(){var e=E.read(t)();return n(r.pure(o.applicativeEither)(e))()})(),l.mempty(w.monoidCanceler)}}),b=w.launchAff_(e.bind(w.bindAff)(_)(function(n){return e.bind(w.bindAff)(r.pure(w.applicativeAff)(A(n)))(function(n){return v.liftEffect(w.monadEffectAff)((t=n,a.void(m.functorEffect)(C.writeString(g.stdout)(y.UTF8.value)(t)(r.pure(m.applicativeEffect)(h.unit)))));var t})}));t.main=b,t.solve=A}(n),n.ABC096B.main();
},{}]},{},["Focm"], null)