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

bool m;

void cp(int a[9],int b[9]){
	for(int i=0;i<9;i++) a[i] = b[i];
}

void func(int s,int k,int b[9]){
	if(m) return;
	else if(s==4){
		bool c = false;
		for(int i=0;i<9;i++) if(b[i]==2) c = true;
		if(c) m = true;
	}
	else if(s<k){
		for(int i=0;i<9;i++){
			int a[9];
			cp(a,b);
			if(a[i]<3) continue;
			a[i] -= 3;
			func(s+1,k,a);
		}
	}
	else{
		for(int i=0;i<7;i++){
			int a[9];
			cp(a,b);
			if(a[i]*a[i+1]*a[i+2]==0) continue;
			a[i]--;
			a[i+1]--;
			a[i+2]--;
			func(s+1,k,a);
		}
	}
}

int main(){
	int a[14];
	bool s;
	while(scanf("%1d",&a[0])!=EOF){
		s = true;
		for(int i=1;i<13;i++) scanf("%1d",&a[i]);
		for(int i=1;i<10;i++){
			a[13] = i;
			int b[9] = {0,0,0,0,0,0,0,0,0};
			for(int j=0;j<14;j++) b[a[j]-1]++;
			bool h = false;
			for(int j=0;j<9;j++) if(b[j]>4) h = true;
			if(h) continue;
			m = false;
			for(int j=0;j<=4;j++) func(0,j,b);
			if(m){
				if(s){
					s = false;
					cout << i;
				}
				else cout << " " << i;
			}
		}
		if(s) cout << 0;
		cout << endl;
	}
}