#include<bits/stdc++.h>
using namespace std;
typedef long long int lli;
int solve(string s, int n)
{
map <char, int> m;
set <char> st;
for (int i = 0; i < n; i++)
{
st.insert(s[i]);
}
int total = st.size();
set <char> :: iterator itr;
for (itr = st.begin(); itr != st.end(); itr++)
{
m.insert({*itr, 0});
}
int left = 0, right = 0, min = INT_MAX;
int cursize = 0;
set <char> st2;
while (1)
{
if (m.find(s[right]) != m.end())
{
m[s[right]]++;
st2.insert(s[right]);
}
if (st2.size() == total)
{
while (m[s[left]] > 1)
{
m[s[left]]--;
left++;
}
cursize = right - left + 1;
if (cursize < min) min = cursize;
}
if (right == n - 1) break;
right++;
}
return min;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
string s;
cin >> s;
cout << solve(s, n) << endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsaTsKIAppbnQgc29sdmUoc3RyaW5nIHMsIGludCBuKQp7CgltYXAgPGNoYXIsIGludD4gbTsKCXNldCA8Y2hhcj4gc3Q7Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKCXsKCQlzdC5pbnNlcnQoc1tpXSk7Cgl9CglpbnQgdG90YWwgPSBzdC5zaXplKCk7CglzZXQgPGNoYXI+IDo6IGl0ZXJhdG9yIGl0cjsKCWZvciAoaXRyID0gc3QuYmVnaW4oKTsgaXRyICE9IHN0LmVuZCgpOyBpdHIrKykKCXsKCQltLmluc2VydCh7Kml0ciwgMH0pOwoJfQoJaW50IGxlZnQgPSAwLCByaWdodCA9IDAsIG1pbiA9IElOVF9NQVg7CglpbnQgY3Vyc2l6ZSA9IDA7CglzZXQgPGNoYXI+IHN0MjsKCXdoaWxlICgxKQoJewoJCWlmIChtLmZpbmQoc1tyaWdodF0pICE9IG0uZW5kKCkpCgkJewoJCQltW3NbcmlnaHRdXSsrOwoJCQlzdDIuaW5zZXJ0KHNbcmlnaHRdKTsKCQl9CgkJaWYgKHN0Mi5zaXplKCkgPT0gdG90YWwpCgkJewoJCQl3aGlsZSAobVtzW2xlZnRdXSA+IDEpCgkJCXsKCQkJCW1bc1tsZWZ0XV0tLTsKCQkJCWxlZnQrKzsKCQkJfQoJCQljdXJzaXplID0gcmlnaHQgLSBsZWZ0ICsgMTsKCQkJaWYgKGN1cnNpemUgPCBtaW4pIG1pbiA9IGN1cnNpemU7CgkJfQoJCWlmIChyaWdodCA9PSBuIC0gMSkgYnJlYWs7CgkJcmlnaHQrKzsKCX0KCXJldHVybiBtaW47Cn0KIAppbnQgbWFpbigpCnsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShOVUxMKTsKIAoJaW50IG47CgljaW4gPj4gbjsKCXN0cmluZyBzOwoJY2luID4+IHM7Cgljb3V0IDw8IHNvbHZlKHMsIG4pIDw8IGVuZGw7CiAKCXJldHVybiAwOwp9