/*
	© MATTO MATTI 2016
	http://mattomatti.com/pl/a77
	napisane przy użyciu Visual Studio Community 2015
	2016-07-19 v 1.0
*/

#include <iostream>

using namespace std;

struct ulamek {
	int licznik;
	int mianownik;
};

int nwd(int a,int b){
	if(a==0)
		return b;
	return nwd(b % a, a);
}

ulamek dodajUlamki(ulamek a, ulamek b){
	ulamek w = {a.licznik*b.mianownik + b.licznik*a.mianownik, a.mianownik*b.mianownik};
	int d = nwd(w.licznik, w.mianownik);
	w.licznik /= d;
	w.mianownik /= d;
	return w;
}

void wypiszUlamek(ulamek a){
	int w = a.licznik / a.mianownik;
	if(w != 0)
		cout << w << " ";
	if(a.licznik != w*a.mianownik)
		cout << (a.licznik - w*a.mianownik) << "/" << a.mianownik << " ";
	cout << "= " << double(a.licznik) / a.mianownik << endl;
}

ulamek harmoniczna(int n){
	ulamek w = {1, 1};
	ulamek a = {1, 1};
	for(int i = 2; i <= n; i++){
		a.mianownik = i;
		w = dodajUlamki(w, a);
	}
	return w;
}

int main () {
	int n;
	cin >> n;
	for(int i = 1; i <= n; i++){
		wypiszUlamek(harmoniczna(i));
	}
	system("pause");
	return 0;
}