#include<stdio.h>
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
map<double,int>p;
int n,cnt=0;
struct node
{
int x,y;
double w;
}fra[100000];
bool cmp(node a,node b)
{
return a.w<b.w;
}
int main()
{
freopen("frac1.in", "r", stdin);
freopen("frac1.out", "w", stdout);
cin>>n;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
{
if(i<j)
{
double x=(double)i/j;
if(!p[x])
{
p[x]=1;
fra[cnt].x=i;
fra[cnt].y=j;
fra[cnt++].w=x;
}
}
}
sort(fra,fra+cnt,cmp);
cout<<"0/1"<<endl;
for(int i=0;i<cnt;i++)
cout<<fra[i].x<<"/"<<fra[i].y<<endl;
cout<<"1/1"<<endl;
return 0;
}