#include <bits/stdc++.h>
using namespace std;

char str[16];
int cnt[10], ans;

bool dfs(int pos, bool tt){
    if(pos >= 10) return true;
    if(cnt[pos] < 0) return false;
    if(cnt[pos] == 0) return dfs(pos+1, tt);
    bool ret;
    if(cnt[pos] == 1){
        if(pos > 7) return false;
        --cnt[pos+1]; --cnt[pos+2];
        ret = dfs(pos+1, tt);
        ++cnt[pos+1]; ++cnt[pos+2];
        return ret;
    }
    if(cnt[pos] == 2){
        if(!tt && dfs(pos+1, true)) return true;
        if(pos > 7) return false;
        cnt[pos+1] -= 2; cnt[pos+2] -= 2;
        ret = dfs(pos+1, tt);
        cnt[pos+1] += 2; cnt[pos+2] += 2;
        return ret;
    }
    if(cnt[pos] == 3){
        if(dfs(pos+1, tt)) return true;
        if(pos > 7) return false;
        --cnt[pos+1]; --cnt[pos+2];
        ret = dfs(pos+1, true);
        ++cnt[pos+1]; ++cnt[pos+2];
        return ret;
    }
    if(cnt[pos] == 4){
        if(pos > 7) return false;
        --cnt[pos+1]; --cnt[pos+2];
        ret = dfs(pos+1, tt);
        ++cnt[pos+1]; ++cnt[pos+2];
        if(ret) return true;
        cnt[pos+1] -= 2; cnt[pos+2] -= 2;
        ret = dfs(pos+1, true);
        cnt[pos+1] += 2; cnt[pos+2] += 2;
        return ret;
    }
}

int main(){
    while(scanf("%s", str) != EOF){
        fill(cnt, cnt+10, 0);
        for(char* it = str; *it; it++) ++cnt[*it-'0'];
        int c = 0;
        for(int x = 1; x <= 9; ++x){
            if(cnt[x] >= 4) continue;
            ++cnt[x];
            if( dfs(1, false) ){
                if(c) printf(" ");
                printf("%d", x);
                c++;
            }
            --cnt[x];
        }
        if(!c) printf("0");
        printf("\n");
    }
    return 0;
}