/*
TASK: abc
LANG:C++
*/
#include <iostream>
#include <string>
#include <cmath>

using namespace std;

char str[1000][20];

int chisl [1000];
long  znam;
long fin_chisl;

int n;

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

int compare (char *str1, char *str2)
{
	for (int k = 0; k < strlen (str1); k++)
		if (str1[k] != str2[k])
			return 0;
	return 1;
}

void calc_znam ()
{
	for (int k = 0; k < n; k++)
		if (znam < strlen (str[k])) znam = strlen (str[k]);
}

void calc_chisl ()
{
	for (int k = 0; k < n; k++)
		if (strlen (str[k]))
			chisl [k] = znam - strlen (str[k]);
}


int main ()
{
	int i, j;
	cin >> n;
	for (i = 0; i < n; i++)
	{
		cin >> str[i];
	}
	for (i = 0; i < n; i++)
		for (j = 0; j < n; j++)
			if (strlen (str[i]) < strlen (str[j]) && strlen (str[i]) > 0)
			{
				if (compare (str[i], str[j])) 		
				{
					strcpy (str[j],"\0");
				}
			}

	calc_znam ();
	calc_chisl ();
	znam = pow (4, double(znam));
	for (i = 0; i < n; i++)
		if (strlen (str[i]))
			fin_chisl += pow(4,double(chisl[i]));
	
	int nod = NOD (fin_chisl, znam);
	fin_chisl /= nod;
	znam /= nod;
	cout << fin_chisl << " " << znam << "\n";
	return 0;
}
