#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,w=0,a[100001]={0},m=1,h=0,max=0;
cin>>n;
for(int j=2;j<=n;j++)
{
for(int i=j;i>1;i--)
{
if(j%i==0) w++;
}//找质数
if(w<2)
{
a[m]=j;
m++;
}
w=0;
}//输入进数组
for(int i=1;i<=m;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i]*a[j]==n) //用质数相乘,如果得到n(也就是输入的那个数),就进行下一步
{
if(a[i]>=a[j]) h=a[i];//h是临时变量,存储这两个数的较大数
else h=a[j];
if(h>max) max=h;//守擂
}
h=0;
}
}
cout<<max;
}