#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <cstdio>
using namespace std;

int check(int a[], int prog, int m)
{
    int t[9];
    int flag=0;
    for(int i=0;i<9;++i) t[i] = a[i];
    /*
    for(int i=0;i<9;++i)
    {
        for(int j=0;j<t[i];++j) cout << i;
    }
    cout << endl;
    */
    switch(prog)
    {
        case 0:
            for(int i=0;i<9;++i)
            {
                if(t[i] >= 2)
                {
                    t[i] -= 2;
                    flag = max(flag, check(t, ++prog, 0));
                    t[i] += 2;
                }
                if(flag) return 1;
            }
            return 0;
        default:
            for(int i=m;i<9;++i)
            {
                if(t[i] >= 3)
                {
                    t[i] -= 3;
                    if(check(t, prog+1, i)) return 1;
                    else t[i] += 3;
                }
                if(i >= 2 && t[i] > 0 && t[i-1] > 0 && t[i-2] > 0)
                {
                    --t[i];
                    --t[i-1];
                    --t[i-2];
                    if(check(t, prog+1, i)) return 1;
                    else
                    {
                        ++t[i];
                        ++t[i-1];
                        ++t[i-2];
                    }
                }
            }
            flag = 1;
            for(int i=0;i<9;++i) if(t[i]) flag=0;
            return flag;

    }
}
int convert(char n)
{
    switch(n){
        case '1': return 0;
        case '2': return 1;
        case '3': return 2;
        case '4': return 3;
        case '5': return 4;
        case '6': return 5;
        case '7': return 6;
        case '8': return 7;
        case '9': return 8;
    }
}
int main(){
    int n;
    int a[9];
    string str;
    vector<int> ans;
    while(cin >> str)
    {
        for(int i=0;i<9;++i) a[i] = 0;
        for(int i=0;i<str.size();++i) ++a[convert(str[i])];
        /*
        for(int i=0;i<9;++i)
        {
            for(int j=0;j<a[i];++j) cout << i;
        }
        cout << endl;
        */
        for(int i=0;i<9;++i)
        {
            if(a[i] < 4)
            {
                ++a[i];
                if(check(a, 0, 0)) ans.push_back(i+1);
                --a[i];
            }
        }
        if(ans.empty()) cout << 0 << endl;
        else
        {
            cout << ans[0];
            for(int i=1;i<ans.size();i++) cout << ' ' << ans[i];
            cout << endl;
        }
        ans.clear();
    }
}