#include <iostream>
#include <fstream>
using namespace std;

struct phanso {
	int tuso;
	int mauso;
};
struct danhsach {
	phanso ds[100];
	int n;
};
void Doc1PS(phanso &ps, ifstream& filein)
{
	filein >> ps.tuso;
	char x;
	filein >> x;
	filein >> ps.mauso;
}
void DocAll(danhsach& ds, ifstream& filein)
{
	filein >> ds.n;
	for (int i = 0; i < ds.n; i++)
	{
		Doc1PS(ds.ds[i], filein);
		cout << ds.ds[i].tuso << "/" << ds.ds[i].mauso << endl;
	}
}
int gcd(int a, int b)
{
	while (a != b)
	{
		if (a < b)
			b = b - a;
		else if (a > b)
			a = a - b;
	}
	return b;
}
void rutgonps(danhsach ds,ofstream &fileout)
{
	fileout.open("rutgon.txt", ios_base::out);
	fileout << ds.n << endl;
	for (int i = 0; i < ds.n; i++)
	{
		int ucln = gcd(ds.ds[i].tuso, ds.ds[i].mauso);
		ds.ds[i].tuso = ds.ds[i].tuso / ucln;
		ds.ds[i].mauso = ds.ds[i].mauso / ucln;
		fileout << ds.ds[i].tuso << "/" << ds.ds[i].mauso << endl;
	}
	fileout.close();
}
void PSMAX(danhsach ds, ofstream& fileout2)
{
	fileout2.open("max.txt", ios_base::out);
	double max = ds.ds[0].tuso / ds.ds[0].mauso * 1.0;
	int k=0;
	for (int i = 1; i < ds.n; i++)
	{
		int temp= ds.ds[i].tuso / ds.ds[i].mauso * 1.0;
		if (temp > max)
		{
			max = temp;
			k = i;
		}
	}
	fileout2 << ds.ds[k].tuso << "/" << ds.ds[k].mauso;
	fileout2.close();
}
int main()
{
	ifstream filein;
	danhsach phanso;
	filein.open("input.txt", ios_base::in);
	DocAll(phanso, filein);
	filein.close();
	ofstream fileout;
	rutgonps(phanso, fileout);
	ofstream fileout2;
	PSMAX(phanso, fileout2);
	return 1;
}