#include <stdio.h>
int main() {
long long s = 0;
char c = 0;
while(1) {
scanf("%c", &c);
if(c == '\n') {
break;
}
char index = 2 * (c - '0');
long long current = (((s >> index) & 0xFF) + 1) << index;
long long clear = ~(0xFF << index);
s &= clear;
s |= current;
}
while(s) {
char last_num = 0;
long long temp_s = s;
while((temp_s = temp_s >> 2) > 0) {
++last_num;
}
printf("%d", last_num);
char index = 2 * last_num;
long long current = (((s >> index) & 0xFF) - 1) << index;
long long clear = ~(0xFF << index);
s &= clear;
s |= current;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKCWxvbmcgbG9uZyBzID0gMDsKCWNoYXIgYyA9IDA7Cgl3aGlsZSgxKSB7CgkJc2NhbmYoIiVjIiwgJmMpOwoJCWlmKGMgPT0gJ1xuJykgewoJCQlicmVhazsKCQl9CgkJY2hhciBpbmRleCA9IDIgKiAoYyAtICcwJyk7CgkJbG9uZyBsb25nIGN1cnJlbnQgPSAoKChzID4+IGluZGV4KSAmIDB4RkYpICsgMSkgPDwgaW5kZXg7CgkJbG9uZyBsb25nIGNsZWFyID0gfigweEZGIDw8IGluZGV4KTsKCQlzICY9IGNsZWFyOwoJCXMgfD0gY3VycmVudDsKCX0KCQoJd2hpbGUocykgewoJCWNoYXIgbGFzdF9udW0gPSAwOwoJCWxvbmcgbG9uZyB0ZW1wX3MgPSBzOwoJCXdoaWxlKCh0ZW1wX3MgPSB0ZW1wX3MgPj4gMikgPiAwKSB7CgkJCSsrbGFzdF9udW07CgkJfQoJCXByaW50ZigiJWQiLCBsYXN0X251bSk7CgkJY2hhciBpbmRleCA9IDIgKiBsYXN0X251bTsKCQlsb25nIGxvbmcgY3VycmVudCA9ICgoKHMgPj4gaW5kZXgpICYgMHhGRikgLSAxKSA8PCBpbmRleDsKCQlsb25nIGxvbmcgY2xlYXIgPSB+KDB4RkYgPDwgaW5kZXgpOwoJCXMgJj0gY2xlYXI7CgkJcyB8PSBjdXJyZW50OwoJfQoJCglyZXR1cm4gMDsKfQ==