#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(1);
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]=character-c2;
}
}
maxi=max(maxi,dp[c]);
}
cout << maxi << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKQp7CiAgICB3aGlsZSAodHJ1ZSl7CiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgY2luLmlnbm9yZSgpOwogICAgaWYgKHQ9PTApcmV0dXJuIDA7CiAgICBzdHJpbmcgYWI7CiAgICBnZXRsaW5lKGNpbixhYik7CiAgICBpbnQgYVsxMDAwXT17MH07CiAgICBpbnQgZHBbYWIuc2l6ZSgpXTsKICAgIGRwWzBdPTE7CiAgICBhW2FiWzBdXT0xOwppbnQgYzIoMCk7CmludCBkaWZmZXJlbnQoMSk7CmludCBjaGFyYWN0ZXIoMik7CmludCBtYXhpKDEpOwogICAgZm9yIChpbnQgYygxKTtjPGFiLnNpemUoKTtjKyssY2hhcmFjdGVyKyspewogICAgICAgICAgICBtYXhpPW1heChtYXhpLGRwW2MtMV0pOwogICAgICAgIGlmIChhW2FiW2NdXT09MCl7ZGlmZmVyZW50Kys7fWFbYWJbY11dKys7CiAgICAgICAgaWYgKGRpZmZlcmVudDw9dCl7ZHBbY109Y2hhcmFjdGVyLWMyO30KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgaWYgKGFbYWJbYzJdXS0xPT0wKXtkcFtjXT1jaGFyYWN0ZXItYzItMTthW2FiW2MyXV09MDtjMisrO2RpZmZlcmVudC0tO30KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAKICAgICAgICAgICAgICAgIGZvciAoO2RpZmZlcmVudD50O2MyKyspe2FbYWJbYzJdXS0tO2lmIChhW2FiW2MyXV09PTApZGlmZmVyZW50LS07fQogICAgICAgICAgICAgICAgZHBbY109Y2hhcmFjdGVyLWMyOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0KICAgICAgICB9CgltYXhpPW1heChtYXhpLGRwW2NdKTsKIAp9CmNvdXQgPDwgbWF4aSA8PCBlbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0KIAo=