#include <iostream>
using namespace std;
int val[7] = {40, 30, 50, 25, 35, 45, 60};
const int max_idx = 6;
bool findNumber(int x, int target) {
if(x > max_idx) return false;
if(val[x] == target) return true;
if(target < val[x]) return findNumber(x * 2 + 1, target);
return findNumber(x * 2 + 2, target);
}
int main() {
cout << findNumber(0, 30) << endl;
cout << findNumber(0, 31) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCB2YWxbN10gPSB7NDAsIDMwLCA1MCwgMjUsIDM1LCA0NSwgNjB9OyAKY29uc3QgaW50IG1heF9pZHggPSA2OwoKYm9vbCBmaW5kTnVtYmVyKGludCB4LCBpbnQgdGFyZ2V0KSB7CiAgICBpZih4ID4gbWF4X2lkeCkgcmV0dXJuIGZhbHNlOwogICAgaWYodmFsW3hdID09IHRhcmdldCkgcmV0dXJuIHRydWU7CiAgICBpZih0YXJnZXQgPCB2YWxbeF0pIHJldHVybiBmaW5kTnVtYmVyKHggKiAyICsgMSwgdGFyZ2V0KTsKICAgIHJldHVybiBmaW5kTnVtYmVyKHggKiAyICsgMiwgdGFyZ2V0KTsKfQoKaW50IG1haW4oKSB7Cgljb3V0IDw8IGZpbmROdW1iZXIoMCwgMzApIDw8IGVuZGw7Cgljb3V0IDw8IGZpbmROdW1iZXIoMCwgMzEpIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==