import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Deque;
import java.util.ListIterator;
import java.util.StringJoiner;
class Test {
public static void main
(String[] args
) { blah(o);
}
static void blah
(Object[] ar
) { Deque<Object> stack = new ArrayDeque<>();
stack.
addAll(Arrays.
asList(ar
));
StringJoiner joiner = new StringJoiner(",");
while (!stack.isEmpty()) {
if (val
instanceof Object[]) { for (ListIterator
<Object
> it
= Arrays.
asList(array
).
listIterator(array.
length); it.
hasPrevious(); ) { stack.push(it.previous());
}
}
else {
joiner.add(val.toString());
}
}
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheURlcXVlOwppbXBvcnQgamF2YS51dGlsLkFycmF5czsKaW1wb3J0IGphdmEudXRpbC5EZXF1ZTsKaW1wb3J0IGphdmEudXRpbC5MaXN0SXRlcmF0b3I7CmltcG9ydCBqYXZhLnV0aWwuU3RyaW5nSm9pbmVyOwoKY2xhc3MgVGVzdCB7CiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgT2JqZWN0W10gbyA9IG5ldyBPYmplY3RbXSB7MSwgMiwgMywgbmV3IE9iamVjdFtdIHs0LCBuZXcgT2JqZWN0W10gezUsIDZ9LCA3fSwgOH07CiAgICBibGFoKG8pOwogIH0KCiAgc3RhdGljIHZvaWQgYmxhaChPYmplY3RbXSBhcikgewogICAgRGVxdWU8T2JqZWN0PiBzdGFjayA9IG5ldyBBcnJheURlcXVlPD4oKTsKICAgIHN0YWNrLmFkZEFsbChBcnJheXMuYXNMaXN0KGFyKSk7CgogICAgU3RyaW5nSm9pbmVyIGpvaW5lciA9IG5ldyBTdHJpbmdKb2luZXIoIiwiKTsKCiAgICB3aGlsZSAoIXN0YWNrLmlzRW1wdHkoKSkgewogICAgICBPYmplY3QgdmFsID0gc3RhY2sucG9wKCk7CiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBPYmplY3RbXSkgewogICAgICAgIE9iamVjdFtdIGFycmF5ID0gKE9iamVjdFtdKSB2YWw7CiAgICAgICAgZm9yIChMaXN0SXRlcmF0b3I8T2JqZWN0PiBpdCA9IEFycmF5cy5hc0xpc3QoYXJyYXkpLmxpc3RJdGVyYXRvcihhcnJheS5sZW5ndGgpOyBpdC5oYXNQcmV2aW91cygpOyApIHsKICAgICAgICAgIHN0YWNrLnB1c2goaXQucHJldmlvdXMoKSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIGpvaW5lci5hZGQodmFsLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICB9CgogICAgU3lzdGVtLm91dC5wcmludGxuKGpvaW5lcik7CiAgfQp9