import java.util.Stack;
class Test {
public static void main
(String[] args
) { int[] input = { 1, 2, 3, 4, 5 };
ma(input);
}
public static void ma(int[] input) {
Stack<Boolean> stack = new Stack<>();
while (true) {
while (stack.size() < input.length) {
stack.push(true);
print(stack, input);
}
while (!stack.isEmpty() && !stack.peek())
stack.pop();
if (stack.isEmpty())
break;
stack.pop();
stack.push(false);
}
}
public static void print(Stack<Boolean> stack, int[] input) {
boolean begin = true;
for (int i = 0; i < stack.size(); i++)
if (stack.get(i)) {
if (begin)
begin = false;
else
}
}
}
aW1wb3J0IGphdmEudXRpbC5TdGFjazsKCiBjbGFzcyBUZXN0IHsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJaW50W10gaW5wdXQgPSB7IDEsIDIsIDMsIDQsIDUgfTsKCQltYShpbnB1dCk7Cgl9CgoJcHVibGljIHN0YXRpYyB2b2lkIG1hKGludFtdIGlucHV0KSB7CgkJU3RhY2s8Qm9vbGVhbj4gc3RhY2sgPSBuZXcgU3RhY2s8PigpOwoJCXdoaWxlICh0cnVlKSB7CgkJCXdoaWxlIChzdGFjay5zaXplKCkgPCBpbnB1dC5sZW5ndGgpIHsKCQkJCXN0YWNrLnB1c2godHJ1ZSk7CgkJCQlwcmludChzdGFjaywgaW5wdXQpOwoJCQl9CgkJCXdoaWxlICghc3RhY2suaXNFbXB0eSgpICYmICFzdGFjay5wZWVrKCkpCgkJCQlzdGFjay5wb3AoKTsKCQkJaWYgKHN0YWNrLmlzRW1wdHkoKSkKCQkJCWJyZWFrOwoJCQlzdGFjay5wb3AoKTsKCQkJc3RhY2sucHVzaChmYWxzZSk7CgkJfQoJfQoKCXB1YmxpYyBzdGF0aWMgdm9pZCBwcmludChTdGFjazxCb29sZWFuPiBzdGFjaywgaW50W10gaW5wdXQpIHsKCQlib29sZWFuIGJlZ2luID0gdHJ1ZTsKCQlmb3IgKGludCBpID0gMDsgaSA8IHN0YWNrLnNpemUoKTsgaSsrKQoJCQlpZiAoc3RhY2suZ2V0KGkpKSB7CgkJCQlpZiAoYmVnaW4pCgkJCQkJYmVnaW4gPSBmYWxzZTsKCQkJCWVsc2UKCQkJCQlTeXN0ZW0ub3V0LnByaW50KCcgJyk7CgkJCQlTeXN0ZW0ub3V0LnByaW50KGlucHV0W2ldKTsKCQkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbigpOwoJfQp9