process.stdin.resume();
process.stdin.setEncoding('utf8');
// your code goes here
const ordered = (a, b) => a < b;
function almostIncreasingSequence(xs) {
for(var i=0, removed = false; i<xs.length - 1; ++i) {
if(!ordered(xs[i], xs[i+1])) {
// если раньше убирали, а теперь непоследовательность второй раз
// или уберём сейчас левый или правый, а последовательности не будет
if(removed ||
i > 0 && !ordered(xs[i-1], xs[i+1]) &&
i + 2 < xs.length && !ordered(xs[i], xs[i+2])) return false;
// если выкинуть один, xs[0]..xs[i+1] - упорядочена
removed = true;
}
}
return true;
}
const least = -Infinity;
const isIncreasingSequence1 = (_, n, xs) => xs.reduce((r, x, i) =>
i == n ? r : [r[0] && ordered(r[1], x), x], [true, least])[0];
const almostIncreasingSequenceNaive = xs =>
isIncreasingSequence1(null,-1, xs) || xs.some(isIncreasingSequence1);
function seqInc(xs) {
const dmin = -3, dmax = 3;
for(var i=0; i<xs.length; ++i) {
if(++xs[i] > dmax) xs[i] = dmin;
else break;
}
if(i >= xs.length) {
for(var i=0; i<xs.length; ++i) xs[i] = dmin;
xs.push(dmin);
}
}
var seq = [];
while(seq.length < 7) {
var a = almostIncreasingSequence(seq);
var an = almostIncreasingSequenceNaive(seq);
if(a != an) console.error(seq, a, an);
seqInc(seq);
}
cHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTsKcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZygndXRmOCcpOwoKLy8geW91ciBjb2RlIGdvZXMgaGVyZQpjb25zdCBvcmRlcmVkID0gKGEsIGIpID0+IGEgPCBiOwoKZnVuY3Rpb24gYWxtb3N0SW5jcmVhc2luZ1NlcXVlbmNlKHhzKSB7CiAgZm9yKHZhciBpPTAsIHJlbW92ZWQgPSBmYWxzZTsgaTx4cy5sZW5ndGggLSAxOyArK2kpIHsKICAgIGlmKCFvcmRlcmVkKHhzW2ldLCB4c1tpKzFdKSkgewogICAgICAKICAgICAgLy8g0LXRgdC70Lgg0YDQsNC90YzRiNC1INGD0LHQuNGA0LDQu9C4LCDQsCDRgtC10L/QtdGA0Ywg0L3QtdC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjCDQstGC0L7RgNC+0Lkg0YDQsNC3CiAgICAgIC8vINC40LvQuCDRg9Cx0LXRgNGR0Lwg0YHQtdC50YfQsNGBINC70LXQstGL0Lkg0LjQu9C4INC/0YDQsNCy0YvQuSwg0LAg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4INC90LUg0LHRg9C00LXRggogICAgICBpZihyZW1vdmVkIHx8CiAgICAgICAgIGkgPiAwICYmICFvcmRlcmVkKHhzW2ktMV0sIHhzW2krMV0pICYmCiAgICAgICAgIGkgKyAyIDwgeHMubGVuZ3RoICYmICFvcmRlcmVkKHhzW2ldLCB4c1tpKzJdKSkgcmV0dXJuIGZhbHNlOwogICAgICAKICAgICAgLy8g0LXRgdC70Lgg0LLRi9C60LjQvdGD0YLRjCDQvtC00LjQvSwgeHNbMF0uLnhzW2krMV0gLSDRg9C/0L7RgNGP0LTQvtGH0LXQvdCwCiAgICAgIHJlbW92ZWQgPSB0cnVlOwogICAgfQogIH0KICAKICByZXR1cm4gdHJ1ZTsKfQoKY29uc3QgbGVhc3QgPSAtSW5maW5pdHk7Cgpjb25zdCBpc0luY3JlYXNpbmdTZXF1ZW5jZTEgPSAoXywgbiwgeHMpID0+IHhzLnJlZHVjZSgociwgeCwgaSkgPT4KICBpID09IG4gPyByIDogW3JbMF0gJiYgb3JkZXJlZChyWzFdLCB4KSwgeF0sIFt0cnVlLCBsZWFzdF0pWzBdOwoKY29uc3QgYWxtb3N0SW5jcmVhc2luZ1NlcXVlbmNlTmFpdmUgPSB4cyA9PgogIGlzSW5jcmVhc2luZ1NlcXVlbmNlMShudWxsLC0xLCB4cykgfHwgeHMuc29tZShpc0luY3JlYXNpbmdTZXF1ZW5jZTEpOwoKZnVuY3Rpb24gc2VxSW5jKHhzKSB7CiAgY29uc3QgZG1pbiA9IC0zLCBkbWF4ID0gMzsKICBmb3IodmFyIGk9MDsgaTx4cy5sZW5ndGg7ICsraSkgewogICAgaWYoKyt4c1tpXSA+IGRtYXgpIHhzW2ldID0gZG1pbjsKICAgIGVsc2UgYnJlYWs7CiAgfQogIGlmKGkgPj0geHMubGVuZ3RoKSB7CiAgICBmb3IodmFyIGk9MDsgaTx4cy5sZW5ndGg7ICsraSkgeHNbaV0gPSBkbWluOwogICAgeHMucHVzaChkbWluKTsKICB9Cn0KCnZhciBzZXEgPSBbXTsKCndoaWxlKHNlcS5sZW5ndGggPCA3KSB7CiAgdmFyIGEgPSBhbG1vc3RJbmNyZWFzaW5nU2VxdWVuY2Uoc2VxKTsKICB2YXIgYW4gPSBhbG1vc3RJbmNyZWFzaW5nU2VxdWVuY2VOYWl2ZShzZXEpOwogIGlmKGEgIT0gYW4pIGNvbnNvbGUuZXJyb3Ioc2VxLCBhLCBhbik7CiAgc2VxSW5jKHNlcSk7Cn0=