#include <iostream>
#include<set>
#include<iterator>
#include<cmath>
using namespace std;
int count=0,num=0;
set<int>myset;
int hpy(long long int t){
//set<int>myset;
int ans=0;
while(t)
{
num=t%10;
t/=10;
num*=num;
ans+=num;
}count++;
if(ans==1)
return count;
else if(myset.end()==myset.find(ans))
{
myset.insert(ans);
hpy(ans);
}
else if(myset.end()!=myset.find(ans))
{
return (-1);
}
}
int main(){
long long int t;
cin>>t;
//set<int>myset;
int y=hpy(t);
//for(set<int>::iterator it=myset.begin();it!=myset.end();it++)
//cout<<*it<<" ";
cout<<y<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlPGl0ZXJhdG9yPgojaW5jbHVkZTxjbWF0aD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGNvdW50PTAsbnVtPTA7CnNldDxpbnQ+bXlzZXQ7CmludCBocHkobG9uZyBsb25nIGludCB0KXsKCS8vc2V0PGludD5teXNldDsKCWludCBhbnM9MDsKCXdoaWxlKHQpCgl7CgkJbnVtPXQlMTA7CgkJdC89MTA7CgkJbnVtKj1udW07CgkJYW5zKz1udW07Cgl9Y291bnQrKzsKCWlmKGFucz09MSkKCXJldHVybiBjb3VudDsKCWVsc2UgaWYobXlzZXQuZW5kKCk9PW15c2V0LmZpbmQoYW5zKSkKCXsKCQlteXNldC5pbnNlcnQoYW5zKTsKCQlocHkoYW5zKTsKCX0KCWVsc2UgaWYobXlzZXQuZW5kKCkhPW15c2V0LmZpbmQoYW5zKSkKCXsKCQlyZXR1cm4gKC0xKTsKCX0KfQppbnQgbWFpbigpewoJbG9uZyBsb25nIGludCB0OwoJY2luPj50OwoJLy9zZXQ8aW50Pm15c2V0OwoJaW50IHk9aHB5KHQpOwoJLy9mb3Ioc2V0PGludD46Oml0ZXJhdG9yIGl0PW15c2V0LmJlZ2luKCk7aXQhPW15c2V0LmVuZCgpO2l0KyspCgkvL2NvdXQ8PCppdDw8IiAiOwoJY291dDw8eTw8ZW5kbDsKCXJldHVybiAwOwp9