#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
string s;
cin>>s;
int n=s.size();
int mini=1e9;
vector<int>diffab(n+1,0);
int counta=0;
int countb=0;
for(int i=1;i<=n;i++){
if(s[i-1]=='a'){
counta++;
}
else{
countb++;
}
diffab[i]=counta-countb;
}
int diff=diffab[n];
unordered_map<int,int>mp;
mp[0]=0;
for(int i=1;i<=n;i++){
int newdiff=diffab[i]-diff;
if(mp.find(newdiff)!=mp.end()){
int prev=mp[newdiff];
int len=i-prev;
mini=min(mini,len);
}
mp[diffab[i]]=i;
}
if(diffab[n]==0){ //already balanced
mini=0;
}
if(mini==n){ //need to remove whole string
cout<<"-1";
return 0;
}
cout<<"The minimum length of subarray to be removed is:"<<mini;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglzdHJpbmcgczsKCWNpbj4+czsKCWludCBuPXMuc2l6ZSgpOwoJaW50IG1pbmk9MWU5OwoJdmVjdG9yPGludD5kaWZmYWIobisxLDApOwoJaW50IGNvdW50YT0wOwoJaW50IGNvdW50Yj0wOwoJZm9yKGludCBpPTE7aTw9bjtpKyspewoJCWlmKHNbaS0xXT09J2EnKXsKCQkJY291bnRhKys7CgkJfQoJCWVsc2V7CgkJCWNvdW50YisrOwoJCX0KCQlkaWZmYWJbaV09Y291bnRhLWNvdW50YjsKCX0KCWludCBkaWZmPWRpZmZhYltuXTsKCXVub3JkZXJlZF9tYXA8aW50LGludD5tcDsKCW1wWzBdPTA7Cglmb3IoaW50IGk9MTtpPD1uO2krKyl7CgkJaW50IG5ld2RpZmY9ZGlmZmFiW2ldLWRpZmY7CgkJaWYobXAuZmluZChuZXdkaWZmKSE9bXAuZW5kKCkpewoJCQlpbnQgcHJldj1tcFtuZXdkaWZmXTsKCQkJaW50IGxlbj1pLXByZXY7CgkJCW1pbmk9bWluKG1pbmksbGVuKTsKCQl9CgkJbXBbZGlmZmFiW2ldXT1pOwogCgl9CglpZihkaWZmYWJbbl09PTApeyAgICAgIC8vYWxyZWFkeSBiYWxhbmNlZAoJCSBtaW5pPTA7ICAgICAgICAgIAogICAgfQoJaWYobWluaT09bil7ICAgICAvL25lZWQgdG8gcmVtb3ZlIHdob2xlIHN0cmluZwoJICAgICBjb3V0PDwiLTEiOwoJICAgICByZXR1cm4gMDsKICAgIH0KIAoJY291dDw8IlRoZSBtaW5pbXVtIGxlbmd0aCBvZiBzdWJhcnJheSB0byBiZSByZW1vdmVkIGlzOiI8PG1pbmk7CglyZXR1cm4gMDsKfQ==