#include <iostream>
using namespace std;
int main()
{
while (true){
int t;
cin >> t;
cin.ignore();
if (t==0)return 0;
string ab;
getline(cin,ab);
int a[1000]={0};
int dp[ab.size()];
dp[0]=1;
a[ab[0]]=1;
int c2(0);
int different(1);
int character(2);
int maxi(0);
for (int c(1);c<ab.size();c++,character++){
maxi=max(maxi,dp[c-1]);
if (a[ab[c]]==0){different++;}a[ab[c]]++;
if (different<=t){dp[c]=character-c2;}
else {
if (a[ab[c2]]-1==0){dp[c]=character-c2-1;a[ab[c2]]=0;c2++;different--;}
else
{
for (;different>t;c2++){a[ab[c2]]--;if (a[ab[c2]]==0)different--;}
dp[c]=different;
maxi=max(maxi,dp[c]);
}
}
}
cout << maxi << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgd2hpbGUgKHRydWUpewogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIGNpbi5pZ25vcmUoKTsKICAgIGlmICh0PT0wKXJldHVybiAwOwogICAgc3RyaW5nIGFiOwogICAgZ2V0bGluZShjaW4sYWIpOwogICAgaW50IGFbMTAwMF09ezB9OwogICAgaW50IGRwW2FiLnNpemUoKV07CiAgICBkcFswXT0xOwogICAgYVthYlswXV09MTsKaW50IGMyKDApOwppbnQgZGlmZmVyZW50KDEpOwppbnQgY2hhcmFjdGVyKDIpOwppbnQgbWF4aSgwKTsKICAgIGZvciAoaW50IGMoMSk7YzxhYi5zaXplKCk7YysrLGNoYXJhY3RlcisrKXsKICAgICAgICAgICAgbWF4aT1tYXgobWF4aSxkcFtjLTFdKTsKICAgICAgICBpZiAoYVthYltjXV09PTApe2RpZmZlcmVudCsrO31hW2FiW2NdXSsrOwogICAgICAgIGlmIChkaWZmZXJlbnQ8PXQpe2RwW2NdPWNoYXJhY3Rlci1jMjt9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGlmIChhW2FiW2MyXV0tMT09MCl7ZHBbY109Y2hhcmFjdGVyLWMyLTE7YVthYltjMl1dPTA7YzIrKztkaWZmZXJlbnQtLTt9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgIGZvciAoO2RpZmZlcmVudD50O2MyKyspe2FbYWJbYzJdXS0tO2lmIChhW2FiW2MyXV09PTApZGlmZmVyZW50LS07fQogICAgICAgICAgICAgICAgZHBbY109ZGlmZmVyZW50OwogICAgICAgICAgICAgICAgbWF4aT1tYXgobWF4aSxkcFtjXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgoKCgp9CmNvdXQgPDwgbWF4aSA8PCBlbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0K