/*
TASK:abc
LANG:C++
*/
#include <iostream>
#include <string.h>
using namespace std;

long long dae[21];
long long a,b;
int n,i,j,k,leng[1000];
char manii[1000][20];
bool u[1000];
long long c=-1;

int main(){
    c=c^3;
    cin>>n;
    for(i=1;i<=n;i++){
        cin>>manii[i];
        leng[i]=strlen(manii[i]);
    }
    for(i=1;i<=n-1;i++){
        if(u[i]==1) continue;
        for(j=i+1;j<=n;j++){
            if(u[j]==1) continue;
            if(leng[i]>leng[j]){
                for(k=0;k<leng[j]&&manii[i][k]==manii[j][k];k++);
                if(k==leng[j]){
                    u[i]=1;
                    break;
                }
            }else if(leng[i]<leng[j]){
                for(k=0;k<leng[i]&&manii[i][k]==manii[j][k];k++);
                if(k==leng[i]){
                    u[j]=1;
                    continue;
                }
            }else if(strcmp(manii[i],manii[j])==0){
                u[i]=1;
                u[j]=1;
                break;
            }
        }
    }
    for(i=1;i<=n;i++){
        if(!u[i]){
            dae[leng[i]]++;
        }
    }
    i=20;
    while(i>1){
        if(dae[i]==0){
            i--;
            continue;
        }
        if(dae[i]==(dae[i]&c)){
            dae[i-1]+=dae[i]>>2;
            dae[i]=0;
        }
        i--;
    }
    for(i=20;i>0&&dae[i]==0;i--);
    for(j=2;j<=i;j++) dae[j]+=dae[j-1]<<2;
    k=0;
    c=c|3;
    c=c^1;
    while(dae[i]==(dae[i]&c)){
        dae[i]=dae[i]>>1;
        k++;
    }
    dae[0]=dae[i];
    i=i*2-k;
    c=1;
    while(i){
        c=c<<1;
        i--;
    }
    cout<<dae[0]<<" "<<c<<"\n";
    return 0;
}
