#include<fstream>
#include<iostream>
#define DN 120005
using namespace std;
ifstream fin("order.in");
ofstream fout("order.out");
int n,r[DN],v,poz,e,m,l;
void update1(int nod,int st,int dr)
{
if(st==dr)
{
r[nod]=v;
return;
}
int mij=(st+dr)/2;
if(poz<=mij)
update1(2*nod,st,mij);
else
update1(2*nod+1,mij+1,dr);
r[nod]=r[2*nod]+r[2*nod+1];
}
void query(int nod,int st,int dr)
{
if(st==dr)
{
poz=st;
fout<<st<<' ';
r[nod]=0;
return;
}
int mij=(st+dr)/2;
if(r[2*nod]>=l)
query(2*nod,st,mij);
else
{
l-=r[2*nod];
query(2*nod+1,mij+1,dr);
}
r[nod]=r[2*nod]+r[2*nod+1];
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
poz=i;
v=1;
update1(1,1,n);
}
m=n+1;
e=1;
for(int i=1;i<=n;i++)
{
m--;
e+=i;
e%=m;
if(e==0)
e=m;
l=e;
// cout<<e<<'\n';
query(1,1,n);
e--;
}
}