#include <iostream>
#include <string>
using namespace std;

int rezultat = -1;

bool razliciti(int a, int k, int& kol,string s1) {
	bool rezultat = 1;
	int l1 = s1.length();
	kol = 0;
	for (int j = k; j < l1; j++)
	{
		if (s1[j] == a) {
			rezultat = 0;
			kol = kol + 1;
		}
	}
	return rezultat;
}


int fix(int a, int k, int kol, string s1) {
	int rezultat = 0;
	int l1 = s1.length();
	int broj = 0;
	int fount = 0;
	int j = k;
	
	while ( j<l1 && (fount<kol)){
	
		if (s1[j] == a)
		{
		fount =  fount +1;
		}
		else if (s1[j] != a) {
			broj = broj + 1;
		}
		j = j + 1;
	}
	return broj;
}

int  test(int  k, string s){

	bool stop = 0;	
	int br = 0;
	int sledeci = k+1;
	int j = k + 1;
	int l = s.length();
	int kol = 0;
	int isti = 0;

	while ( j< l && !stop){
	
		if (s[k] == s[j]){
			j = j + 1;
			isti = isti + 1;
		}
		else 
		{		
			sledeci = j;
			stop = 1;
		}
	}

	if (sledeci == l)
		return rezultat;
	else
	{
		if (razliciti(s[k], sledeci, kol,  s)) {		
			rezultat = test(sledeci, s);
		}
		else
		{
			br = fix(s[k], sledeci, kol, s);
			
			if (br > kol) {
				br = kol;
			}
			if (rezultat == -1) {			
				rezultat =  br;
			}
			else rezultat = rezultat + br;

			
			rezultat = test(sledeci+kol, s);
		}
	}
	
	if (rezultat == -1)
		rezultat = 0;
	return rezultat;
}


int main()
{
	int l = 0;
	int rezultat = 0;
	string s;
	int i = 0;
	cin >> s;
	l = s.length();
    
	cout << test(0, s);

    return 0;
}