int bstar_search(BNode* node, int val) {
int i = 0;
while (i < node->n && val > node->keys[i]) i++;
if (i < node->n && node->keys[i] == val) return 1;
if (node->is_leaf) return 0;
return bstar_search(node->children[i], val);
}