#include <iostream>
#include <functional>
using namespace std;
typedef std::function<int()> fi_t;
int main() {
fi_t nil = []()->int {return -1;};
auto cons = [](int a, const fi_t& s) -> fi_t {
int p=0; return [=]() mutable -> int {
if (p) return s(); else {p=1; return a;}}; };
auto show = [](const fi_t& f, auto& la) -> int {
int e=f(); if (e>0) {cout<<e<<'\t'; return la(f, la);}
else {cout<<'\n'; return 0;}};
auto num2list = [=](int n, const auto& la) -> fi_t {
return n ? cons(n%10, la(n/10, la)) : nil;};
int n; cin>>n; fi_t s = num2list(n, num2list); show(s, show);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAp0eXBlZGVmIHN0ZDo6ZnVuY3Rpb248aW50KCk+IGZpX3Q7CiAKaW50IG1haW4oKSB7CiAgICBmaV90IG5pbCA9IFtdKCktPmludCB7cmV0dXJuIC0xO307CQoJCglhdXRvIGNvbnMgPSBbXShpbnQgYSwgY29uc3QgZmlfdCYgcykgLT4gZmlfdCB7CiAgICAgICAgaW50IHA9MDsgcmV0dXJuIFs9XSgpIG11dGFibGUgLT4gaW50IHsKICAgICAgICAgICAgaWYgKHApIHJldHVybiBzKCk7IGVsc2Uge3A9MTsgcmV0dXJuIGE7fX07IH07CiAgICAgICAgICAgIAogICAgYXV0byBzaG93ID0gW10oY29uc3QgZmlfdCYgZiwgYXV0byYgbGEpIC0+IGludCB7CiAgICAJaW50IGU9ZigpOyBpZiAoZT4wKSB7Y291dDw8ZTw8J1x0JzsgcmV0dXJuIGxhKGYsIGxhKTt9CiAgICAgICAgICAgICAgICAgICBlbHNlIHtjb3V0PDwnXG4nOyByZXR1cm4gMDt9fTsKCiAgICBhdXRvIG51bTJsaXN0ID0gWz1dKGludCBuLCBjb25zdCBhdXRvJiBsYSkgLT4gZmlfdCB7CiAgICAgICAgcmV0dXJuIG4gPyBjb25zKG4lMTAsIGxhKG4vMTAsIGxhKSkgOiBuaWw7fTsKCiAgICBpbnQgbjsgY2luPj5uOyBmaV90IHMgPSBudW0ybGlzdChuLCBudW0ybGlzdCk7IHNob3cocywgc2hvdyk7CiAgICByZXR1cm4gMDsKfQ==