//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int main(){ string S; cin >> S; int s = (int)S.size(); if(S[0] != '1' or s == 1){ printl(-1); return 0; } for(int i = 1; i < s; i++){ if(S[i] != '3'){ printl(-1); return 0; } } printl(s-1); return 0; }