#include using namespace std; int dp[109][109][109]; string arr; pair < int , int > w[109]; int i , j , k , answer; char let; int cost(char A , char B) { int dx = w[A].first - w[B].first; int dy = w[A].second - w[B].second; if (dx < 0) dx = -dx; if (dy < 0) dy = -dy; return dx + dy; } int main() { //freopen("input" , "r" , stdin); //freopen("output" , "w" , stdout); cin >> arr; w['Q'] = {0 , 0}; w['W'] = {0 , 1}; w['E'] = {0 , 2}; w['R'] = {0 , 3}; w['T'] = {0 , 4}; w['Y'] = {0 , 5}; w['U'] = {0 , 6}; w['I'] = {0 , 7}; w['O'] = {0 , 8}; w['P'] = {0 , 9}; w['A'] = {1 , 0}; w['S'] = {1 , 1}; w['D'] = {1 , 2}; w['F'] = {1 , 3}; w['G'] = {1 , 4}; w['H'] = {1 , 5}; w['J'] = {1 , 6}; w['K'] = {1 , 7}; w['L'] = {1 , 8}; w['Z'] = {2 , 0}; w['X'] = {2 , 1}; w['C'] = {2 , 2}; w['V'] = {2 , 3}; w['B'] = {2 , 4}; w['N'] = {2 , 5}; w['M'] = {2 , 6}; for (i = 0 ; i < 109 ; ++i) for (j = 0 ; j < 109 ; ++j) for (k = 0 ; k < 109 ; ++k) dp[i][j][k] = 1000000000; dp[0]['F']['J'] = 0; //cerr << cost('A' , 'B'); for (i = 1 ; i <= arr.size() ; ++i) { let = arr[i - 1]; for (j = 'A' ; j <= 'Z' ; ++j) for (k = 'A' ; k <= 'Z' ; ++k) { dp[i][j][let] = min(dp[i][j][let] , dp[i - 1][j][k] + cost(let , k)); dp[i][let][k] = min(dp[i][let][k] , dp[i - 1][j][k] + cost(let , j)); } } answer = 1000000000; for (i = 'A' ; i <= 'Z' ; ++i) for (j = 'A' ; j <= 'Z' ; ++j) answer = min(answer , dp[arr.size()][i][j]); cout << answer << '\n'; return 0; }