#include <bits/stdc++.h>
using namespace std;

unordered_map<char, int>poj,poz;
unordered_map<char,int>::iterator it;

int solve(string ime){
	
	int br = 0;

	
	int duzina = ime.length();
	
	int maxpon = 0;
			
		for(int i = 0;i < duzina; i++){
		
		poj[ime[i]]++;
		
		if(poj[ime[i]] > maxpon)maxpon = poj[ime[i]];
		
		poz[ime[i]] = 5000;
		
	}
	
	
	
		for(int i = 0;i < duzina; i++){
		
		if((poj[ime[i]] > 2 || (poj[ime[i]] > 1 &&  maxpon == 2))  && poz[ime[i]] != 5000){
			
			if(((i - poz[ime[i]]) % 2 != 0) && i + 2 != duzina && i - 2 > 0 ){
		
				br++;
			
				poz[ime[i]] = i;
	
			}
		
			}

		if(poz[ime[i]] == 5000)poz[ime[i]] = i;
	}		
	
	return br;
	
}

int main(){
	
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	
	string ime;
	
	cin >> ime;
	
	cout << solve(ime);
	
	return 0;
}