#include<bits/stdc++.h>
using namespace std;
long long n,m,cnt=0,t=0,k,x,y;
long long mini=INT_MAX;
const long long N=1e5+10;
bool check(long long n){
while(n){
if(n%10>1)
return 1;
n/=10;
}
return 0;
}
long long f(long long n){
long long ans=0;
while(n){
ans++;
n/=10;
}
return ans;
}
void dfs(long long n,long long step){
long long num=f(n);
if(!check(n)){
return ;
}
if(x-num+step>mini){
return ;
}
if(num==x){
mini=min(mini,step);
return ;
}
long long k=n;
while(k){
if(k%10>1){
dfs(n*(k%10),step+1);
}
k/=10;
}
return ;
}
int main(){
cin>>x>>n;
dfs(n,0);
if(mini==INT_MAX){
cout<<-1;
}
else{
cout<<mini;
}
return 0;
}