#include <bits/stdc++.h>
using namespace std;
ifstream in("order.in");
ofstream out("order.out");
int nr1,nr2,s,ar[400005];
void upd(int nr,int l,int r)
{
ar[nr]++;
if(l==r)
return;
int mid=(l+r)/2;
if(nr1<=mid)
upd(2*nr,l,mid);
else
upd(2*nr+1,mid+1,r);
}
void q(int nr,int l,int r)
{
if(nr1<=l&&nr2>=r)
{
s+=ar[nr];
return;
}
int mid=(l+r)/2;
if(nr1<=mid)
q(2*nr,l,mid);
if(nr2>mid)
q(2*nr+1,mid+1,r);
}
int main()
{
int n,i,p=0,z=0;
in>>n;
for(i=1;i<=n;i++)
{
s=i;
while(s)
{
if(p+s>=n)
{
nr1=p+1;nr2=n-1;
s=p+s-n;
q(1,0,n-1);
p=0;
s+=z;
}
nr1=p+1;nr2=p+s;
p+=s;
s=0;
q(1,0,n-1);
}
nr1=p;
upd(1,0,n-1);
if(!p)
z=1;
out<<p+1<<" ";
}
return 0;
}