#include<stdio.h>
int zhishu(int x){
int count=0;
for(int i=2;i<x;i++){
if(x%i==0) count++;
if(count!=0){
return 0;
}else return 1;
}
}
int max(int m,int n){
if(m>n)return m;
else return n;
}
int main()
{
int n,a;
scanf("%d",&n);
for(int i=2;i<n;i++){
a=n/i;
if(zhishu(i)==1&&zhishu(a)==1){
printf("%d",max(a,i));
return 0;
}
}
return 0;
}