#include using namespace std; const int MAX_N = 110; const int INF = (1 << 30); const char keyboard[3][11] = {"QWERTYUIOP", "ASDFGHJKL ", "ZXCVBNM "}; int dist[26][26]; int d[110][26][26]; int main() { for(int i = 0; i < 3; i++) { for(int j = 0; j < 10; j++) { for(int i2 = i; i2 < 3; i2++) { for(int j2 = j; j2 < 10; j2++) { if(keyboard[i][j] != ' ' && keyboard[i2][j2] != ' ') { dist[keyboard[i][j] - 'A'][keyboard[i2][j2] - 'A'] = dist[keyboard[i2][j2] - 'A'][keyboard[i][j] - 'A'] = i2 - i + j2 - j; } } } } } string s; cin >> s; int n = s.size(); for(int i = 0; i <= n; i++) { for(int t1 = 0; t1 < 26; t1++) { for(int t2 = 0; t2 < 26; t2++) { d[i][t1][t2] = INF; } } } d[0]['F' - 'A']['J' - 'A'] = 0; for(int i = 0; i < n; i++) { for(int t1 = 0; t1 < 26; t1++) { for(int t2 = 0; t2 < 26; t2++) { d[i + 1][t1][s[i] - 'A'] = min(d[i + 1][t1][s[i] - 'A'], d[i][t1][t2] + dist[t2][s[i] - 'A']); d[i + 1][s[i] - 'A'][t2] = min(d[i + 1][s[i] - 'A'][t2], d[i][t1][t2] + dist[t1][s[i] - 'A']); } } } int ans = INF; for(int i = 0; i < 26; i++) { for(int j = 0; j < 26; j++) { ans = min(ans, d[n][i][j]); } } cout << ans; return 0; }