#include <bits/stdc++.h>
using namespace std;
int n, tar, root, a;
vector<int> adj[51];
int dfs(int here){
int ret = 0, child = 0;
for(int there : adj[here]){
if(there == tar) continue;
ret += dfs(there);
child++;
}
if(child == 0) return 1;
return ret;
}
int main(){
cin >> n;
for(int i = 0; i < n; i++){
cin >> a;
if(a == -1) root = i;
else adj[a].push_back(i);
}
cin >> tar;
if(tar == root) cout << 0 << '\n';
else cout << dfs(root) << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuLCB0YXIsIHJvb3QsIGE7CnZlY3RvcjxpbnQ+IGFkals1MV07CgppbnQgZGZzKGludCBoZXJlKXsKICAgIGludCByZXQgPSAwLCBjaGlsZCA9IDA7CiAgICBmb3IoaW50IHRoZXJlIDogYWRqW2hlcmVdKXsKICAgICAgICBpZih0aGVyZSA9PSB0YXIpIGNvbnRpbnVlOwogICAgICAgIHJldCArPSBkZnModGhlcmUpOwogICAgICAgIGNoaWxkKys7CiAgICB9CiAgICBpZihjaGlsZCA9PSAwKSByZXR1cm4gMTsKICAgIHJldHVybiByZXQ7Cn0KCmludCBtYWluKCl7CiAgICBjaW4gPj4gbjsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGNpbiA+PiBhOwogICAgICAgIGlmKGEgPT0gLTEpIHJvb3QgPSBpOwogICAgICAgIGVsc2UgYWRqW2FdLnB1c2hfYmFjayhpKTsKICAgIH0KICAgIGNpbiA+PiB0YXI7CiAgICAKICAgIGlmKHRhciA9PSByb290KSBjb3V0IDw8IDAgPDwgJ1xuJzsKICAgIGVsc2UgY291dCA8PCBkZnMocm9vdCkgPDwgJ1xuJzsKfQ==