#include <iostream>
#include <string>

using namespace std;

const int nmax = 100;
const int omega = 26;
const int inf = 1 << 30;

pair<int, int> p[omega + 1];
string s;
int d[nmax + 1][omega + 1][omega + 1];

inline int dist (int x, int y) {
    return abs(p[ x ].first - p[ y ].first) + abs(p[ x ].second - p[ y ].second);
}

int main() {
    p['q' - 'a'] = make_pair(1, 1);
    p['w' - 'a'] = make_pair(1, 2);
    p['e' - 'a'] = make_pair(1, 3);
    p['r' - 'a'] = make_pair(1, 4);
    p['t' - 'a'] = make_pair(1, 5);
    p['y' - 'a'] = make_pair(1, 6);
    p['u' - 'a'] = make_pair(1, 7);
    p['i' - 'a'] = make_pair(1, 8);
    p['o' - 'a'] = make_pair(1, 9);
    p['p' - 'a'] = make_pair(1, 10);

    p['a' - 'a'] = make_pair(2, 1);
    p['s' - 'a'] = make_pair(2, 2);
    p['d' - 'a'] = make_pair(2, 3);
    p['f' - 'a'] = make_pair(2, 4);
    p['g' - 'a'] = make_pair(2, 5);
    p['h' - 'a'] = make_pair(2, 6);
    p['j' - 'a'] = make_pair(2, 7);
    p['k' - 'a'] = make_pair(2, 8);
    p['l' - 'a'] = make_pair(2, 9);

    p['z' - 'a'] = make_pair(3, 1);
    p['x' - 'a'] = make_pair(3, 2);
    p['c' - 'a'] = make_pair(3, 3);
    p['v' - 'a'] = make_pair(3, 4);
    p['b' - 'a'] = make_pair(3, 5);
    p['n' - 'a'] = make_pair(3, 6);
    p['m' - 'a'] = make_pair(3, 7);

    for (int shp = 0; shp <= nmax; ++ shp) {
        for (int i = 0; i < omega; ++ i) {
            for (int j = 0; j < omega; ++ j) {
                d[ shp ][ i ][ j ] = inf;
            }
        }
    }
    d[ 0 ]['f' - 'a']['j' - 'a'] = 0;

    cin >> s;

    for (int i = 1; i <= (int)s.size(); ++ i) {
        int x = s[i - 1] - 'A';
        for (int j = 0; j < omega; ++ j) {
            for (int k = 0; k < omega; ++ k) {
                d[ i ][ j ][ x ] = min(d[ i ][ j ][ x ], d[i - 1][ k ][ x ] + dist(k, j));
                d[ i ][ j ][ x ] = min(d[ i ][ j ][ x ], d[i - 1][ j ][ k ] + dist(k, x));

                d[ i ][ x ][ j ] = min(d[ i ][ x ][ j ], d[i - 1][ k ][ j ] + dist(k, x));
                d[ i ][ x ][ j ] = min(d[ i ][ x ][ j ], d[i - 1][ x ][ k ] + dist(k, j));
            }
        }
    }

    int ans = inf;
    for (int i = 0; i < omega; ++ i) {
        for (int j = 0; j < omega; ++ j) {
            ans = min(ans, d[(int)s.size()][ i ][ j ]);
        }
    }
    cout << ans << "\n";

    return 0;
}