#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int qs8_google(vector<char>arr,int k){
int n=arr.size();
multiset<char>st;
int max_len=0;
for(int i=0,j=0;j<n;j++){
st.insert(arr[j]);
int diff=*st.rbegin()-*st.begin();
while(diff>k){
auto it=st.find(arr[i]);
st.erase(it);
i++;
diff=*st.rbegin()-*st.begin();
}
int len=j-i+1;
max_len=max(max_len,len);
}
return max_len;
}
int main(){
int k;
string st;
getline(cin,st);
int l=st.size();
vector<char>arr(l);
for(int i=0;i<l;i++){
arr[i]=st[i];
}
cin>>k;
int ans=qs8_google(arr,k);
cout<<"Length of the longest substring with abs diff between any pair of the chars within the substr is: "<<ans<<endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IHFzOF9nb29nbGUodmVjdG9yPGNoYXI+YXJyLGludCBrKXsKICAgIGludCBuPWFyci5zaXplKCk7CiAgICBtdWx0aXNldDxjaGFyPnN0OwogICAgaW50IG1heF9sZW49MDsKICAgIGZvcihpbnQgaT0wLGo9MDtqPG47aisrKXsKICAgICAgICBzdC5pbnNlcnQoYXJyW2pdKTsKICAgICAgICBpbnQgZGlmZj0qc3QucmJlZ2luKCktKnN0LmJlZ2luKCk7CiAgICAgICAgd2hpbGUoZGlmZj5rKXsKICAgICAgICAgICAgYXV0byBpdD1zdC5maW5kKGFycltpXSk7CiAgICAgICAgICAgIHN0LmVyYXNlKGl0KTsKICAgICAgICAgICAgaSsrOwogICAgICAgICAgICBkaWZmPSpzdC5yYmVnaW4oKS0qc3QuYmVnaW4oKTsKICAgICAgICB9CiAgICAgICAgaW50IGxlbj1qLWkrMTsKICAgICAgICBtYXhfbGVuPW1heChtYXhfbGVuLGxlbik7CiAgICB9CiAgICByZXR1cm4gbWF4X2xlbjsKfQoKaW50IG1haW4oKXsKICAgIGludCBrOwogICAgc3RyaW5nIHN0OwogICAgZ2V0bGluZShjaW4sc3QpOwogICAgaW50IGw9c3Quc2l6ZSgpOwogICAgdmVjdG9yPGNoYXI+YXJyKGwpOwogICAgZm9yKGludCBpPTA7aTxsO2krKyl7CiAgICAgICAgYXJyW2ldPXN0W2ldOwogICAgfQogICAgY2luPj5rOwogICAgaW50IGFucz1xczhfZ29vZ2xlKGFycixrKTsKICAgIGNvdXQ8PCJMZW5ndGggb2YgdGhlIGxvbmdlc3Qgc3Vic3RyaW5nIHdpdGggYWJzIGRpZmYgYmV0d2VlbiBhbnkgcGFpciBvZiB0aGUgY2hhcnMgd2l0aGluIHRoZSBzdWJzdHIgaXM6ICI8PGFuczw8ZW5kbDsKCn0=