#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[i].push_back(a);
}
cin >> tar;
cout << dfs(root) << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuLCB0YXIsIHJvb3QsIGE7CnZlY3RvcjxpbnQ+IGFkals1MV07CgppbnQgZGZzKGludCBoZXJlKXsKICAgIGludCByZXQgPSAwLCBjaGlsZCA9IDA7CiAgICBmb3IoaW50IHRoZXJlIDogYWRqW2hlcmVdKXsKICAgICAgICBpZih0aGVyZSA9PSB0YXIpIGNvbnRpbnVlOwogICAgICAgIHJldCArPSBkZnModGhlcmUpOwogICAgICAgIGNoaWxkKys7CiAgICB9CiAgICBpZihjaGlsZCA9IDApIHJldHVybiAxOwogICAgcmV0dXJuIHJldDsKfQoKaW50IG1haW4oKXsKICAgIGNpbiA+PiBuOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICAgY2luID4+IGE7CiAgICAgICAgaWYoYSA9PSAtMSkgcm9vdCA9IGk7CiAgICAgICAgZWxzZSBhZGpbaV0ucHVzaF9iYWNrKGEpOwogICAgfQogICAgY2luID4+IHRhcjsKICAgIAogICAgY291dCA8PCBkZnMocm9vdCkgPDwgJ1xuJzsKfQ==