#include <bits/stdc++.h>
#define int long long
using namespace std;
const int maxn = 1e6+7;
const int MAXN = maxn / 2;
int n,k,cnt = 1;
struct Frac
{
int a,b;
}frac[maxn];
bool cmp(Frac a1,Frac a2)
{
return (double)a1.a / (double)a1.b > (double)a2.a / (double)a2.b;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (__gcd(min(i,j),max(i,j)) == 1)
frac[k].a = i,frac[k].b = j,k++;
sort(frac,frac + n,cmp);
printf("%d/%d\n",frac[0].a,frac[0].b);
for (; cnt < k; cnt++)
if ((double)frac[cnt - 1].a / (double)frac[cnt - 1].b != (double)frac[cnt].a / (double)frac[cnt].b)
printf("%d/%d\n",frac[cnt].a,frac[cnt].b);
return 0;
}