#include<bits/stdc++.h>
#define map mapp
using namespace std;
const int N=100000;
char s[N+10];
int n,len,map[N+10],tot,l=1,ans=0x3f3f3f3f,ac[N+10],lcmp,totot=1;
int check(int l,int r)
{
int cntt[30],ret=1;
memset(cntt,0,sizeof cntt);
for(int i=l;i<=r;i++) cntt[map[i]]++;
for(int i=1;i<=26;i++)
{
if(!cntt[i]) return 0;
}
return 1;
}
void read()
{
scanf("%s",s+1);
len=strlen(s+1);
totot++;
ac[totot]=len+ac[totot-1];
for(int i=1;i<=len;i++)
{
if(s[i]==' ') continue;
map[++tot]=s[i]-'a'+1;
}
}
int main()
{
ac[1]=1;
lcmp=1;
scanf("%d",&n);
for(int i=1;i<=n;i++) read();
for(int i=1;i<=tot;i++)
{
int r=ac[i]-1;
if(!check(l,r)) continue;
while(check(l,r)&&l<r) l=ac[++lcmp];
l=ac[--lcmp];
ans=min(r-l+1,ans);
}
if(ans==0x3f3f3f3f) puts("-1");
else printf("%d",ans);
return 0;
}