#include<bits/stdc++.h>
using namespace std;
int n;
int a[10000000];
struct ryy
{
int c,z;
double f;
} num[10000000];
int Cmp(ryy a,ryy b) {
return a.f < b.f;
}
bool check(int x, int y)
{
for(int i=2;i<n;i++)
{
if(x % i == 0&& y % i == 0)
return false ;
}
return true ;
}
int j=0;
int dfs(int x)
{
if(x == 2)
{
if(check(a[0],a[1]))
{
j++;
num[j].c = a[0];
num[j].z = a[1];
}
}
else
{
for(int i=a[x-1]+1;i<=n;++i)
{
a[x] = i;
dfs(x+1);
}
}
}
int main()
{
cin >> n;
dfs(0);
puts("0/1");
for(int i = 0;i < j;i++)
num[i].f = 1.0 * num[i].c / num[i].z;
sort(num,num + j,Cmp);
for(int i=0;i<=j;i++)
{
if(num[i].z)
printf("%d/%d\n",num[i].c,num[i].z);
}
puts("1/1");
return 0;
}