#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
bool three(vector<int>V,int n){
    if(n==4)return true;
    bool f=false;
    for(int i=0;i<9;i++){
        if(V[i]>=3){
            V[i]-=3;
            f|=three(V,n+1);
            V[i]+=3;
        }
    }
    for(int i=0;i<7;i++){
        if(V[i]&&V[i+1]&&V[i+2]){
            V[i]--;V[i+1]--;V[i+2]--;
            f|=three(V,n+1);
            V[i]++;V[i+1]++;V[i+2]++;
        }
    }
    return f;


}
bool two(vector<int>V){
    bool f=false;
    for(int i=0;i<9;i++)if(V[i]>=5)return false;
    for(int i=0;i<9;i++){
        if(V[i]>=2){
            V[i]-=2;
            f|=three(V,0);
            V[i]+=2;

        }
    }
    return f;
}
int main(){
    string str;
    while(cin>>str){
        vector<int>V(9);
        bool Flag=false;
        for(int i=0;i<13;i++){
            V[str[i]-'0'-1]++;
        }
        for(int i=0;i<9;i++){
            V[i]++;
            if(two(V)){
                if(Flag)cout<<" ";
                cout<<i+1;
                Flag=true;
            }
            V[i]--;
        }
        if(!Flag)cout<<0;
        cout<<endl;
    }
}