# include <cstdio> # include <vector> # include <cmath> # include <cstring> # define mp make_pair using namespace std; char s[101]; pair <int, int> poz[27]; pair <int, int> poz1, poz2; void read(){ scanf("%s", s); poz[0] = mp(0, 1); poz[1] = mp(4, 2); poz[2] = mp(2, 2); poz[3] = mp(2, 1); poz[4] = mp(2, 0); poz[5] = mp(3, 1); poz[6] = mp(4, 1); poz[7] = mp(5, 1); poz[8] = mp(7, 0); poz[9] = mp(6, 1); poz[10] = mp(7, 1); poz[11] = mp(8, 1); poz[12] = mp(6, 2); poz[13] = mp(5, 2); poz[14] = mp(8, 0); poz[15] = mp(9, 0); poz[16] = mp(0, 0); poz[17] = mp(0, 3); poz[18] = mp(1, 1); poz[19] = mp(4, 0); poz[20] = mp(6, 0); poz[21] = mp(3, 2); poz[22] = mp(1, 0); poz[23] = mp(1, 2); poz[24] = mp(5, 0); poz[25] = mp(0, 2); poz1.first = 3; poz1.second = 1; poz2.first = 6; poz2.second = 1; } int total = 0; void solve(){ for (int i=0; i<strlen(s); i++){ char c = s[i]; int nr = s[i] - 'A'; int cost1 = abs(double(poz1.first - poz[nr].first)) + abs(double(poz1.second - poz[nr].second)); int cost2 = abs(double(poz2.first - poz[nr].first)) + abs(double(poz2.second - poz[nr].second)); if (cost1 < cost2){ total += cost1; poz1 = poz[nr]; } else{ total += cost2; poz2 = poz[nr]; } } printf("%d\n", total); } int main(){ read(); solve(); return 0; }