/*
ID:lightni16
LANG:C++
PROG:frac1
*/
#include<bits/stdc++.h>
using namespace std;
struct nade{
int a,b;
double ans;
}a[1000005];
bool cmp(nade x,nade y){
return x.ans<y.ans;
}
int n,m;
int gcd(int a,int b){
if(b==0)return a;
return gcd(b,a%b);
}
int main(){
//freopen("frac1.in","r",stdin);
//freopen("frac1.out","w",stdout);
scanf("%d",&n);
a[++m].a=a[m].b=1;
a[m].ans=1.0;
for(int i=1;i<=n;i++){
for(int j=0;j<i;j++){
int k1=max(i,j),k2=min(i,j);
if(__gcd(k1,k2)==1){
a[++m].a=k2;a[m].b=k1;
a[m].ans=(k2*1.0)/(k1*1.0);
}
}
}
sort(a+1,a+m+1,cmp);
for(int i=1;i<=m;i++)printf("%d/%d\n",a[i].a,a[i].b);
}