#include <iostream>
#include <string>

using namespace std;

int main()
{
    string n;
    cin >> n;
    int l = n.length();
    int prvi[10];
    int drugi[10];
    int rastojanje[10];
    int p = 0;

    for(int i = 0; i < 10; i++){
        prvi[i] = 0;
        drugi[i] = 0;
        rastojanje[i] = -1;
    }
    prvi[n[0] - 48]++;

    for(int i = 1; i < l; i++){
        int c = n[i] - 48;
        int d = n[i - 1] - 48;
        if(c == d){
            if(drugi[c] == 0) prvi[c]++;
            else drugi[c]++;
        }
        else if(drugi[d] > 0){
            if(drugi[d] >= rastojanje[d] && prvi[d] >= rastojanje[d]){

                for(int j = 0; j < 10; j++){
                    if(rastojanje[j] <= rastojanje[d] + drugi[d] && j != d){
                        prvi[j] = 0;
                        rastojanje[j] = -1;
                    }
                }

                p += rastojanje[d];
                prvi[d] += drugi[d] + rastojanje[d];
                drugi[d] = 0;
                rastojanje[d] = 0;
            }

            else if(drugi[d] <= prvi[d]){
                p += drugi[d];
                rastojanje[d] += drugi[d];
                drugi[d] = 0;
            }

            else{
                p += drugi[d];
                prvi[d] = drugi[d];
                rastojanje[d] = 0;
                drugi[d] = 0;
            }
        }
        else rastojanje[d] = 0;
        if(prvi[c] == 0) prvi[c] = 1;
        else drugi[c] = 1;

        for(int j = 0; j < 10; j++){
            if(rastojanje[j] > -1 && j != c) rastojanje[j]++;
        }
    }
    int d = n[l - 1] - 48;
    if(drugi[d] > 0) p = min(min(drugi[d], prvi[d]), rastojanje[d]);

    cout << p;
    return 0;
}