#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
struct Hamming {
int x, y;
Hamming(int x, int y) :
x(x),
y(y)
{}
static Hamming read() {
int x, y;
cin >> x >> y;
return Hamming{x, y};
}
int distance(int x, int y) {
int number = x ^ y;
int counter = 0;
while (number > 0) {
counter += (number & 1);
// counter += number % 2
number >>= 1;
// number /= 2;
}
return counter;
}
};
int main() {
#ifdef LOCAL
freopen("input.txt", "r", stdin);
#endif
Hamming var = Hamming::read();
cout << var.distance(var.x, var.y) << "\n";
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgogICAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBIYW1taW5nIHsKICAgIGludCB4LCB5OwoKICAgIEhhbW1pbmcoaW50IHgsIGludCB5KSA6CiAgICAgICAgeCh4KSwKICAgICAgICB5KHkpCiAgICB7fQoKICAgIHN0YXRpYyBIYW1taW5nIHJlYWQoKSB7CiAgICAgICAgaW50IHgsIHk7CiAgICAgICAgY2luID4+IHggPj4geTsKICAgICAgICByZXR1cm4gSGFtbWluZ3t4LCB5fTsKICAgIH0KCiAgICBpbnQgZGlzdGFuY2UoaW50IHgsIGludCB5KSB7CiAgICAgICAgaW50IG51bWJlciA9IHggXiB5OwogICAgICAgIGludCBjb3VudGVyID0gMDsKCiAgICAgICAgd2hpbGUgKG51bWJlciA+IDApIHsKICAgICAgICAgICAgY291bnRlciArPSAobnVtYmVyICYgMSk7CiAgICAgICAgICAgIC8vIGNvdW50ZXIgKz0gbnVtYmVyICUgMgogICAgICAgICAgICBudW1iZXIgPj49IDE7CiAgICAgICAgICAgIC8vIG51bWJlciAvPSAyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gY291bnRlcjsKICAgIH0KfTsKCmludCBtYWluKCkgeyAKI2lmZGVmIExPQ0FMCiAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKI2VuZGlmICAKICAgIEhhbW1pbmcgdmFyID0gSGFtbWluZzo6cmVhZCgpOwoKICAgIGNvdXQgPDwgdmFyLmRpc3RhbmNlKHZhci54LCB2YXIueSkgPDwgIlxuIjsKCiAKICAgIHJldHVybiAwOyAgIAp9