#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) {
if (sum == n) {
if (res == -1 || cnt-1 < res) {
res = cnt-1;
}
}
return;
}
if(sum + f[pos][len] < n || sum > n) return;
if(sum + f[pos][len] == n){
if (res == -1 || cnt < res) {
res = cnt;
}
return;
}
for(int j = pos; j <= len && f[pos][j] < 1e5; j++){
dfs(j+1,cnt+1,sum+f[pos][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');
if (f[i][j] > 1e5)
{
while (j <= s.size()) f[i][j++] = 1e8+10;
}
}
}
len = s.size();
dfs(1,0,0);
printf("%d",res);
return 0;
}