#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std; int a[1005]; int main()
{
int n;
while(~scanf("%d",&n))
{//要后者胜,只要s=0,那么n=(m+1)*r,输出最小的m即可
int len=0;
bool flag=0;
for(int i=1;i*i<=n;i++)//循环应避免TLE
{
if(n%i==0)
{
a[len++]=i;
a[len++]=n/i;
}
}
sort(a,a+len);
for(int i=0;i<len;i++)
{
if(a[i]>2)
{
printf("%d\n",a[i]-1);
flag=1;
break;
}
}
if(!flag)
printf("0\n");
}
return 0;
}