#include<bits/stdc++.h>
using namespace std;
string s;
int a[10],b[10];
vector<int>v;
bool ch(int d){
  if(d==5)return 1;
  if(!d){
    for(int i=1;i<10;i++){
      if(b[i]>=2){
        b[i]-=2;
        if(ch(d+1))return 1;
        b[i]+=2;
      }
    }
  }
  else{
    for(int i=1;i<10;i++){
      if(b[i]>=3){
        b[i]-=3;
        if(ch(d+1))return 1;
        b[i]+=3;
      }
    }
    for(int i=1;i<8;i++){
      if(b[i]&&b[i+1]&&b[i+2]){
        b[i]--;b[i+1]--;b[i+2]--;
        if(ch(d+1))return 1;;
        b[i]++;b[i+1]++;b[i+2]++;
      }
    }
  }
  return 0;
}
void dfs(){
  for(int i=1;i<10;i++){
    if(a[i]<4){
      a[i]++;
      for(int j=0;j<10;j++)b[j]=a[j];
      if(ch(0))v.push_back(i);
      a[i]--;
    }
  }
}
int main(){
  while(cin>>s){
    v.clear();
    memset(a,0,sizeof(a));
    for(int i=0;i<s.size();i++)
      a[s[i]-'0']++;
    dfs();
    if(v.size()){
      for(int i=0;i<v.size();i++){
        if(i)cout<<' ';
        cout<<v[i];
      }
      cout<<endl;
    }
    else cout<<0<<endl;
  }
}