#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;
}