#include <iostream>
#include <vector>
#include <stdio.h>
using namespace std;
int prime[40001];
vector<int> vb,v;
int _p(int n)
{
int pos=0;
v.clear();
for(int i=1;i<=n;i++)
v.push_back(i);
for(int i=0;i<n-1;i++)
{
int k=vb[i];
int l = k%v.size()-1;
if(l+pos>(v.size()-1))
{
pos=l+pos-v.size();
}
else
pos = l+pos;
v.erase(v.begin()+pos);
}
cout<<v[0]<<"\n";
v.clear();
return 0;
}
int main()
{
int n;
for(int i=2;i*i<40000;i++)
{
if(prime[i]==0)
{
for(int j=i*i;j<40000;j+=i)
prime[j]=1;
}
}
for(int i=2;i<40000;i++)
{
if(prime[i]==0)
vb.push_back(i);
}
while(cin>>n)
{
if(n==0)
break;
if(n>=1 && n<=3)
{
cout<<1<<"\n";
continue;
}
_p(n);
}
return 0;
}
/*
int _p(int n)
{
int lastpos=0;
int cnt=n;
int f=0;
for(int i=0;i<n;i++)
{
int k=vb[i];
if(cnt==1)
{
f=1;
break;
}
while(k)
{
if(lastpos>=n)
lastpos=0;
for(int l=lastpos+1;l<=n;l++)
{
if(arr[l]==0)
{
k-=1;
if(k==0)
{
cnt-=1;
arr[l]=1;
lastpos=l;
if(l==n)
lastpos=0;
break;
}
}
if(l==n)
{
lastpos=0;
break;
}
}
}
if(f)
break;
}
for(int i=1;i<=n;i++)
{
if(arr[i]==0)
{
cout<<i<<"\n";
save[n]=i;
break;
}
}
return 0;
}
*/