#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long int n, p;
  cin >> n >> p;
  if (p == 0) {
    cout << __builtin_popcount(n);
    return 0;
  }
  if (p > 0) {
    long long int a = n;
    long long int cnt = 0;
    while (a > 0) {
      long long int temp = __builtin_popcount(a);
      long long int c = 0, k = 0;
      while (a) {
        if (a & 1) {
          k += (c + 1);
        }
        a = a / 2;
        c++;
      }
      if (temp <= cnt) {
        if (k >= cnt) {
          cout << cnt;
          return 0;
        }
      }
      cnt++;
      a = n - cnt * p;
    }
  } else {
    long long int a = n;
    long long int cnt = 0;
    while (cnt < 1000) {
      long long int temp = __builtin_popcount(a);
      long long int c = 0, k = 0;
      while (a) {
        if (a & 1) {
          k += (c + 1);
        }
        a = a / 2;
        c++;
      }
      if (temp <= cnt) {
        if (k >= cnt) {
          cout << cnt;
          return 0;
        }
      }
      cnt++;
      a = n - cnt * p;
    }
  }
  cout << -1;
  return 0;
}
