#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define loop(i,a,b) for(int i=a;i pii; typedef vector vi; typedef vector vvi; typedef vector vp; typedef vector vvp; typedef vector vs; typedef vector vd; typedef vector vvd; typedef pair pip; typedef vectorvip; const double PI=acos(-1); const double EPS=1e-7; const int inf=1e8; const ll INF=1e16; int dx[4]={0,1,0,-1}; int dy[4]={1,0,-1,0}; vi used(26); int G[26][26]; int co[2][26]; int co1,co2,h; void dfs(int a,int b,string s){ if(b+1==co2){ h=true; cout<>a; assert(1<=a&&a<=26); while(a--){ string s;cin>>s; rep(i,s.size()-1)G[s[i]-'A'][s[i+1]-'A']=1; rep(i,s.size())co[q][s[i]-'A']++; rep(i,s.size())assert('A'<=s[i]&&s[i]<='Z'); } } rep(i,26)assert(co[0][i]<2&&co[1][i]<2&&co[0][i]==co[1][i]); rep(i,26)rep(j,26)co1+=G[i][j]; rep(i,26)co2+=co[0][i]; if(co1+1!=co2){ cout<<-1<