#定义f(x)找一段里面最小修改次数
#对于每一半字符串,统计每个字符的出现次数。
#如果所有字符出现次数相同,则结果为 “不同字符数 - 1”;
#否则,去掉出现次数最多的字符,结果为 “剩余字符的出现次数之和”。
#最终结果是两半的上述结果相加。
def f(x:str):
    x0=list(set(x))
    l2=[]
    for i in range(len(x0)):
        f=x.count(x0[i])
        l2.append(f)
    if len(set(l2))==1:
        ss=len(l2)-1
    else:
        max_isalpha=max(l2)
        l2.remove(max_isalpha)
        ss=sum(l2)
    return ss

n=input()
ii=int(len(n)/2)
line1=n[0:ii]
line2=n[ii:len(n)+1]
if len(set(line1))==1:
    ans1=0
else:
    ans1=f(line1)
if len(set(line2))==1:
    ans2=0
else:
    ans2=f(line2)
ans=ans1+ans2
print(ans)




#对于每一半字符串,统计每个字符的出现次数。

#如果所有字符出现次数相同,则结果为 “不同字符数 - 1”;

#否则,去掉出现次数最多的字符,结果为 “剩余字符的出现次数之和”。

#最终结果是两半的上述结果相加。