/*
TASK:abc
LANG:C
*/
#include<stdio.h>
#include<math.h>
int main()
{
 char a[1000][21];
 int b[20]={0};
 int n,i,j,k;
 long double fl,fl1;
 scanf("%d",&n);
 scanf("%s",&a[0]);
 for(i=1;i<n;i++)
 {
   scanf("%s",&a[i]);
   fl1=0;
   for(j=0;j<i;j++)
   {
      k=0;   fl=0;
      while(a[i][k]&&a[j][k])
      {
         if(a[i][k]!=a[j][k]) { fl=1; break; }
         if(a[j][k+1]=='\0'&&!fl) { a[i][0]='\0'; fl1=1; }
         if(a[i][k+1]=='\0'&&!fl&&a[j][k+1]!='\0') a[j][0]='\0';
         k++;
      }
      if(fl1==1) break;
   }
 }
 fl=0;
 for(i=5;i>=1;i--)
 {
   for(j=0;j<n;j++)
   {
    for(k=0;a[j][k];k++);
     if(k==i)  b[i-1]++;
   }
 }
 for(i=19;i>=1;i--)
  if(b[i]) { k=i+1; break; }
 fl=0;
 for(i=0;i<=k-1;i++)
  fl+=b[i]*pow(4,k-i-1);
 fl1=pow(4,k);
 i=(int)fl;
  j=(int)fl1;
 while(j)
 {
  k=i%j;
  i=j;
  j=k;
 }
 printf("%.0Lf %.0Lf",fl/i,fl1/i);
 return 0;
}

