(function (stack, heap, callStack, main, buf) {
var WS2JS = (function defaultMethod() {
var inputBuffer = "", inputBufferIndex = 0;
function getInput() {
if (!inputBuffer || inputBuffer.length <= inputBufferIndex) {
inputBuffer = prompt("");
if (inputBuffer !== null) {
document.write(inputBuffer);
inputBuffer += "\n";
}
document.write("<BR>");
inputBufferIndex = 0;
}
}
return {
document.write(c === 10 ? "\n<BR>" : String.fromCharCode(c));
},
putn : function (n) {
document.write(n);
},
getc : function (callback
) { getInput();
var c = inputBuffer === null ? -1 : inputBuffer.charCodeAt(inputBufferIndex++);
setTimeout(function () { callback(c);}, 0);
},
getn : function (callback) {
getInput();
var s = (inputBuffer||"").substr(inputBufferIndex), n = parseInt(s, 10) || 0;
if (inputBuffer)
inputBufferIndex += s.indexOf("\n") + 1;
setTimeout(function () { callback(n);}, 0);
},
onExit : function () {
document.write("\n");
document.close();
}
};
})();
(main = function (label, end) { do switch(label) {
case 0:
stack.push(3.3359833387980225e+155);
case 1:
WS2JS.onExit();
case 2:
end = 1; break;
default: throw new Error('Invalid label :' + label);} while (!end);})(0);
})([], {}, []);
KGZ1bmN0aW9uIChzdGFjaywgaGVhcCwgY2FsbFN0YWNrLCBtYWluLCBidWYpIHsKCiAgdmFyIFdTMkpTID0gKGZ1bmN0aW9uIGRlZmF1bHRNZXRob2QoKSB7CgogICAgdmFyIGlucHV0QnVmZmVyID0gIiIsIGlucHV0QnVmZmVySW5kZXggPSAwOwoKICAgIGZ1bmN0aW9uIGdldElucHV0KCkgewogICAgICBpZiAoIWlucHV0QnVmZmVyIHx8IGlucHV0QnVmZmVyLmxlbmd0aCA8PSBpbnB1dEJ1ZmZlckluZGV4KSB7CiAgICAgICAgaW5wdXRCdWZmZXIgPSBwcm9tcHQoIiIpOwogICAgICAgIGlmIChpbnB1dEJ1ZmZlciAhPT0gbnVsbCkgewogICAgICAgICAgZG9jdW1lbnQud3JpdGUoaW5wdXRCdWZmZXIpOwogICAgICAgICAgaW5wdXRCdWZmZXIgKz0gIlxuIjsKICAgICAgICB9CiAgICAgICAgZG9jdW1lbnQud3JpdGUoIjxCUj4iKTsKICAgICAgICBpbnB1dEJ1ZmZlckluZGV4ID0gMDsKICAgICAgfQogICAgfQoKICAgIHJldHVybiB7CgogICAgICBwdXRjIDogZnVuY3Rpb24gKGMpIHsKICAgICAgICBkb2N1bWVudC53cml0ZShjID09PSAxMCA/ICJcbjxCUj4iIDogU3RyaW5nLmZyb21DaGFyQ29kZShjKSk7CiAgICAgIH0sCgogICAgICBwdXRuIDogZnVuY3Rpb24gKG4pIHsKICAgICAgICBkb2N1bWVudC53cml0ZShuKTsKICAgICAgfSwKCiAgICAgIGdldGMgOiBmdW5jdGlvbiAoY2FsbGJhY2spIHsKICAgICAgICBnZXRJbnB1dCgpOwogICAgICAgIHZhciBjID0gaW5wdXRCdWZmZXIgPT09IG51bGwgPyAtMSA6IGlucHV0QnVmZmVyLmNoYXJDb2RlQXQoaW5wdXRCdWZmZXJJbmRleCsrKTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgY2FsbGJhY2soYyk7fSwgMCk7CiAgICAgIH0sCgogICAgICBnZXRuIDogZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgZ2V0SW5wdXQoKTsKICAgICAgICB2YXIgcyA9IChpbnB1dEJ1ZmZlcnx8IiIpLnN1YnN0cihpbnB1dEJ1ZmZlckluZGV4KSwgbiA9IHBhcnNlSW50KHMsIDEwKSB8fCAwOwogICAgICAgIGlmIChpbnB1dEJ1ZmZlcikKICAgICAgICAgIGlucHV0QnVmZmVySW5kZXggKz0gcy5pbmRleE9mKCJcbiIpICsgMTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgY2FsbGJhY2sobik7fSwgMCk7CiAgICAgIH0sCgogICAgICBvbkV4aXQgOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgZG9jdW1lbnQud3JpdGUoIlxuIik7CiAgICAgICAgZG9jdW1lbnQuY2xvc2UoKTsKICAgICAgfQoKICAgIH07CiAgfSkoKTsKCiAgKG1haW4gPSBmdW5jdGlvbiAobGFiZWwsIGVuZCkgeyBkbyBzd2l0Y2gobGFiZWwpIHsKCiAgICBjYXNlIDA6CgogICAgICBzdGFjay5wdXNoKDMuMzM1OTgzMzM4Nzk4MDIyNWUrMTU1KTsKCiAgICBjYXNlIDE6CgogICAgICBXUzJKUy5vbkV4aXQoKTsKCiAgICBjYXNlIDI6CgogICAgICBlbmQgPSAxOyBicmVhazsKCiAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGxhYmVsIDonICsgbGFiZWwpO30gd2hpbGUgKCFlbmQpO30pKDApOwoKfSkoW10sIHt9LCBbXSk7Cgo=