#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
int main() {
int n;
cin >> n;
string s;
cin >> s;
vector<int> count(10, 0);
for(char c: s){
count[c-'0']++;
}
string f = "";
int rem = 0;
unordered_map <char, int> mp;
for(int i=0; i<10; i++){
// cout<<count[i]<<" ";
if(count[i] & 1){
char cur = i + '0';
mp[cur] = 1;
f += cur;
rem++;
}
}
if(f.size() == 0) cout << -1 <<endl;
else {
// cout<<f<<endl;
int i = 0;
int j = 0;
int st = -1;
int en = -1;
int ans_len = INT_MAX;
while(i < s.size() && j < s.size()){
if(mp[s[j]] == 1) rem--;
mp[s[j]]--;
j++;
while(rem == 0){
if(j - i < ans_len) ans_len = j - i;
if(mp[s[i]] == 0) rem++;
mp[s[i]]++;
i++;
}
}
cout<<ans_len - 1<<endl;
}
return 0;
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Yml0c2V0PgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8bGltaXRzPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y2xpbWl0cz4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPG51bWVyaWM+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgc3RyaW5nIHM7CiAgICBjaW4gPj4gczsKICAgIHZlY3RvcjxpbnQ+IGNvdW50KDEwLCAwKTsKICAgIGZvcihjaGFyIGM6IHMpewogICAgICAgIGNvdW50W2MtJzAnXSsrOwogICAgfQogICAgc3RyaW5nIGYgPSAiIjsKICAgIGludCByZW0gPSAwOwogICAgdW5vcmRlcmVkX21hcCA8Y2hhciwgaW50PiBtcDsKICAgIGZvcihpbnQgaT0wOyBpPDEwOyBpKyspewogICAgICAgIC8vIGNvdXQ8PGNvdW50W2ldPDwiICI7CiAgICAgICAgaWYoY291bnRbaV0gJiAxKXsKICAgICAgICAgICAgY2hhciBjdXIgPSBpICsgJzAnOwogICAgICAgICAgICBtcFtjdXJdID0gMTsKICAgICAgICAgICAgZiArPSBjdXI7CiAgICAgICAgICAgIHJlbSsrOwogICAgICAgIH0KICAgIH0KCiAgICBpZihmLnNpemUoKSA9PSAwKSBjb3V0IDw8IC0xIDw8ZW5kbDsKICAgIGVsc2UgewogICAgICAgIC8vIGNvdXQ8PGY8PGVuZGw7CiAgICAgICAgaW50IGkgPSAwOwogICAgICAgIGludCBqID0gMDsKICAgICAgICBpbnQgc3QgPSAtMTsKICAgICAgICBpbnQgZW4gPSAtMTsKICAgICAgICBpbnQgYW5zX2xlbiA9IElOVF9NQVg7CiAgICAgICAgd2hpbGUoaSA8IHMuc2l6ZSgpICYmIGogPCBzLnNpemUoKSl7CiAgICAgICAgICAgIGlmKG1wW3Nbal1dID09IDEpIHJlbS0tOwogICAgICAgICAgICBtcFtzW2pdXS0tOwogICAgICAgICAgICBqKys7CiAgICAgICAgICAgIHdoaWxlKHJlbSA9PSAwKXsKICAgICAgICAgICAgICAgIGlmKGogLSBpIDwgYW5zX2xlbikgYW5zX2xlbiA9IGogLSBpOwogICAgICAgICAgICAgICAgaWYobXBbc1tpXV0gPT0gMCkgcmVtKys7CiAgICAgICAgICAgICAgICBtcFtzW2ldXSsrOwogICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjb3V0PDxhbnNfbGVuIC0gMTw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9