暴力。
#include<bits/stdc++.h>
using namespace std;
long long n;
inline long long az(long long n)
{
n=abs(n);
long long sum=0;
for(register long long i=2;i*i<=n;i++)
if(n%i==0)
{
sum++;
while(n%i==0) n/=i;
if(n==1) if(sum==1) return -1;else return i;
}
if(sum==0) return -1;
else return n;
}
int main()
{
while(cin>>n,n) printf("%lld\n",az(n));
return 0;
}