#include <bits/stdc++.h>
using namespace std;
#define fastio ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define ll long long
#define rep(i, a, b) for (int i = (a); i < (b); ++i)
#define repr(i, a, b) for (int i = (a); i > (b); --i)
void solve() {
string s; cin>>s;
ll diff; cin>>diff;
ll n = s.size();
ll g = 0;
ll pf[n];
rep(i,0,n){
if(s[i]=='0'){
g++;
}else{
g--;
}
pf[i] = g;
}
ll d = pf[n-1];
ll ans = 0;
rep(i,0,n)
{
if(d == 0 && diff == pf[i])
{
cout << -1 <<endl;
return;
}else{
if((diff-pf[i])%d==0 && (diff-pf[i])/d >=0){
ans++;
}
}
}
cout << ans <<endl;
}
int main() {
fastio;
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZhc3RpbyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcmVwKGksIGEsIGIpIGZvciAoaW50IGkgPSAoYSk7IGkgPCAoYik7ICsraSkgIAojZGVmaW5lIHJlcHIoaSwgYSwgYikgZm9yIChpbnQgaSA9IChhKTsgaSA+IChiKTsgLS1pKQp2b2lkIHNvbHZlKCkgewogICAgc3RyaW5nIHM7IGNpbj4+czsKICAgIGxsIGRpZmY7IGNpbj4+ZGlmZjsKICAgIGxsIG4gPSBzLnNpemUoKTsKICAgIGxsIGcgPSAwOwogICAgbGwgcGZbbl07CiAgICByZXAoaSwwLG4pewogICAgICAgIGlmKHNbaV09PScwJyl7CiAgICAgICAgICAgIGcrKzsKICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgZy0tOwogICAgICAgIH0KICAgICAgICBwZltpXSA9IGc7CiAgICB9CiAgICBsbCBkID0gcGZbbi0xXTsKICAgIGxsIGFucyA9IDA7CiAgICByZXAoaSwwLG4pCiAgICB7CiAgICAgICAgaWYoZCA9PSAwICYmIGRpZmYgPT0gcGZbaV0pCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IC0xIDw8ZW5kbDsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBpZigoZGlmZi1wZltpXSklZD09MCAmJiAoZGlmZi1wZltpXSkvZCA+PTApewogICAgICAgICAgICAgICAgYW5zKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IGFucyA8PGVuZGw7Cn0KCgppbnQgbWFpbigpIHsKICAgIGZhc3RpbzsKICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQ==