#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<vector>
#include<string>
using namespace std;
typedef long long LL;
const LL MAXN=1e5+10;
int ans[MAXN]={0};
int devide(vector<int>a,int b){
vector<int>c;
int t=0;
for(int i=0;i<a.size();i++){
t=t*10+a[i];
c.push_back(t/b);
t%=b;
}
if(t)return t;
else return 0;
}
int main(){
string s;
while(cin>>s){
if(s=="-1")break;
bool flag=false;
vector<int>a;
for(int i=0;i<s.size();i++)a.push_back(s[i]-'0');
for(int i=2;i<=9;i++){
vector<int>c=a;
if(devide(c,i)==0){
cout<<i<<' ';
flag=true;
}
}
if(flag==false)cout<<"none";
cout<<endl;
}
return 0;
}