#include<iostream>
using namespace std;
struct Node
{
int mo_num;
int de_num;
Node* next;
}node_t;
class Seq
{
public:
Seq()
{
head = new Node;
head->mo_num = 0;
head->de_num = 1;
tail = new Node;
tail->mo_num = 1;
tail->de_num = 1;
head ->next = tail;
tail->next = NULL;
}
~Seq()
{
Node* p = NULL;
while(head)
{
p = head;
head = head ->next;
delete p;
p = NULL;
}
}
void create(int n)
{
for(int i = 2; i <= n; i++)
{
Node* h = head;
while( h != tail)
{
if( h->de_num + h->next->de_num > n)
{
h = h->next;
}
else
{
Node* t = new Node;
t ->de_num = h->de_num + h->next->de_num;
t->mo_num = h->mo_num + h->next->de_num;
t->next = h->next;
h->next = t;
h = h->next->next;
}
}
}
}
void display()
{
Node* ptr = head;
cout <<"("
while(ptr)
{
cout << ptr->mo_num <<"/"<<ptr->de_num<<" ";
ptr = ptr->next;
}
cout << ")"<<endl;
}
private:
Node* head;
Node* tail;
};
int main()
{
Seq s;
int n;
cin>>n;
s.create(n);
s.display();
}