#include <iostream>
#include <string>

using namespace std;

bool test1(int *set);
bool test2(int *set);

int main(){
        string s;
        while(cin >> s){
                int original[9] = {0};
                for(int i = 0; i < 13; i++){
                        original[s.at(i)-'1']++;
                }
                string out("");
                for(int i = 0; i < 9; i++){
                        if(original[i] < 4){
                                int set[9];
                                for(int j = 0; j < 9; j++){
                                        set[j] = original[j];
                                }
                                set[i]++;
                                if(test1(set)){
                                        if(!out.empty()){
                                                out += " ";
                                        }
                                        out += (char)(i+'1');
                                }
                        }
                }
                if(out.empty()){
                        out = "0";
                }
                cout << out << endl;
        }
}

bool test1(int *set){
        bool flag = false;
        for(int i = 0; i < 9; i++){
                if(set[i] >= 2){
                        int _set[9];
                        for(int j = 0; j < 9; j++){
                                _set[j] = set[j];
                        }
                        _set[i] -= 2;
                        flag |= test2(_set);
                }
        }
        return flag;
}

bool test2(int *set){
        bool flag1 = false;
        for(int i = 0; i < 9; i++){
                flag1 |= set[i];
        }
        if(!flag1){
                return true;
        }else{
                bool flag2 = false;
                for(int i = 0; i < 9; i++){
                        if(set[i] >= 3){
                                int _set[9];
                                for(int j = 0; j < 9; j++){
                                        _set[j] = set[j];
                                }
                                _set[i] -= 3;
                                flag2 |= test2(_set);
                        }
                }
                if(flag2){
                        return true;
                }else{
                        for(int i = 0; i < 7; i++){
                                if(set[i]*set[i+1]*set[i+2]){
                                        int _set[9];
                                        for(int j = 0; j < 9; j++){
                                                _set[j] = set[j];
                                        }
                                        _set[i]--;
                                        _set[i+1]--;
                                        _set[i+2]--;
                                        return test2(_set);
                                }
                        }
                }
        }
}