#include <bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
#define fi first
#define se second
#define pb push_back
#define PRINT(x) cerr<<#x<<'='<<x<<endl;
#define sz(x) int((x).size())
#define MAXN 20
string s[MAXN];

int Resi(int N, int K, int* L, char** A, char* S) {
	//S[1] = 'a';
	for(int i = 1; i <= N; i++) {
        for(int j = 1; j <= L[i]; j++) {
            s[i] += A[i][j];
            if(A[i][j] - 'a' + 1 > K) return -1;
        }
	}
	if(N == 2) {
        int cnt = 0;
        if(sz(s[1]) < sz(s[2])) swap(s[1], s[2]); ///od sad je s[2] manji
        for(int i = 0; i <= sz(s[1])-sz(s[2]); i++) {
            if(s[1].substr(i, sz(s[2])) == s[2]) cnt++;
        }
        if(cnt > 1) return -1;
        if(cnt == 1) {
            for(int i = 1; i <= sz(s[1]); i++) S[i] = s[1][i-1];
            return sz(s[1]);
        }
        if(cnt == 0) {
            ///Prednje poklapanje
            for(int i = sz(s[2]); i >= 1; i--) {
                if(s[1].substr(0, i) == s[2].substr(sz(s[2])-i, i)) {
                    int idx = 0;
                    for(int j = 0; j < sz(s[2])-i; j++) S[++idx] = s[2][j];
                    for(int j = 0; j < sz(s[1]); j++) S[++idx] = s[1][j];
                    return sz(s[1])+sz(s[2])-i;
                }
            }
            ///Zadnje poklapanje
        }
	} else if(K == 2) {
        for(int st = 1; st <= 18; st++) {
            for(int mask = 0; mask < (1<<st); mask++) {
                bool nije = 0;
                string ss = "";
                for(int i = 0; i < st; i++) {
                    if((1<<i)&mask) ss += 'a';
                    else ss += 'b';
                }
                for(int i = 1; i <= N; i++) {
                    int cnt = 0;
                    for(int j = 0; j <= st-sz(s[i]); j++) {
                        if(ss.substr(j, sz(s[i])) == s[i]) cnt++;
                    }
                    if(cnt != 1) {
                        nije = true;
                        break;
                    }
                }
                if(!nije) {
                    for(int i = 1; i <= st; i++) S[i] = ss[i-1];
                    return st;
                }
            }
        }
	}
    return -1;
}