#include<bits/stdc++.h> using namespace std; int _max=-0x7fffffff; int sum[100005][26]; char S[100005]; int main() { int k; while(scanf("%d%s",&k,S+1)!=EOF) { int FLAG=0; int ans=-1; int len=strlen(S+1); for(int i=1;i<=len;i++) { for(int j=0;j<26;j++) sum[i][j]=sum[i-1][j]; sum[i][S[i]-'a']++; } //字符型前缀和,如sum[i][0]表示从下标1到下标i字符'a'出现的次数 // for(int i=0;i<=len;i++) // printf("%d\n",sum[i][0]); int l=1; int r=len; while(l<=r) { FLAG=0; int mid=(l+r)/2; for(int i=1;i+mid<=len+1;i++) //1~1+mid-1 if(sum[i+mid-1][S[i]-'a']-sum[i-1][S[i]-'a']+k>=mid&&sum[len][S[i]-'a']>=mid) { FLAG=1; // printf("i:%d mid:%d\n",i,mid); break; } if(FLAG==1) { ans=mid; l=mid+1; } else r=mid-1; } printf("%d\n",ans); } return 0; }