#include <stdio.h>
int zhishu(int n)//判断是否为质数
{
int i;
for (i = 2; i < n; i++)
{
if (n % i == 0)break;
}
if (i == n)return 1;
else return 0;
}
int main()
{
int n,i,j,ans;
int c = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
if(zhishu(i) == 1)
for (j = n; j >= 1; j--)
{
if (zhishu(j) == 1)
{
c = i * j;
if (c == n)break;
}
}
if (c == n)break;
}
if (i >= j)ans=i;//取其中的最大值
else ans = j;
printf("%d",ans);
return 0;
}