#include<stdio.h>
int base;
char f;
int a[10];
int b[10][10];
int c[10];
int res;
void process(){
int me=a[f-'1'];
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
int dist=a[i]-a[j];
if(dist<0)dist=-dist;
me+=b[i][j]*dist;
}
}
if(res<0||res>me)res=me;
}
void dfs(int dep){
if(dep==9){
process();
return;
}
for(int i=0;i<9;i++){
if(!c[i])
{
c[i]=1;
a[dep]=i;
dfs(dep+1);
c[i]=0;
}
}
}
int main(){
res=-1;
char c='0';
while(1){
char d=getchar();
if(d<0)break;
if(d<'1'||d>'9')continue;
if(c=='0'){
f=d;
}
else{
b[c-'1'][d-'1']++;
}
base++;
c=d;
}
dfs(0);
printf("%d",res+base);
}
I2luY2x1ZGU8c3RkaW8uaD4KaW50IGJhc2U7CmNoYXIgZjsKaW50IGFbMTBdOwppbnQgYlsxMF1bMTBdOwppbnQgY1sxMF07CmludCByZXM7CnZvaWQgcHJvY2VzcygpewogICAgaW50IG1lPWFbZi0nMSddOwogICAgZm9yKGludCBpPTA7aTw5O2krKyl7CiAgICAgICAgZm9yKGludCBqPTA7ajw5O2orKyl7CiAgICAgICAgICAgIGludCBkaXN0PWFbaV0tYVtqXTsKICAgICAgICAgICAgaWYoZGlzdDwwKWRpc3Q9LWRpc3Q7CiAgICAgICAgICAgIG1lKz1iW2ldW2pdKmRpc3Q7CiAgICAgICAgfQogICAgfQogICAgaWYocmVzPDB8fHJlcz5tZSlyZXM9bWU7Cn0Kdm9pZCBkZnMoaW50IGRlcCl7CiAgICBpZihkZXA9PTkpewogICAgICAgIHByb2Nlc3MoKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBmb3IoaW50IGk9MDtpPDk7aSsrKXsKICAgICAgICBpZighY1tpXSkKICAgICAgICB7CiAgICAgICAgICAgIGNbaV09MTsKICAgICAgICAgICAgYVtkZXBdPWk7CiAgICAgICAgICAgIGRmcyhkZXArMSk7CiAgICAgICAgICAgIGNbaV09MDsKICAgICAgICB9CiAgICB9Cn0KaW50IG1haW4oKXsKICAgIHJlcz0tMTsKICAgIGNoYXIgYz0nMCc7CiAgICB3aGlsZSgxKXsKICAgICAgICBjaGFyIGQ9Z2V0Y2hhcigpOwogICAgICAgIGlmKGQ8MClicmVhazsKICAgICAgICBpZihkPCcxJ3x8ZD4nOScpY29udGludWU7CiAgICAgICAgaWYoYz09JzAnKXsKICAgICAgICAgICAgZj1kOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBiW2MtJzEnXVtkLScxJ10rKzsKICAgICAgICB9CiAgICAgICAgYmFzZSsrOwogICAgICAgIGM9ZDsKICAgIH0KICAgIGRmcygwKTsKICAgIHByaW50ZigiJWQiLHJlcytiYXNlKTsKfQ==