#include using namespace std; int rd(char c[]){ int i, sz=0; for(;;){ i = getchar_unlocked(); if(i!=' '&&i!='\n'&&i!='\r'&&i!='\t'&&i!=EOF){ break; } } c[sz++] = i; for(;;){ i = getchar_unlocked(); if(i==' '||i=='\n'||i=='\r'||i=='\t'||i==EOF){ break; } c[sz++] = i; } c[sz]='\0'; return sz; } void wt_L(int x){ char f[10]; int m=0, s=0; if(x<0){ m=1; x=-x; } while(x){ f[s++]=x%10; x/=10; } if(!s){ f[s++]=0; } if(m){ putchar_unlocked('-'); } while(s--){ putchar_unlocked(f[s]+'0'); } } int main(){ char A[12]; int area=1, hole[10]={1,0,0,0,1,0,1,0,2,1}, i, len, res; len = rd(A); { int Lj4PdHRW; for(Lj4PdHRW= 0;Lj4PdHRW< (len-1) + 1;Lj4PdHRW++){ A[Lj4PdHRW] -= '0'; } } { int KL2GvlyY; for(KL2GvlyY= 0;KL2GvlyY< (len-1) + 1;KL2GvlyY++){ area += hole[A[KL2GvlyY]]; } } res = min(2*len + area, len + 2*area); wt_L(res); putchar_unlocked('\n'); return 0; } // cLay varsion 20170430-1 // --- original code --- // { // int i, area = 1, len, res; // int hole[10] = {1,0,0,0,1,0,1,0,2,1}; // char A[12]; // // rd(A@len); // A[0..len-1] -= '0'; // area += hole[A[0..len-1]]; // // res = min(2*len + area, len + 2*area); // wt(res); // }