#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int mentu[16][3] = {
	{1,1,1},{2,2,2},{3,3,3},{4,4,4},{5,5,5},{6,6,6},{7,7,7},{8,8,8},{9,9,9},
	{1,2,3},{2,3,4},{3,4,5},{4,5,6},{5,6,7},{6,7,8},{7,8,9}
};

int main(){
	
	string str;
	
	while(true){
		
		int num[10], num_1[10], dummy[10];
		
		bool ans[10];
		
		cin >> str;
		if(cin.eof()){
			break;
		}
		
		for(int i = 0; i < 10; i++){
			num[i] = 0;
			ans[i] = false;
		}
		
		for(int i = 0; i < str.size(); i++){
			num[str[i] - '0']++;
		}
		
		for(int rest = 1; rest <= 9; rest++){
			for(int i = 0; i < 10; i++){
				num_1[i] = num[i];
			}
			
			if(num_1[rest] >= 4){
				continue;
			}else{
				num_1[rest]++;
			}
			
			for(int i = 0; i < 16; i++){
				for(int j = i; j < 16; j++){
					for(int k = j; k < 16; k++){
						for(int l = k; l < 16; l++){
							for(int m = 1; m <= 9; m++){
								
								for(int b = 1; b <= 9; b++){
									dummy[b] = 0;
								}
								
								for(int a = 0; a < 3; a++){
									dummy[mentu[i][a]]++;
									dummy[mentu[j][a]]++;
									dummy[mentu[k][a]]++;
									dummy[mentu[l][a]]++;
								}
								dummy[m] += 2;
								
								for(int b = 1; b <= 9; b++){
									if(num_1[b] != dummy[b]){
										break;
									}
									if(b == 9){
										ans[rest] = true;
									}
								}
								
							}
						}
					}
				}
			}
			/*
			cout << " ";
			
			for(int i = 1; i <= 9; i++){
				cout << dummy[i];
			}
			*/
			
		}
		
		int loop;
		
		bool found;
		
		found = false;
		
		for(loop = 1; loop <= 9; loop++){
			if(ans[loop]){
				cout << loop;
				found = true;
				break;
			}
		}
		
		for(loop = loop + 1; loop <= 9; loop++){
			if(ans[loop]){
				cout << " " << loop;
			}
		}
		
		if(!found){
			cout << "0";
		}
		cout << endl;
		
	}
	
	return 0;
}