#include <iostream>
using namespace std;
string word[2000002];
int alpha[30], pos[2000002];
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; ++i)
{
cin >> word[i];
pos[i] = pos[i - 1] + word[i].size();
}
int l = 1, minn = 1e6 + 2, cnt = 0;
for (int i = 1; i <= n; ++i)
{
for (int j = 0; j < word[i].size(); ++j)
{
alpha[word[i][j] - 'a'] += 1;
if (alpha[word[i][j] - 'a'] == 1)
{
cnt += 1;
}
}
while (cnt == 26)
{
for (int j = 0; j < word[l].size(); ++j)
{
alpha[word[l][j] - 'a'] -= 1;
if (alpha[word[l][j] - 'a'] == 0)
{
cnt -= 1;
}
}
l += 1;
}
for (int j = 0; j < word[l].size(); ++j)
{
alpha[word[l][j] - 'a'] += 1;
if (alpha[word[l][j] - 'a'] == 1)
{
cnt += 1;
}
}
l += 1;
if (cnt == 26)
{
minn = min(minn, pos[i] - pos[l - 1] + 1);
}
}
cout << minn;
return 0;
}
照着老师代码写的