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

bool f(int *a){
  bool ck=true;
  for(int k=0;k<9;k++){
    if(a[k]!=0) ck=false;
  }
  if(ck) return ck;
  for(int k=0;k<7;k++){
    if(a[k]>0&&a[k+1]>0&&a[k+2]>0){
      a[k]--;a[k+1]--;a[k+2]--;
      ck|=f(a);
      a[k]++;a[k+1]++;a[k+2]++;
    }
  }
  for(int k=0;k<9;k++){
    if(a[k]>=3){
      a[k]-=3;
      ck|=f(a);
      a[k]+=3;
    }
  }
  return ck;
}
  

int main(){
  string s;
  while(cin>>s){
    vector<int> v;
    int a[9]={0};
    for(string::iterator it=s.begin();it!=s.end();it++) a[*it-'1']++;
    for(int i=0;i<9;i++){
      bool flag=false;
      if(a[i]==4) continue;
      a[i]++;
      for(int j=0;j<9;j++){
	if(a[j]>=2){
	  a[j]-=2;
	  flag|=f(a);
	  a[j]+=2;
	}
      }
      if(flag) v.push_back(i+1);
      a[i]--;
    }
    if(v.size()==0){
      cout<<0<<endl;continue;
    }
    for(vector<int>::iterator it=v.begin();it!=v.end()-1;it++) cout<<*it<<" ";
    cout<<v.back()<<endl;
  }
  return 0;
}