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

int num[10];
bool flag;

void rec(int time){
  if(time==4){
    for(int i=1;i<10;i++){
      if(num[i] == 2){
	flag = true;
	return;
      }
    }
  }
  if(flag)return;

  for(int i=1;i<10;i++){
    if(num[i]>2){
      num[i] -=3;
      rec(time+1);
      num[i] += 3;
    }
  }
  
  for(int i=1;i<8;i++){
    if(num[i] && num[i+1] && num[i+2]){
      num[i]--;
      num[i+1]--;
      num[i+2]--;
      rec(time+1);
      num[i]++;
      num[i+1]++;
      num[i+2]++;
    }
  }
  
  return;
}
int main(){
  string s;

  while(cin >> s){
    for(int i=1;i<10;i++)num[i] = 0;
    for(int i=0;i<(int)s.size();i++)num[s[i]-'0']++;
  
    vector<int> ans;
    for(int i=1;i<10;i++){
      if(num[i]<4){
	num[i]++;
	flag = false;
	rec(0);
	if(flag)ans.push_back(i);
	num[i]--;
      }
    }

    if(ans.empty())cout << 0 << endl;
    else{
      for(int i=0;i<(int)ans.size()-1;i++)cout << ans[i] << " ";
      cout << ans[(int)ans.size()-1] << endl;
    }
  }
}