思路:模拟大数取模运算即可
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+7;
bool check(string s,int k)
{
int remind=0;
int res=0;
for(int i=0;i<s.size();i++)
{
res = (remind*10 +s[i]-'0');
remind = res%k;
}
return remind==0;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
string s;
while(cin>>s)
{
if(s=="-1") break;
vector<int> ans;
for(int i=2;i<=9;i++)
{
if(check(s,i))
{
ans.push_back(i);
}
}
if(ans.size()==0)
{
cout<<"none"<<endl;
continue;
}
for(int i=0;i<ans.size()-1;i++)
{
cout<<ans[i]<<" ";
}
cout<<ans[ans.size()-1]<<endl;
}
return 0;
}