#include <bits/stdc++.h>

using namespace std;

char mat[][25]={"QWERTYUIOP",
                "ASDFGHJKL",
                "ZXCVBNM"};
int dp[3][105];
char s[105];
int dist(char,char);
pair <int,int> get_pos(char);
int main(){
    cin>>s+1;
    char finger1='F',finger2='J';
    for (int i=1;i<=strlen(s+1);i++){
        dp[1][i]=min(dp[1][i-1],dp[2][i-1])+dist(finger1,s[i]);
        dp[2][i]=min(dp[1][i-1],dp[2][i-1])+dist(finger2,s[i]);
        if (dp[1][i]<dp[2][i]){
            finger1=s[i];
        }
        else {
            finger2=s[i];
        }
    }
    cout<<min(dp[1][strlen(s+1)],dp[2][strlen(s+1)]);
}

int dist(char c1,char c2){
    pair <int,int> pos1=get_pos(c1);
    pair <int,int> pos2=get_pos(c2);
    int dx=pos1.first-pos2.first;
    if (dx<0){
        dx=-dx;
    }
    int dy=pos1.second-pos2.second;
    if (dy<0){
        dy=-dy;
    }
    return dx+dy;
}

pair <int,int> get_pos(char c){
    pair <int,int> sol=make_pair(0,0);
    int ok=0;
    char *p=strchr(mat[0],c);
    if (!p){
        p=strchr(mat[1],c);
    }
    else {
        ok=1;
        sol.first=p-mat[0];
        sol.second=0;
    }
    if (!p){
        p=strchr(mat[2],c);
    }
    else {
        if (!ok){
            ok=1;
            sol.first=p-mat[1];
            sol.second=1;
        }
    }
    if (!ok){
        sol.first=p-mat[2];
        sol.second=2;
    }
    return sol;
}