#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

 int main()
{
	string broj;
	cin >> broj;
	int brpom = 0;
	vector<int> palpoz;
	vector<int> krajpoz;
	bool provera = true;
	int p1, p2;
	for (int prvi = 0; prvi < broj.length() - 1; prvi++) {
		if (broj[prvi] == broj[prvi + 1]) {
			palpoz.push_back(prvi);
			while (broj[prvi] == broj[prvi + 1]) {
				prvi++;
			}
			krajpoz.push_back(prvi);
		}
	}
	int c = 10;
	if (broj.length() < 10) {
		c = broj.length();
	}
	for (int i = 2; i < c; i++) {
		for (int prvi = 0; prvi < broj.length() - i; prvi++) {
			if (broj[prvi] == broj[prvi + i]) {
				provera = true;
				for (int j = 0; j < palpoz.size(); j++) {
					if (palpoz[j] > prvi && palpoz[j] < prvi + i) {
						provera = false;
						break;
					}
				}
				if (provera) {
					palpoz.push_back(prvi);
					krajpoz.push_back(prvi + i);
					brpom = brpom + i - 1;
				}
				else {
					sort(palpoz.begin(), palpoz.end());
					sort(krajpoz.begin(), krajpoz.end());
					for (int j = 0; j < palpoz.size(); j++) {
						if (prvi < palpoz[j]) {
							p1 = j - prvi;
							break;
						}
					}
					for (int j = 0; j < krajpoz.size(); j++) {
						if (prvi > krajpoz[j]) {
							p2 = j - prvi;
							if (p1 < p2) {
								brpom = brpom + p1;
								palpoz[j] = prvi;
							}
							else {
								brpom = brpom + p2;
								krajpoz[j] = prvi;
							}
							break;
						}
					}
				}
			}
		}
	}

	cout << brpom;

}