#include <bits/stdc++.h>
#define mem(a,v) memset(a,v,sizeof a)
#define lol long long
#define max(a,b) (a>b?a:b)
#define min(a,b) (a<b?a:b)
#define max3(x,y,z) max(x,max(y,z))
#define min3(x,y,z) min(x,min(y,z))
#define f first
#define s second
#define fr(i,n) for(int j=i;j<n;j++)
#define rev(a) reverse(a.begin(),a.end())
#define all(a) a.begin(),a.end()
#define rall(a) a.rbegin(),a.rend()
#define lb(a,v) lower_bound(all(a),v)
#define ub(a,v) upper_bound(all(a),v)
#define ins(v) insert(v)
#define pb(v) push_back(v)
#define sz(x) (int)(x).size()
#define MOD 1000000007
using namespace std;
set<lol>st;
void get_div(lol n)
{
lol i=2,m=n;
while(i*i<n)
if(n%i==0)
st.ins(i),n/=i;
else i++;
if(n<m)
st.ins(n);
if(i*i==m)
st.ins(i);
}
lol get_lower(lol n)
{
get_div(n);
//cout<<n<<" "<<sz(st)<<endl;
if(sz(st)==0)
return n;
else if(sz(st)==1)
return *st.begin();
return 1;
}
int main(){
lol n,x=25;
while(x--)
{
scanf("%lld",&n);
printf("%lld : %lld \n",x,get_lower(n));
st.clear();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbWVtKGEsdikgbWVtc2V0KGEsdixzaXplb2YgYSkKI2RlZmluZSBsb2wgbG9uZyBsb25nCiNkZWZpbmUgbWF4KGEsYikgKGE+Yj9hOmIpCiNkZWZpbmUgbWluKGEsYikgKGE8Yj9hOmIpCiNkZWZpbmUgbWF4Myh4LHkseikgbWF4KHgsbWF4KHkseikpCiNkZWZpbmUgbWluMyh4LHkseikgbWluKHgsbWluKHkseikpCiNkZWZpbmUgZiBmaXJzdAojZGVmaW5lIHMgc2Vjb25kCiNkZWZpbmUgZnIoaSxuKSBmb3IoaW50IGo9aTtqPG47aisrKQojZGVmaW5lIHJldihhKSByZXZlcnNlKGEuYmVnaW4oKSxhLmVuZCgpKQojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksYS5lbmQoKQojZGVmaW5lIHJhbGwoYSkgYS5yYmVnaW4oKSxhLnJlbmQoKQojZGVmaW5lIGxiKGEsdikgbG93ZXJfYm91bmQoYWxsKGEpLHYpCiNkZWZpbmUgdWIoYSx2KSB1cHBlcl9ib3VuZChhbGwoYSksdikKI2RlZmluZSBpbnModikgaW5zZXJ0KHYpCiNkZWZpbmUgcGIodikgcHVzaF9iYWNrKHYpCiNkZWZpbmUgc3ooeCkgKGludCkoeCkuc2l6ZSgpCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc2V0PGxvbD5zdDsKdm9pZCBnZXRfZGl2KGxvbCBuKQp7Cglsb2wgaT0yLG09bjsKCXdoaWxlKGkqaTxuKQoJCWlmKG4laT09MCkKCQkJc3QuaW5zKGkpLG4vPWk7CgkJZWxzZSBpKys7CglpZihuPG0pCgkJc3QuaW5zKG4pOwoJaWYoaSppPT1tKQoJCXN0LmlucyhpKTsKfQpsb2wgZ2V0X2xvd2VyKGxvbCBuKQp7CglnZXRfZGl2KG4pOwoJLy9jb3V0PDxuPDwiICI8PHN6KHN0KTw8ZW5kbDsKCWlmKHN6KHN0KT09MCkKCQlyZXR1cm4gbjsKCWVsc2UgaWYoc3ooc3QpPT0xKQoJCXJldHVybiAqc3QuYmVnaW4oKTsKCXJldHVybiAxOwp9CmludCBtYWluKCl7Cglsb2wgbix4PTI1OwoJd2hpbGUoeC0tKQoJewoJCXNjYW5mKCIlbGxkIiwmbik7CgkJcHJpbnRmKCIlbGxkIDogJWxsZCBcbiIseCxnZXRfbG93ZXIobikpOwoJCXN0LmNsZWFyKCk7Cgl9CglyZXR1cm4gMDsKfQ==