//UID : 833568244 _ Icy _
//----------------------------------------------------------------------------------------------------------------------------
//Now, let's write a different kind of poem together ♪
//-----------------------------------------------------------------------------------------------------------------------------
#include<bits/stdc++.h>
#define ll long long
#define el cout<<"\n"
#define task "letters"
using namespace std;
const int N = 2e5 + 7;
const int MOD = 1e9 + 7;
const int LOG = 20;
const int INF = 1e9;
struct cmp{
bool operator()(const int& a , const int& b){
return a<b;
}
};
bool minimize(int &x , int y){
if(x>y){
x = y;
return true;
}
return false;
}
int f[N][3][26] , best[N];
pair<int,int> trace[N][3][26];
string s;
void solve(){
cin>>s;
int n = s.size();
for(int i=0;i<N;i++){
for(int j=0;j<=1;j++){
for(int c=0;c<26;c++){
f[i][j][c] = INF;
}
}
}
s = ")" + s;
for(int c=0;c<26;c++){
f[1][0][c] = abs(c+'A'-s[1]);
}
for(int i=1;i<n;i++){
for(int c=0;c<26;c++){
if(f[i][0][c] != INF){
if(minimize(f[i+1][1][c] , f[i][0][c] + abs(c+'A'-s[i+1]))){
trace[i+1][1][c] = {0,c};
}
}
if(f[i][1][c] != INF){
for(int t=0;t<26;t++){
if(minimize(f[i+1][t==c][t] , f[i][1][c] + abs(t+'A'-s[i+1]))){
trace[i+1][t == c][t] = {1,c};
}
}
}
}
}
int res = INF;
int c = -1 , j = 1;
for(int i=0;i<26;i++){
if(minimize(res , f[n][1][i])) c = i;
}
for(int i=n;i>=1;i--){
best[i] = c;
auto x = trace[i][j][c];
j = x.first;
c = x.second;
}
cout<<res;
el;
for(int i=1;i<=n;i++){
cout<<char(best[i] + 'A');
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
if (fopen (task".inp", "r")) {
freopen (task".inp", "r", stdin);
freopen (task".out", "w", stdout);
}
int T = 1;
// cin>>T;
while(T--)
solve();
return 0;
}
//One of us stays in the past, and the other walks toward the future...
//but our hearts have never been apart ♪
Ly9VSUQgOiA4MzM1NjgyNDQgXyBJY3kgXyAKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vTm93LCBsZXQncyB3cml0ZSBhIGRpZmZlcmVudCBraW5kIG9mIHBvZW0gdG9nZXRoZXIg4pmqCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZWwgY291dDw8IlxuIgoKI2RlZmluZSB0YXNrICJsZXR0ZXJzIgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE4gPSAyZTUgKyA3Owpjb25zdCBpbnQgTU9EID0gMWU5ICsgNzsKY29uc3QgaW50IExPRyA9IDIwOwpjb25zdCBpbnQgSU5GID0gMWU5OwpzdHJ1Y3QgY21wewogICAgYm9vbCBvcGVyYXRvcigpKGNvbnN0IGludCYgYSAsIGNvbnN0IGludCYgYil7CiAgICAgICAgcmV0dXJuIGE8YjsgCiAgICB9Cn07Cgpib29sIG1pbmltaXplKGludCAmeCAsIGludCB5KXsKICAgIGlmKHg+eSl7CiAgICAgICAgeCA9IHk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KaW50IGZbTl1bM11bMjZdICwgYmVzdFtOXTsKcGFpcjxpbnQsaW50PiB0cmFjZVtOXVszXVsyNl07CnN0cmluZyBzOwp2b2lkIHNvbHZlKCl7CiAgICBjaW4+PnM7CiAgICBpbnQgbiA9IHMuc2l6ZSgpOwogICAgZm9yKGludCBpPTA7aTxOO2krKyl7CiAgICAgICAgZm9yKGludCBqPTA7ajw9MTtqKyspewogICAgICAgICAgICBmb3IoaW50IGM9MDtjPDI2O2MrKyl7CiAgICAgICAgICAgICAgICBmW2ldW2pdW2NdID0gSU5GOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcyA9ICIpIiArIHM7CiAgICBmb3IoaW50IGM9MDtjPDI2O2MrKyl7CiAgICAgICAgZlsxXVswXVtjXSA9IGFicyhjKydBJy1zWzFdKTsKICAgIH0KICAgIGZvcihpbnQgaT0xO2k8bjtpKyspewogICAgICAgIGZvcihpbnQgYz0wO2M8MjY7YysrKXsKICAgICAgICAgICAgaWYoZltpXVswXVtjXSAhPSBJTkYpewogICAgICAgICAgICAgICAgaWYobWluaW1pemUoZltpKzFdWzFdW2NdICwgZltpXVswXVtjXSArIGFicyhjKydBJy1zW2krMV0pKSl7CiAgICAgICAgICAgICAgICAgICAgdHJhY2VbaSsxXVsxXVtjXSA9IHswLGN9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGZbaV1bMV1bY10gIT0gSU5GKXsKICAgICAgICAgICAgICAgIGZvcihpbnQgdD0wO3Q8MjY7dCsrKXsKICAgICAgICAgICAgICAgICAgICBpZihtaW5pbWl6ZShmW2krMV1bdD09Y11bdF0gLCBmW2ldWzFdW2NdICsgYWJzKHQrJ0EnLXNbaSsxXSkpKXsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2VbaSsxXVt0ID09IGNdW3RdID0gezEsY307CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgaW50IHJlcyA9IElORjsKICAgIGludCBjID0gLTEgLCBqID0gMTsKICAgIGZvcihpbnQgaT0wO2k8MjY7aSsrKXsKICAgICAgICBpZihtaW5pbWl6ZShyZXMgLCBmW25dWzFdW2ldKSkgYyA9IGk7CiAgICB9CiAgICBmb3IoaW50IGk9bjtpPj0xO2ktLSl7CiAgICAgICAgYmVzdFtpXSA9IGM7CiAgICAgICAgYXV0byB4ID0gdHJhY2VbaV1bal1bY107CiAgICAgICAgaiA9IHguZmlyc3Q7CiAgICAgICAgYyA9IHguc2Vjb25kOwogICAgfQogICAgY291dDw8cmVzOwogICAgZWw7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAgY291dDw8Y2hhcihiZXN0W2ldICsgJ0EnKTsKICAgIH0KfQoKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7CiAgICBpZiAoZm9wZW4gKHRhc2siLmlucCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuICh0YXNrIi5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuICh0YXNrIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CiAgICBpbnQgVCA9IDE7Ci8vICBjaW4+PlQ7CiAgICB3aGlsZShULS0pCiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0gIAovL09uZSBvZiB1cyBzdGF5cyBpbiB0aGUgcGFzdCwgYW5kIHRoZSBvdGhlciB3YWxrcyB0b3dhcmQgdGhlIGZ1dHVyZS4uLiAKLy9idXQgb3VyIGhlYXJ0cyBoYXZlIG5ldmVyIGJlZW4gYXBhcnQg4pmqCg==