/*This Code is Submitted by billforum for Problem 1016 at 2012-02-17 17:33:40*/
#include <cstdio>
#include <iostream>
#include <stdlib.h>
#include <memory.h>
#include <math.h>
#include <string.h>
using namespace std;
const int N=3510;
const int M=50000;
int pr[N+1],pn=0;
bool f[M];
void init()
{
memset(f,1,sizeof(f));
f[1]=0;
f[0]=0;
for(int i=2;i<=M;i++)
{
if(f[i]) pr[pn++]=i;
if(pn==N) break;
for(int t=0;t<pn&&(i*pr[t]<=M);t++)
{
f[i*pr[t]]=0;
if(i%pr[t]==0) break;
}
}
return;
}
int main()
{
int n,m;
init();
while(cin>>n)
{
if(n==0) break;
int ans=0;
for(int i=2;i<=n;i++)
{
m=pr[n-i];
ans=(ans+m)%i;
}
cout<<ans+1<<endl;
}
return 0;
}