#include<bits/stdc++.h>
using namespace std;
class node{
public:
int data;
node *left, *right;
node(int data__){
data = data__;
left = right = NULL;
}
};
node* make_tree(vector<int> a){
node *head = NULL, *ptr = NULL;
int n = a.size();
if(n == 0)
return NULL;
head = new node(a[0]);
ptr = head;
queue<node*> q;
q.push(ptr);
int i = 0;
while(i < n and !q.empty()){
ptr = q.front();
q.pop();
if(i < n and a[i] != -1){
ptr -> left = new node(a[i]);
i++;
q.push(ptr -> left);
}
if(i < n and a[i] != -1){
ptr -> right = new node(a[i]);
i++;
q.push(ptr -> right);
}
}
return head;
}
node* ptr1(node* head, int k){
if(head == NULL){
return NULL;
}
if(head -> data == k){
return head;
}
node* l = ptr1(head -> left, k);
if(l)
return l;
node* r = ptr1(head -> right, k);
return r;
}
int count(node* head){
if(head == NULL)
return 0;
int l = count(head -> left);
int r = count(head -> right);
return 1 + l + r;
}
int main(){
int n, x, k;
cin >> n >> x >> k;
vector<int> v(n);
for(int i = 0; i < n; i++){
int y;
cin >> y;
v.push_back(y);
}
node* head = make_tree(v);
node* ptr = ptr1(head, k);
int rightcount = count(ptr -> right);
int leftcount = count(ptr -> left);
if(rightcount > x - rightcount or leftcount > x - leftcount){
cout << 1 << "\n";
}
else{
cout << 0 << "\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBub2RlewoKICAgIHB1YmxpYzoKCiAgICBpbnQgZGF0YTsKCiAgICBub2RlICpsZWZ0LCAqcmlnaHQ7CgogICAgbm9kZShpbnQgZGF0YV9fKXsKCiAgICAgICAgZGF0YSA9IGRhdGFfXzsKCiAgICAgICAgbGVmdCA9IHJpZ2h0ID0gTlVMTDsKCiAgICB9Cgp9OwoKbm9kZSogbWFrZV90cmVlKHZlY3RvcjxpbnQ+IGEpewoKICAgIG5vZGUgKmhlYWQgPSBOVUxMLCAqcHRyID0gTlVMTDsKCiAgICBpbnQgbiA9IGEuc2l6ZSgpOwoKICAgIGlmKG4gPT0gMCkKCiAgICAgICAgcmV0dXJuIE5VTEw7CgogICAgaGVhZCA9IG5ldyBub2RlKGFbMF0pOwoKICAgIHB0ciA9IGhlYWQ7CgogICAgcXVldWU8bm9kZSo+IHE7CgogICAgcS5wdXNoKHB0cik7CgogICAgaW50IGkgPSAwOwoKICAgIHdoaWxlKGkgPCBuIGFuZCAhcS5lbXB0eSgpKXsKCiAgICAgICAgcHRyID0gcS5mcm9udCgpOwoKICAgICAgICBxLnBvcCgpOwoKICAgICAgICBpZihpIDwgbiBhbmQgYVtpXSAhPSAtMSl7CgogICAgICAgICAgICBwdHIgLT4gbGVmdCA9IG5ldyBub2RlKGFbaV0pOwoKICAgICAgICAgICAgaSsrOwoKICAgICAgICAgICAgcS5wdXNoKHB0ciAtPiBsZWZ0KTsKCiAgICAgICAgfQoKICAgICAgICBpZihpIDwgbiBhbmQgYVtpXSAhPSAtMSl7CgogICAgICAgICAgICBwdHIgLT4gcmlnaHQgPSBuZXcgbm9kZShhW2ldKTsKCiAgICAgICAgICAgIGkrKzsKCiAgICAgICAgICAgIHEucHVzaChwdHIgLT4gcmlnaHQpOwoKICAgICAgICB9CgoKCiAgICB9CgogICAgcmV0dXJuIGhlYWQ7Cgp9Cgpub2RlKiBwdHIxKG5vZGUqIGhlYWQsIGludCBrKXsKCiAgICBpZihoZWFkID09IE5VTEwpewoKICAgICAgICByZXR1cm4gTlVMTDsKCiAgICB9CgogICAgaWYoaGVhZCAtPiBkYXRhID09IGspewoKICAgICAgICByZXR1cm4gaGVhZDsKCiAgICB9CgogICAgbm9kZSogbCA9IHB0cjEoaGVhZCAtPiBsZWZ0LCBrKTsKCiAgICBpZihsKQoKICAgICAgICByZXR1cm4gbDsKCiAgICBub2RlKiByID0gcHRyMShoZWFkIC0+IHJpZ2h0LCBrKTsKCiAgICByZXR1cm4gcjsKCn0KCmludCBjb3VudChub2RlKiBoZWFkKXsKCiAgICBpZihoZWFkID09IE5VTEwpCgogICAgcmV0dXJuIDA7CgogICAgaW50IGwgPSBjb3VudChoZWFkIC0+IGxlZnQpOwoKICAgIGludCByID0gY291bnQoaGVhZCAtPiByaWdodCk7CgogICAgcmV0dXJuIDEgKyBsICsgcjsKCn0KCmludCBtYWluKCl7CgogICAgaW50IG4sIHgsIGs7CgogICAgY2luID4+IG4gPj4geCA+PiBrOwoKICAgIHZlY3RvcjxpbnQ+IHYobik7CgogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CgogICAgICAgIGludCB5OwoKICAgICAgICBjaW4gPj4geTsKCiAgICAgICAgdi5wdXNoX2JhY2soeSk7CgogICAgfQoKICAgIG5vZGUqIGhlYWQgPSBtYWtlX3RyZWUodik7CgogICAgbm9kZSogcHRyID0gcHRyMShoZWFkLCBrKTsKCiAgICBpbnQgcmlnaHRjb3VudCA9IGNvdW50KHB0ciAtPiByaWdodCk7CgogICAgaW50IGxlZnRjb3VudCA9IGNvdW50KHB0ciAtPiBsZWZ0KTsKCiAgICBpZihyaWdodGNvdW50ID4geCAtIHJpZ2h0Y291bnQgb3IgbGVmdGNvdW50ID4geCAtIGxlZnRjb3VudCl7CgogICAgICAgIGNvdXQgPDwgMSA8PCAiXG4iOwoKICAgIH0KCiAgICBlbHNlewoKICAgICAgICBjb3V0IDw8IDAgPDwgIlxuIjsKCiAgICB9Cgp9