/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone {
p(8);
p(9);
}
private static void p(int n) {
System.
out.
println("Input: " + n
); var start
= (int) Math.
ceil(n
/2.0); var even = (n & 1) == 0;
tailrec(start, even, start, -1);
}
private static void tailrec(int start, boolean even, int current, int step) {
if (current > start) {
return;
}
System.
out.
print(" " + current
); if (current > 1) {
tailrec(start, even, current+step, step);
} else {
if (even
) { System.
out.
print(" " + current
); } tailrec(start, even, current+1, 1);
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lIHsKCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uIHsKCQlwKDgpOwoJCXAoOSk7Cgl9CgkKCXByaXZhdGUgc3RhdGljIHZvaWQgcChpbnQgbikgewoJCVN5c3RlbS5vdXQucHJpbnRsbigiSW5wdXQ6ICIgKyBuKTsKCQlTeXN0ZW0ub3V0LnByaW50KCJPdXRwdXQ6Iik7CgkJdmFyIHN0YXJ0ID0gKGludCkgTWF0aC5jZWlsKG4vMi4wKTsKCQl2YXIgZXZlbiA9IChuICYgMSkgPT0gMDsKCQl0YWlscmVjKHN0YXJ0LCBldmVuLCBzdGFydCwgLTEpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigpOwoJfQoJCglwcml2YXRlIHN0YXRpYyB2b2lkIHRhaWxyZWMoaW50IHN0YXJ0LCBib29sZWFuIGV2ZW4sIGludCBjdXJyZW50LCBpbnQgc3RlcCkgewoJCWlmIChjdXJyZW50ID4gc3RhcnQpIHsKCQkJcmV0dXJuOwoJCX0KCQlTeXN0ZW0ub3V0LnByaW50KCIgIiArIGN1cnJlbnQpOwoJCWlmIChjdXJyZW50ID4gMSkgewoJCQl0YWlscmVjKHN0YXJ0LCBldmVuLCBjdXJyZW50K3N0ZXAsIHN0ZXApOwoJCX0gZWxzZSB7CgkJCWlmIChldmVuKSB7IFN5c3RlbS5vdXQucHJpbnQoIiAiICsgY3VycmVudCk7IH0KCQkJdGFpbHJlYyhzdGFydCwgZXZlbiwgY3VycmVudCsxLCAxKTsKCQl9Cgl9Cn0=