#include<bits/stdc++.h>
using namespace std;
const int N = 50;
long long f[N][N];
int res = -1;
string s;
int n,len;
void dfs(int pos,int cnt,int sum){
if(pos == len + 1 && sum == n){
if(res == -1){
res = cnt - 1;
}else{
res = min(res,cnt - 1);
}
return;
}
if(sum + f[pos][len] < n || (pos + 5 <= len && sum + f[pos][len] < n)) return;
for(int i = pos; i <= len; i++){
for(int j = i; j <= len && j <= i + 5; j++){
dfs(j+1,cnt+1,sum+f[i][j]);
}
}
}
int main(){
cin>>s>>n;
for(int i = 1; i <= s.size(); i++){
f[i][i] = s[i-1]-'0';
}
for(int i = 1; i <= s.size(); i++){
for(int j = i + 1; j <= s.size(); j++){
f[i][j] = f[i][j-1]*10+(s[j-1]-'0');
}
}
len = s.size();
dfs(1,0,0);
printf("%d",res);
return 0;
}