text: 'use strict';function test(){function A(){var a=this.__next__();return{value:a,done:void 0==a}}function N(){var a=this.next();if(a.done)throw C();return a.value}function t(a){this.iterable=a;this.index=0}function u(a){this.iterable=a;this.index=0}function H(a,b,d){void 0==b&&(b=a,a=0);void 0==d&&(d=1);if(0<d&&a>=b||0>d&&a<=b)return[];for(var c=[];0<d?a<b:a>b;a+=d)c.push(a);return c}function D(a){if(null==a||"object"==typeof a)return a;var b={},d;for(d in obj)a.hasOwnProperty(d)&&(b[d]=a[d]);return b}
  function I(a){if(null==a||"object"==typeof a)return a;var b={},d;for(d in obj)a.hasOwnProperty(d)&&(b[d]=I(a[d]));return b}function m(a){return a?[].slice.apply(a):[]}function g(a){a=a?[].slice.apply(a):[];a.__class__=g;return a}function k(a){var b=[];if(a)for(var d=0;d<a.length;d++)b.add(a[d]);b.__class__=k;return b}function O(){return new u(this)}function P(){var a=[],b;for(b in this)v(b)||a.push(b);return a}function Q(){var a=[],b;for(b in this)v(b)||a.push([b,this[b]]);return a}function R(a){delete this[a]}
  function S(){for(var a in this)delete this[a]}function T(a,b){var d=this[a];if(void 0!=d)return d;b=void 0==b?null:b;return this[a]=b}function U(a,b){var d=this[a];return void 0!=d?(delete this[a],d):b}function V(a){for(var b in a)this[b]=a[b]}function w(a){if(!a||a instanceof Array){var b={};if(a)for(var d=0;d<a.length;d++){var c=a[d];b[c[0]]=c[1]}}else b=a;Object.defineProperty(b,"__class__",{value:w,enumerable:!1,writable:!0});Object.defineProperty(b,"keys",{value:P,enumerable:!1});Object.defineProperty(b,
  "__iter__",{value:O,enumerable:!1});Object.defineProperty(b,"items",{value:Q,enumerable:!1});Object.defineProperty(b,"del",{value:R,enumerable:!1});Object.defineProperty(b,"clear",{value:S,enumerable:!1});Object.defineProperty(b,"setdefault",{value:T,enumerable:!1});Object.defineProperty(b,"py_pop",{value:U,enumerable:!1});Object.defineProperty(b,"update",{value:V,enumerable:!1});return b}function p(a){try{return a.__str__()}catch(b){return new String(a)}}var c={},x=function(a,b,d){if(""!=b){b=b.split(".");
  for(var c=b.length,f=0;f<b.length;f++){if(!a.hasOwnProperty(b[f])){c=f;break}a=a[b[f]]}for(f=c;f<b.length;f++)a[b[f]]={},a=a[b[f]]}for(var l in d)a[l]=d[l]};c.__nest__=x;var E=function(a){a.__inited__||(a.__all__.__init__(a.__all__),a.__inited__=!0);return a.__all__};c.__init__=E;var n=function(a,b,d){return a&&(a.hasOwnProperty("__class__")||"string"==typeof a||a instanceof String)?(d&&Object.defineProperty(a,d,{value:function(){var d=[].slice.apply(arguments);return b.apply(null,[a].concat(d))},
  writable:!0,enumerable:!0,configurable:!0}),function(){var d=[].slice.apply(arguments);return b.apply(null,[a].concat(d))}):b};c.__get__=n;var q=function(a,b,d){for(var c=function(){var a=[].slice.apply(arguments);return c.__new__(a)},f=b.length-1;0<=f;f--){var l=b[f],g;for(g in l){var h=Object.getOwnPropertyDescriptor(l,g);Object.defineProperty(c,g,h)}}c.__name__=a;c.__bases__=b;for(g in d)h=Object.getOwnPropertyDescriptor(d,g),Object.defineProperty(c,g,h);return c};c.__class__=q;var y=c.__class__("object",
  [],{__init__:function(a){},__name__:"object",__bases__:[],__new__:function(a){var b=Object.create(this,{__class__:{value:this,enumerable:!0}});this.__init__.apply(null,[b].concat(a));return b}});c.object=y;c.__pragma__=function(){};x(c,"org.transcrypt.__base__",{__all__:{__inited__:!1,__init__:function(a){var b=q("__Envir__",[y],{get __init__(){return n(this,function(a){a.transpiler_name="transcrypt";a.transpiler_version="3.5.219";a.target_subdir="__javascript__"})}}),d=b();a.__Envir__=b;a.__envir__=
  d}}});x(c,"org.transcrypt.__standard__",{__all__:{__inited__:!1,__init__:function(a){var b=q("Exception",[y],{get __init__(){return n(this,function(a){var b=g([].slice.apply(arguments).slice(1));a.args=b})},get __repr__(){return n(this,function(a){return r(a.args)?"{}{}".format(a.__class__.__name__,J(g(a.args))):"{}()".format(a.__class__.__name__)})},get __str__(){return n(this,function(a){return 1<r(a.args)?p(g(a.args)):r(a.args)?p(a.args[0]):""})}}),d=q("StopIteration",[y],{get __init__(){return n(this,
  function(a){b.__init__(a,"Iterator exhausted")})}}),c=q("ValueError",[b],{}),f=q("AssertionError",[b],{}),l=function(a,b,d){if("undefined"==typeof b||null!=b&&b.__class__==h)b=null;if("undefined"==typeof d||null!=d&&d.__class__==h)d=!1;if(arguments.length){var c=arguments.length-1;if(arguments[c]&&arguments[c].__class__==h){var c=arguments[c--],e;for(e in c)switch(e){case "iterable":a=c[e];break;case "key":b=c[e];break;case "reverse":d=c[e]}}}b?a.sort(function(a,d){if(arguments.length){var c=arguments.length-
  1;if(arguments[c]&&arguments[c].__class__==h){var c=arguments[c--],e;for(e in c)switch(e){case "a":a=c[e];break;case "b":d=c[e]}}}return b(a)>b(d)}):a.sort();d&&a.reverse()},k=q("__Terminal__",[y],{get __init__(){return n(this,function(a){try{a.element=document.getElementById("__terminal__")}catch(b){a.element=null}a.element&&(a.buffer="",a.element.style.overflowX="auto",a.element.style.padding="5px",a.element.innerHTML="_")})},get print(){return n(this,function(a){var b=" ",d="\n";if(arguments.length){var c=
  arguments.length-1;if(arguments[c]&&arguments[c].__class__==h){var e=arguments[c--],f;for(f in e)switch(f){case "self":a=e[f];break;case "sep":b=e[f];break;case "end":d=e[f]}}var l=g([].slice.apply(arguments).slice(1,c+1))}else l=g();a.element?(a.buffer="{}{}{}".format(a.buffer,b.join(function(){for(var a=[],b=l,d=0;d<b.length;d++)a.append(p(b[d]));return a}()),d).__getslice__(-4096,null,1),a.element.innerHTML=a.buffer.py_replace("\n","<br>"),a.element.scrollTop=a.element.scrollHeight):console.log(b.join(function(){for(var a=
  [],b=l,d=0;d<b.length;d++)a.append(p(b[d]));return a}()))})},get input(){return n(this,function(a,b){if(arguments.length){var d=arguments.length-1;if(arguments[d]&&arguments[d].__class__==h){var d=arguments[d--],c;for(c in d)switch(c){case "self":a=d[c];break;case "question":b=d[c]}}}a.print("{}_".format(b),h({end:""}));try{var e=window.prompt(b)}catch(f){console.log("Error: Blocking input not yet implemented outside browser")}a.buffer=a.buffer.__getslice__(0,-1,1);a.print(e);return e})}}),m=k();
  a.AssertionError=f;a.Exception=b;a.StopIteration=d;a.ValueError=c;a.__Terminal__=k;a.__sort__=l;a.__terminal__=m;a.filter=function(a,b){for(var d=[],c=0;c<b.length;c++){var e=b[c];a(e)&&d.append(e)}return d};a.map=function(a,b){for(var d=[],c=0;c<b.length;c++)d.append(a(b[c]));return d};a.sorted=function(a,b,d){if("undefined"==typeof b||null!=b&&b.__class__==h)b=null;if("undefined"==typeof d||null!=d&&d.__class__==h)d=!1;if(arguments.length){var c=arguments.length-1;if(arguments[c]&&arguments[c].__class__==
  h){var c=arguments[c--],e;for(e in c)switch(e){case "iterable":a=c[e];break;case "key":b=c[e];break;case "reverse":d=c[e]}}}e=F(a)==w?D(a.keys()):D(a);l(e,b,d);return e}}}});x(c,"",E(c.org.transcrypt.__base__));var K=c.__envir__;x(c,"",E(c.org.transcrypt.__standard__));var C=c.StopIteration,L=c.AssertionError,W=c.__sort__;c.print=c.__terminal__.print;c.input=c.__terminal__.input;K.executor_name=K.transpiler_name;c.main={__file__:""};c.__except__=null;var h=function(a){a.__class__=h;a.constructor=
  Object;return a};c.___kwargdict__=h;c.property=function(a,b){b||(b=function(){});return{get:function(){return a(this)},set:function(a){b(this,a)},enumerable:!0}};c.assert=function(a,b){if(!a){if(void 0!=b)throw L(b);throw L();}};c.__merge__=function(a,b){var d={},c;for(c in a)d[c]=a[c];for(c in b)d[c]=b[c];return d};c.setattr=function(a,b,d){a[b]=d};c.getattr=function(a,b){return a[b]};c.hasattr=function(a,b){return b in a};c.delattr=function(a,b){delete a[b]};c.__in__=function(a,b){return F(b)==
  w?-1<b.keys().indexOf(a):b.indexOf?-1<b.indexOf(a):a in b};var v=function(a){return a.startswith("__")&&a.endswith("__")||"constructor"==a||a.startswith("py_")};c.__specialattrib__=v;var r=function(a){if(a){var b=a.length;if(void 0==b){var b=0,d;for(d in a)v(d)||b++}return b}return 0};c.len=r;var z=function(a){return"boolean"==typeof a?a:"number"==typeof a?0!=a:r(a)?!0:!1};z.__name__="bool";c.bool=z;var B=function(a){if(isNaN(a))throw"ValueError";return+a};B.__name__="float";c.float=B;var G=function(a){return B(a)|
  0};G.__name__="int";c.int=G;var F=function(a){try{return a.__class__}catch(d){var b=typeof a;return"boolean"==b?z:"number"==b?0==a%1?G:B:b}};c.type=F;c.isinstance=function(a,b){function d(a){if(a==b)return!0;for(var c=0;c<a.__bases__.length;c++)if(d(a.__bases__[c],b))return!0;return!1}try{return"__class__"in a?d(a.__class__):a instanceof b}catch(c){console.log(c),console.dir(a)}};c.__=function(a){return 0<=["boolean","number"].indexOf(typeof a)?a:r(a)?a:!1};var J=function(a){try{return a.__repr__()}catch(c){try{return a.__str__()}catch(g){try{if(a.constructor==
  Object){var b="{",d=!1,e;for(e in a)if(!v(e)){var f=e.isnumeric()?e:"'"+e+"'";d?b+=", ":d=!0;try{b+=f+": "+a[e].__repr__()}catch(h){b+=f+": "+a[e].toString()}}return b+"}"}return"boolean"==typeof a?a.toString().capitalize():a.toString()}catch(h){return console.log("ERROR: Could not evaluate repr (<object of type "+typeof a+">)"),"???"}}}};c.repr=J;c.chr=function(a){return String.fromCharCode(a)};c.org=function(a){return a.charCodeAt(0)};c.max=Math.max;c.min=Math.min;c.abs=Math.abs;c.round=function(a,
  b){if(b){var d=Math.pow(10,b);a*=d}var c=Math.round(a);.5==c-a&&c%2&&--c;b&&(c/=d);return c};c.py_iter=function(a){return"__iter__"in a?(a=a.__iter__(),a.next=A,a):"selector"in a?(a=m(a).__iter__(),a.next=A,a):"next"in a?(a.__next__=N,a):null};c.py_next=function(a){try{var b=a.__next__()}catch(d){b=a.next();if(b.done)throw C();return b.value}if(void 0==b)throw C();return b};c.__SeqIterator__=t;t.prototype.__iter__=function(){return this};t.prototype.__next__=function(){return this.iterable[this.index++]};
  t.prototype.next=A;c.__KeyIterator__=u;u.prototype.__iter__=function(){return this};u.prototype.__next__=function(){return this.iterable.keys()[this.index++]};u.prototype.next=A;c.py_reversed=function(a){a=a.slice();a.reverse();return a};var M=function(){var a=[].slice.call(arguments);return(0==a.length?[]:a.reduce(function(a,d){return a.length<d.length?a:d})).map(function(b,d){return a.map(function(a){return a[d]})})};c.zip=M;c.range=H;c.any=function(a){for(var b=0;b<a.length;b++)if(z(a[b]))return!0;
  return!1};c.all=function(a){for(var b=0;b<a.length;b++)if(!z(a[b]))return!1;return!0};c.sum=function(a){for(var b=0,d=0;d<a.length;d++)b+=a[d];return b};c.enumerate=function(a){return M(H(r(a)),a)};c.copy=D;c.deepcopy=I;c.list=m;Array.prototype.__class__=m;m.__name__="list";Array.prototype.__iter__=function(){return new t(this)};Array.prototype.__getslice__=function(a,b,d){0>a&&(a=this.length+a);null==b?b=this.length:0>b&&(b=this.length+b);for(var c=m([]);a<b;a+=d)c.push(this[a]);return c};Array.prototype.__setslice__=
  function(a,b,d,c){0>a&&(a=this.length+a);null==b?b=this.length:0>b&&(b=this.length+b);if(null==d)Array.prototype.splice.apply(this,[a,b-a].concat(c));else for(var f=0;a<b;a+=d)this[a]=c[f++]};Array.prototype.__repr__=function(){if(this.__class__==k&&!this.length)return"set()";for(var a=this.__class__&&this.__class__!=m?this.__class__==g?"(":"{":"[",b=0;b<this.length;b++){b&&(a+=", ");try{a+=this[b].__repr__()}catch(d){a+=this[b].toString()}}this.__class__==g&&1==this.length&&(a+=",");return a+=this.__class__&&
  this.__class__!=m?this.__class__==g?")":"}":"]"};Array.prototype.__str__=Array.prototype.__repr__;Array.prototype.append=function(a){this.push(a)};Array.prototype.clear=function(){this.length=0};Array.prototype.extend=function(a){this.push.apply(this,a)};Array.prototype.insert=function(a,b){this.splice(a,0,b)};Array.prototype.remove=function(a){a=this.indexOf(a);if(-1==a)throw"KeyError";this.splice(a,1)};Array.prototype.index=function(a){return this.indexOf(a)};Array.prototype.py_pop=function(a){return void 0==
  a?this.pop():this.splice(a,1)[0]};Array.prototype.py_sort=function(){W.apply(null,[this].concat([].slice.apply(arguments)))};Array.prototype.__add__=function(a){return m(this.concat(a))};Array.prototype.__mul__=function(a){for(var b=this,d=1;d<a;d++)b=b.concat(this);return b};Array.prototype.__rmul__=Array.prototype.__mul__;c.tuple=g;g.__name__="tuple";c.set=k;k.__name__="set";Array.prototype.__bindexOf__=function(a){a+="";for(var b=0,d=this.length-1;b<=d;){var c=(b+d)/2|0,f=this[c]+"";if(f<a)b=c+
  1;else if(f>a)d=c-1;else return c}return-1};Array.prototype.add=function(a){-1==this.indexOf(a)&&this.push(a)};Array.prototype.discard=function(a){a=this.indexOf(a);-1!=a&&this.splice(a,1)};Array.prototype.isdisjoint=function(a){this.sort();for(var b=0;b<a.length;b++)if(-1!=this.__bindexOf__(a[b]))return!1;return!0};Array.prototype.issuperset=function(a){this.sort();for(var b=0;b<a.length;b++)if(-1==this.__bindexOf__(a[b]))return!1;return!0};Array.prototype.issubset=function(a){return k(a.slice()).issuperset(this)};
  Array.prototype.union=function(a){for(var b=k(this.slice().sort()),d=0;d<a.length;d++)-1==b.__bindexOf__(a[d])&&b.push(a[d]);return b};Array.prototype.intersection=function(a){this.sort();for(var b=k(),d=0;d<a.length;d++)-1!=this.__bindexOf__(a[d])&&b.push(a[d]);return b};Array.prototype.difference=function(a){a=k(a.slice().sort());for(var b=k(),d=0;d<this.length;d++)-1==a.__bindexOf__(this[d])&&b.push(this[d]);return b};Array.prototype.symmetric_difference=function(a){return this.union(a).difference(this.intersection(a))};
  Array.prototype.update=function(){var a=[].concat.apply(this.slice(),arguments).sort();this.clear();for(var b=0;b<a.length;b++)a[b]!=a[b-1]&&this.push(a[b])};Array.prototype.__eq__=function(a){if(this.length!=a.length)return!1;this.__class__==k&&(this.sort(),a.sort());for(var b=0;b<this.length;b++)if(this[b]!=a[b])return!1;return!0};Array.prototype.__ne__=function(a){return!this.__eq__(a)};Array.prototype.__le__=function(a){return this.issubset(a)};Array.prototype.__ge__=function(a){return this.issuperset(a)};
  Array.prototype.__lt__=function(a){return this.issubset(a)&&!this.issuperset(a)};Array.prototype.__gt__=function(a){return this.issuperset(a)&&!this.issubset(a)};c.dict=w;w.__name__="dict";c.str=p;String.prototype.__class__=p;p.__name__="str";String.prototype.__iter__=function(){return new t(this)};String.prototype.__repr__=function(){return(-1==this.indexOf("'")?"'"+this+"'":'"'+this+'"').replace("\t","\\t").replace("\n","\\n")};String.prototype.__str__=function(){return this};String.prototype.capitalize=
  function(){return this.charAt(0).toUpperCase()+this.slice(1)};String.prototype.endswith=function(a){return""==a||this.slice(-a.length)==a};String.prototype.find=function(a,b){return this.indexOf(a,b)};String.prototype.__getslice__=function(a,b,d){0>a&&(a=this.length+a);null==b?b=this.length:0>b&&(b=this.length+b);var c="";if(1==d)c=this.substring(a,b);else for(;a<b;a+=d)c=c.concat(this.charAt(a));return c};Object.defineProperty(String.prototype,"format",{get:function(){return n(this,function(a){var b=
  g([].slice.apply(arguments).slice(1)),c=0;return a.replace(/\{(\w*)\}/g,function(a,f){""==f&&(f=c++);if(f==+f)return void 0==b[f]?a:b[f];for(var g=0;g<b.length;g++)if("object"==typeof b[g]&&void 0!=b[g][f])return b[g][f];return a})})},enumerable:!0});String.prototype.isnumeric=function(){return!isNaN(parseFloat(this))&&isFinite(this)};String.prototype.join=function(a){return a.join(this)};String.prototype.lower=function(){return this.toLowerCase()};String.prototype.py_replace=function(a,b,c){return this.split(a,
  c).join(b)};String.prototype.lstrip=function(){return this.replace(/^\s*/g,"")};String.prototype.rfind=function(a,b){return this.lastIndexOf(a,b)};String.prototype.rsplit=function(a,b){if(void 0==a||null==a){a=/\s+/;var c=this.strip()}else c=this;if(void 0==b||-1==b)return c.split(a);c=c.split(a);return b<c.length?(b=c.length-b,[c.slice(0,b).join(a)].concat(c.slice(b))):c};String.prototype.rstrip=function(){return this.replace(/\s*$/g,"")};String.prototype.py_split=function(a,b){if(void 0==a||null==
  a){a=/\s+/;var c=this.strip()}else c=this;if(void 0==b||-1==b)return c.split(a);c=c.split(a);return b<c.length?c.slice(0,b).concat([c.slice(b).join(a)]):c};String.prototype.startswith=function(a){return 0==this.indexOf(a)};String.prototype.strip=function(){return this.trim()};String.prototype.upper=function(){return this.toUpperCase()};String.prototype.__mul__=function(a){for(var b=this,c=1;c<a;c++)b+=this;return b};String.prototype.__rmul__=String.prototype.__mul__;c.__neg__=function(a){return"object"==
  typeof a&&"__neg__"in a?a.__neg__():-a};c.__matmul__=function(a,b){return a.__matmul__(b)};c.pow=function(a,b){return"object"==typeof a&&"__pow__"in a?a.__pow__(b):"object"==typeof b&&"__rpow__"in b?b.__rpow__(a):Math.pow(a,b)};c.__mul__=function(a,b){return"object"==typeof a&&"__mul__"in a?a.__mul__(b):"object"==typeof b&&"__rmul__"in b?b.__rmul__(a):"string"==typeof a?a.__mul__(b):"string"==typeof b?b.__rmul__(a):a*b};c.__div__=function(a,b){return"object"==typeof a&&"__div__"in a?a.__div__(b):
  "object"==typeof b&&"__rdiv__"in b?b.__rdiv__(a):a/b};c.__add__=function(a,b){return"object"==typeof a&&"__add__"in a?a.__add__(b):"object"==typeof b&&"__radd__"in b?b.__radd__(a):a+b};c.__sub__=function(a,b){return"object"==typeof a&&"__sub__"in a?a.__sub__(b):"object"==typeof b&&"__rsub__"in b?b.__rsub__(a):a-b};c.__eq__=function(a,b){return"object"==typeof a&&"__eq__"in a?a.__eq__(b):a==b};c.__ne__=function(a,b){return"object"==typeof a&&"__ne__"in a?a.__ne__(b):a!=b};c.__lt__=function(a,b){return"object"==
  typeof a&&"__lt__"in a?a.__lt__(b):a<b};c.__le__=function(a,b){return"object"==typeof a&&"__le__"in a?a.__le__(b):a<=b};c.__gt__=function(a,b){return"object"==typeof a&&"__gt__"in a?a.__gt__(b):a>b};c.__ge__=function(a,b){return"object"==typeof a&&"__ge__"in a?a.__ge__(b):a>=b};c.__getitem__=function(a,b){return"object"==typeof a&&"__getitem__"in a?a.__getitem__(b):a[b]};c.__setitem__=function(a,b,c){"object"==typeof a&&"__setitem__"in a?a.__setitem__(b,c):a[b]=c};c.__getslice__=function(a,b,c,e){return"object"==
  typeof a&&"__getitem__"in a?a.__getitem__([b,c,e]):a.__getslice__(b,c,e)};c.__setslice__=function(a,b,c,e,f){"object"==typeof a&&"__setitem__"in a?a.__setitem__([b,c,e],f):a.__setslice__(b,c,e,f)};c.__call__=function(){var a=[].slice.apply(arguments);return"object"==typeof a[0]&&"__call__"in a[0]?a[0].__call__.apply(null,a.slice(1)):a[0].apply(null,a.slice(1))};c.a=2;c.b=2;return c}window.test=test();
  