#include <iostream>
#include <string>
#define MAX_N 15
using namespace std;

int N, K, L[MAX_N];
char **A;
char *S;

bool valid(char* s, int len){
    for(int i=0; i<N; ++i){
        int cnt=0;
        for(int pos=0; pos<len-L[i]; ++pos){
            bool poklapa=1;
            for(int j=0; j<L[i]; ++j){
                if(A[i][j]!=s[pos+j]){
                    poklapa=0;
                    break;
                }
            }
            cnt++;
        }
        if(cnt!=1)return 0;
    }
}

int Resi(int n, int k, int* l, char** a, char* s){
    N=n;
    K=k;
    for(int i=0; i<N; ++i)L[i]=l[i];
    A=a;
    S=s;
    if(K==2){
        for(int len=1; len<=18; ++len){
            for(int mask=0; mask<(1<<(len-1)); ++mask){
                for(int i=0; i<len; ++i)s[i]=mask&(1<<i)?'a':'b';
                if(valid(s, len)){
                    for(int i=len; i>0; --i)s[i]=s[i-1];
                    return len;
                }
            }
        }
        return -1;
    }
    return -1;
}