#include <iostream>
#include <cmath>
using namespace std;
int64_t g(int64_t x) {
while (x) {
while (1 - (1 + ~(x % -2)) & 1)
x = (int64_t)floor(x / 2.0);
break;
}
while (1 - x)
return 5;
return 0;
}
int main() {
for (int64_t n = -32; n <= 32; ++ n)
cout << n << " " << g(n) << endl;
}
/*
def g(x):
while x:
while 1 - (1 + ~int(x % -2)) & 1: x //= -2
break
while 1-x:
return 0
return 5*/
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50NjRfdCBnKGludDY0X3QgeCkgewoJd2hpbGUgKHgpIHsKCQl3aGlsZSAoMSAtICgxICsgfih4ICUgLTIpKSAmIDEpCgkJCXggPSAoaW50NjRfdClmbG9vcih4IC8gMi4wKTsKCQlicmVhazsKCX0KCXdoaWxlICgxIC0geCkKCQlyZXR1cm4gNTsKCXJldHVybiAwOwp9CiAKIAppbnQgbWFpbigpIHsKIAogICAgZm9yIChpbnQ2NF90IG4gPSAtMzI7IG4gPD0gMzI7ICsrIG4pCQogICAgCWNvdXQgPDwgbiA8PCAiICIgPDwgZyhuKSA8PCBlbmRsOwogCn0KCi8qCmRlZiBnKHgpOgogd2hpbGUgeDoKICB3aGlsZSAxIC0gKDEgKyB+aW50KHggJSAtMikpICYgMTogeCAvLz0gLTIKICBicmVhawogd2hpbGUgMS14OgogICAgIHJldHVybiAwCiByZXR1cm4gNSov