process.stdin.resume();
process.stdin.setEncoding('utf8');
var cCFPB;
cCFPB = (function () {
var makeAPartBytes, makeBytes;
cCFPB.debug = false;
function cCFPB(sDirtyBytes) {
var arr;
arr = makeAPartBytes(sDirtyBytes);
var times = function (a,x) { var out=[]; while(x>0) { out = out.concat(a); x-- }; return out }
arr = times(arr, 50);
console.log('Length of input arr: ' + arr.length);
makeBytes(arr, 8);
}
makeAPartBytes = function (arg) {
var arr, typeArg;
typeArg = typeof arg;
if (typeArg === 'string') {
console.log('Check string!');
arr = arg.match(/\S\w*|\S\w*\S|\w*\S/g);
}
if (typeArg === 'Array') {
console.log('Check Array!');
arr = arg;
}
if ((typeArg !== 'string') && (typeArg !== 'Array')) {
console.log('Check not string and not Array!');
}
return arr;
};
makeBytes = function (arr, lengthDef, aElem, length, x, numCall) {
var alnt, e, elem, i, iter, prnt, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _results;
if (numCall == null) {
numCall = 0;
}
++numCall;
if (numCall > 8) {
return;
}
if (typeof x === 'undefined') {
x = 0;
}
if (cCFPB.debug) {
console.log("===========" + numCall + "===========");
}
_results = [];
for (i = _i = 0, _len = arr.length; _i < _len; i = ++_i) {
elem = arr[i];
if (!(i > x)) {
continue;
}
if (cCFPB.debug) {
if (typeof iter === 'undefined') {
iter = 0;
}
++iter;
console.log("|---Iter:" + iter + "----");
console.log("|Pass summ leng: " + length);
}
if (typeof length === 'undefined') {
length = 0;
}
if (typeof aElem === 'undefined') {
aElem = [];
}
length = elem.length + length;
if (cCFPB.debug) {
console.log("|Summ length: " + length);
console.log("|Curr elem: " + elem + ' :: ' + elem.length);
}
if (length < lengthDef) {
if (cCFPB.debug) {
console.log('|Check: < ');
console.log('|New cycle!');
}
if (cCFPB.debug) {
console.log('|' + aElem);
}
aElem.push(elem);
length = 0;
for (_j = 0, _len1 = aElem.length; _j < _len1; _j++) {
e = aElem[_j];
length = length + e.length;
}
makeBytes(arr, lengthDef, aElem, length, i, numCall);
}
if (length > lengthDef) {
if (cCFPB.debug) {
console.log('|Check: >');
}
length = 0;
for (_k = 0, _len2 = aElem.length; _k < _len2; _k++) {
e = aElem[_k];
length = length + e.length;
}
continue;
}
if (length == lengthDef) {
if (cCFPB.debug) {
console.log("|Check: =!!!!!!!!!!=");
}
aElem.push(elem);
alnt = aElem.length;
for (i = _l = 0, _len3 = aElem.length; _l < _len3; i = ++_l) {
e = aElem[i];
if (cCFPB.debug) {
console.log('|InPrnt:' + e);
}
if (typeof prnt === 'undefined') {
prnt = '';
}
if (i + 1 === alnt) {
prnt = prnt + e;
} else {
prnt = prnt + e + '+';
}
}
prnt = prnt;
aElem = [];
length = 0;
for (_m = 0, _len4 = aElem.length; _m < _len4; _m++) {
e = aElem[_m];
length = length + e.length;
}
//console.log("|Byte: " + prnt);
_results.push(prnt = '');
} else {
_results.push(void 0);
}
}
return _results;
};
return cCFPB;
})();
process.stdin.on('data', function (chunk) {
var data = '';
data+=chunk;
new cCFPB(data);
});
cHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTsKcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZygndXRmOCcpOwoKdmFyIGNDRlBCOwpjQ0ZQQiA9IChmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFrZUFQYXJ0Qnl0ZXMsIG1ha2VCeXRlczsKICAgIGNDRlBCLmRlYnVnID0gZmFsc2U7CiAgICBmdW5jdGlvbiBjQ0ZQQihzRGlydHlCeXRlcykgewogICAgICAgIHZhciBhcnI7CiAgICAgICAgYXJyID0gbWFrZUFQYXJ0Qnl0ZXMoc0RpcnR5Qnl0ZXMpOwogICAgICAgIHZhciB0aW1lcyAgICA9IGZ1bmN0aW9uIChhLHgpIHsgdmFyIG91dD1bXTsgd2hpbGUoeD4wKSB7IG91dCA9IG91dC5jb25jYXQoYSk7IHgtLSB9OyByZXR1cm4gb3V0IH0KICAgICAgICBhcnIgPSB0aW1lcyhhcnIsIDUwKTsKICAgICAgICBjb25zb2xlLmxvZygnTGVuZ3RoIG9mIGlucHV0IGFycjogJyArIGFyci5sZW5ndGgpOwogICAgICAgIG1ha2VCeXRlcyhhcnIsIDgpOwogICAgfQoKICAgIG1ha2VBUGFydEJ5dGVzID0gZnVuY3Rpb24gKGFyZykgewogICAgICAgIHZhciBhcnIsIHR5cGVBcmc7CiAgICAgICAgdHlwZUFyZyA9IHR5cGVvZiBhcmc7CiAgICAgICAgaWYgKHR5cGVBcmcgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDaGVjayBzdHJpbmchJyk7CiAgICAgICAgICAgIGFyciA9IGFyZy5tYXRjaCgvXFNcdyp8XFNcdypcU3xcdypcUy9nKTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVBcmcgPT09ICdBcnJheScpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ0NoZWNrIEFycmF5IScpOwogICAgICAgICAgICBhcnIgPSBhcmc7CiAgICAgICAgfQogICAgICAgIGlmICgodHlwZUFyZyAhPT0gJ3N0cmluZycpICYmICh0eXBlQXJnICE9PSAnQXJyYXknKSkgewogICAgICAgICAgICBjb25zb2xlLmxvZygnQ2hlY2sgbm90IHN0cmluZyBhbmQgbm90IEFycmF5IScpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gYXJyOwogICAgfTsKICAgIG1ha2VCeXRlcyA9IGZ1bmN0aW9uIChhcnIsIGxlbmd0aERlZiwgYUVsZW0sIGxlbmd0aCwgeCwgbnVtQ2FsbCkgewogICAgICAgIHZhciBhbG50LCBlLCBlbGVtLCBpLCBpdGVyLCBwcm50LCBfaSwgX2osIF9rLCBfbCwgX2xlbiwgX2xlbjEsIF9sZW4yLCBfbGVuMywgX2xlbjQsIF9tLCBfcmVzdWx0czsKICAgICAgICBpZiAobnVtQ2FsbCA9PSBudWxsKSB7CiAgICAgICAgICAgIG51bUNhbGwgPSAwOwogICAgICAgIH0KICAgICAgICArK251bUNhbGw7CiAgICAgICAgaWYgKG51bUNhbGwgPiA4KSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiB4ID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICB4ID0gMDsKICAgICAgICB9CiAgICAgICAgaWYgKGNDRlBCLmRlYnVnKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCI9PT09PT09PT09PSIgKyBudW1DYWxsICsgIj09PT09PT09PT09Iik7CiAgICAgICAgfQogICAgICAgIF9yZXN1bHRzID0gW107CiAgICAgICAgZm9yIChpID0gX2kgPSAwLCBfbGVuID0gYXJyLmxlbmd0aDsgX2kgPCBfbGVuOyBpID0gKytfaSkgewogICAgICAgICAgICBlbGVtID0gYXJyW2ldOwogICAgICAgICAgICBpZiAoIShpID4geCkpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChjQ0ZQQi5kZWJ1ZykgewogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVyID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgIGl0ZXIgPSAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKytpdGVyOwogICAgICAgICAgICAgICAgY29uc29sZS5sb2coInwtLS1JdGVyOiIgKyBpdGVyICsgIi0tLS0iKTsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJ8UGFzcyBzdW1tIGxlbmc6ICIgKyBsZW5ndGgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh0eXBlb2YgbGVuZ3RoID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgbGVuZ3RoID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodHlwZW9mIGFFbGVtID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgYUVsZW0gPSBbXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBsZW5ndGggPSBlbGVtLmxlbmd0aCArIGxlbmd0aDsKICAgICAgICAgICAgaWYgKGNDRlBCLmRlYnVnKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygifFN1bW0gbGVuZ3RoOiAiICsgbGVuZ3RoKTsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJ8Q3VyciBlbGVtOiAiICsgZWxlbSArICcgOjogJyArIGVsZW0ubGVuZ3RoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAobGVuZ3RoIDwgbGVuZ3RoRGVmKSB7CiAgICAgICAgICAgICAgICBpZiAoY0NGUEIuZGVidWcpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnfENoZWNrOiA8ICcpOwogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd8TmV3IGN5Y2xlIScpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGNDRlBCLmRlYnVnKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3wnICsgYUVsZW0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYUVsZW0ucHVzaChlbGVtKTsKICAgICAgICAgICAgICAgIGxlbmd0aCA9IDA7CiAgICAgICAgICAgICAgICBmb3IgKF9qID0gMCwgX2xlbjEgPSBhRWxlbS5sZW5ndGg7IF9qIDwgX2xlbjE7IF9qKyspIHsKICAgICAgICAgICAgICAgICAgICBlID0gYUVsZW1bX2pdOwogICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGxlbmd0aCArIGUubGVuZ3RoOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbWFrZUJ5dGVzKGFyciwgbGVuZ3RoRGVmLCBhRWxlbSwgbGVuZ3RoLCBpLCBudW1DYWxsKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAobGVuZ3RoID4gbGVuZ3RoRGVmKSB7CiAgICAgICAgICAgICAgICBpZiAoY0NGUEIuZGVidWcpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnfENoZWNrOiA+Jyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBsZW5ndGggPSAwOwogICAgICAgICAgICAgICAgZm9yIChfayA9IDAsIF9sZW4yID0gYUVsZW0ubGVuZ3RoOyBfayA8IF9sZW4yOyBfaysrKSB7CiAgICAgICAgICAgICAgICAgICAgZSA9IGFFbGVtW19rXTsKICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBsZW5ndGggKyBlLmxlbmd0aDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChsZW5ndGggPT0gbGVuZ3RoRGVmKSB7CiAgICAgICAgICAgICAgICBpZiAoY0NGUEIuZGVidWcpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygifENoZWNrOiAgICAgICAgICAgICA9ISEhISEhISEhIT0iKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGFFbGVtLnB1c2goZWxlbSk7CiAgICAgICAgICAgICAgICBhbG50ID0gYUVsZW0ubGVuZ3RoOwogICAgICAgICAgICAgICAgZm9yIChpID0gX2wgPSAwLCBfbGVuMyA9IGFFbGVtLmxlbmd0aDsgX2wgPCBfbGVuMzsgaSA9ICsrX2wpIHsKICAgICAgICAgICAgICAgICAgICBlID0gYUVsZW1baV07CiAgICAgICAgICAgICAgICAgICAgaWYgKGNDRlBCLmRlYnVnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd8SW5Qcm50OicgKyBlKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm50ID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgICAgICBwcm50ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmIChpICsgMSA9PT0gYWxudCkgewogICAgICAgICAgICAgICAgICAgICAgICBwcm50ID0gcHJudCArIGU7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcHJudCA9IHBybnQgKyBlICsgJysnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHBybnQgPSBwcm50OwogICAgICAgICAgICAgICAgYUVsZW0gPSBbXTsKICAgICAgICAgICAgICAgIGxlbmd0aCA9IDA7CiAgICAgICAgICAgICAgICBmb3IgKF9tID0gMCwgX2xlbjQgPSBhRWxlbS5sZW5ndGg7IF9tIDwgX2xlbjQ7IF9tKyspIHsKICAgICAgICAgICAgICAgICAgICBlID0gYUVsZW1bX21dOwogICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGxlbmd0aCArIGUubGVuZ3RoOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZygifEJ5dGU6ICIgKyBwcm50KTsKICAgICAgICAgICAgICAgIF9yZXN1bHRzLnB1c2gocHJudCA9ICcnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIF9yZXN1bHRzLnB1c2godm9pZCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gX3Jlc3VsdHM7CiAgICB9OwogICAgcmV0dXJuIGNDRlBCOwp9KSgpOwoKcHJvY2Vzcy5zdGRpbi5vbignZGF0YScsIGZ1bmN0aW9uIChjaHVuaykgeyAKdmFyIGRhdGEgPSAnJzsKZGF0YSs9Y2h1bms7Cm5ldyBjQ0ZQQihkYXRhKTsKfSk7Cg==