/* 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 {
private static int defaultStep = 2;
private static int defaultIndex = defaultStep;
List
<Integer
> list
= new ArrayList
<>(Arrays.
asList(1,
2,
3,
4,
5));
List<Integer> result = reformatList(list, defaultIndex);
System.
out.
println("result: " + result
); }
private static List<Integer> reformatList(List<Integer> list, int idx) {
if (list.size() == 1) {
return list;
}
if (idx > list.size())
return reformatList(list, idx - list.size());
System.
out.
print(list.
get(idx
- 1) + ", "); list.remove(idx - 1);
return reformatList(list, defaultStep + idx - 1);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lIHsKCXByaXZhdGUgc3RhdGljIGludCBkZWZhdWx0U3RlcCA9IDI7CiAgICBwcml2YXRlIHN0YXRpYyBpbnQgZGVmYXVsdEluZGV4ID0gZGVmYXVsdFN0ZXA7CiAgICAKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbiAJewoJCUxpc3Q8SW50ZWdlcj4gbGlzdD0gbmV3IEFycmF5TGlzdDw+KEFycmF5cy5hc0xpc3QoMSwgMiwgMywgNCwgNSkpOwoJCSAKICAgICAgICBMaXN0PEludGVnZXI+IHJlc3VsdCA9IHJlZm9ybWF0TGlzdChsaXN0LCBkZWZhdWx0SW5kZXgpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigicmVzdWx0OiAiICsgcmVzdWx0KTsKICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyBMaXN0PEludGVnZXI+IHJlZm9ybWF0TGlzdChMaXN0PEludGVnZXI+IGxpc3QsIGludCBpZHgpIHsKICAgICAgICBpZiAobGlzdC5zaXplKCkgPT0gMSkgewogICAgICAgICAgICByZXR1cm4gbGlzdDsKICAgICAgICB9CgogICAgICAgIGlmIChpZHggPiBsaXN0LnNpemUoKSkKICAgICAgICAgICAgcmV0dXJuIHJlZm9ybWF0TGlzdChsaXN0LCBpZHggLSBsaXN0LnNpemUoKSk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnQobGlzdC5nZXQoaWR4IC0gMSkgKyAiLCAiKTsKICAgICAgICBsaXN0LnJlbW92ZShpZHggLSAxKTsKICAgICAgICAKICAgICAgICByZXR1cm4gcmVmb3JtYXRMaXN0KGxpc3QsIGRlZmF1bHRTdGVwICsgaWR4IC0gMSk7Cgl9Cn0=