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

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

bool valid(char* s, int len){
    for(int i=0; i<N; ++i){
        int cnt=0;
        //printf("%d %d\n", L[i], len);
        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]){
                        //printf("perkinuto poklapanje na pos=%d, j=%d\n", pos, j);
                    poklapa=0;
                    break;
                }
            }
            if(poklapa)cnt++;
        }
        //printf("aaa-%d i=%d\n", cnt, i);
        if(cnt!=1)return 0;
    }
    return 1;
}

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+1];
    for(int i=0; i<N; ++i){//cout<<a[i+1];
            A[i]=a[i+1]+1;

    }//cout<<"radi";
    S=s;
//    printf("%d \n", valid('ababb', 5))
    //char ah[6]={'a','b','a','b','b', 0};
    //cout<<valid(ah, 5);
    if(K==2){
        for(int len=1; len<=18; ++len){
            for(int mask=0; mask<(1<<(len)); ++mask){
                for(int i=0; i<len; ++i)s[i]=((mask&(1<<i))?'a':'b');

                    //cout<<s<<endl<<len<<endl;

                if(valid(s, len)){
                    for(int i=len; i>0; --i)s[i]=s[i-1];
                    return len;
                }
            }
        }
        return -1;
    }
    return -1;
}