#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(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;
}