#include <iostream>
#include <vector>
#include <unordered_set>
#include <bits/stdc++.h>
#define mid size()/2
#define pol *2+1
#define por *2+2
using ll = long long;
using namespace std;
string s;
int n;
bool ist=false;
int toint(string s){
int in=1,val=0;
for(int i=s.size();i-->0;){
val+=in*(s[i]-'0');
in*=10;
}
return val;
}
void dfs(int aim,int now,int val,int ind){
if(val>n)return;
if(aim==now){
if(val+toint(s.substr(ind,s.size()-ind))==n){
ist=true;
}
}else{
for(int i=ind;i<s.size()-(aim-now-1);i++){
dfs(aim,now+1,val+toint(s.substr(ind,i+1-ind)),i+1);
}
}
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin>>s>>n;
for(int i=0;i<s.length();i++){
dfs(i,0,0,0);
if(ist){
cout<<i;
break;
}
}
if(!ist)
cout<<-1;
return 0;
}