#include<iostream>
#include<list>
#include<set>
#include<cmath>
using namespace std;
string N,p,cj;
set<int> s;
list<string> l;
int ab[10];
set<int>::iterator it;
pair<set<int>::iterator, bool> par;
int br=0,x=0,UKUPNO=0,brrazl=0,y,a=0,maks,zakraj,pret=0,prethodni=-1;
int main(){
	cin>>N;
	p=N;
	y=N.length();
	if(y>=20){
		a=y-20;
		p.erase(20,x);
	}
	y=p.length();
	for(int i=0;i<10;i++)ab[i]=0;
	for(int i=0;i<y;i++){
		x=p.at(i);
		if(x==48)x=0;
		else if(x==49)x=1;
		else if(x==50)x=2;
		else if(x==51)x=3;
		else if(x==52)x=4;
		else if(x==53)x=5;
		else if(x==54)x=6;
		else if(x==55)x=7;
		else if(x==56)x=8;
		else if(x==57)x=9;
		ab[x]++;
		if(prethodni==x)pret++;
		prethodni=x;
		par=s.insert(x);
		if(par.second==true)brrazl++;
		else br++;
	}
	l.push_back(p);
	y=p.length();
	int q=pret;
	maks=ab[0];
	for(int i=1;i<10;i++)if(ab[i]>maks)maks=ab[i];
	zakraj=N.length();
	if(brrazl==10)UKUPNO=zakraj-10;
	else UKUPNO=zakraj-brrazl-(maks-1);
	cout<<UKUPNO;
	return 0;
}