#include <bits/stdc++.h>
using namespace std;
int n, tar, a, root;
vector<int> adj[51];
int dfs(int here){
if(adj[here].size() == 0) return 1;
int cnt = 0;
for(int i = 0; i < adj[here].size(); i++){
int there = adj[here][i];
if(there == tar) continue;
cnt += dfs(there);
}
return cnt;
}
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;
cout << dfs(root) << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuLCB0YXIsIGEsIHJvb3Q7CnZlY3RvcjxpbnQ+IGFkals1MV07CgppbnQgZGZzKGludCBoZXJlKXsKICAgIGlmKGFkaltoZXJlXS5zaXplKCkgPT0gMCkgcmV0dXJuIDE7CiAgICBpbnQgY250ID0gMDsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBhZGpbaGVyZV0uc2l6ZSgpOyBpKyspewogICAgICAgIGludCB0aGVyZSA9IGFkaltoZXJlXVtpXTsKICAgICAgICBpZih0aGVyZSA9PSB0YXIpIGNvbnRpbnVlOwogICAgICAgIGNudCArPSBkZnModGhlcmUpOwogICAgfQogICAgcmV0dXJuIGNudDsKfQoKaW50IG1haW4oKXsKICAgIGNpbiA+PiBuOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICAgY2luID4+IGE7CiAgICAgICAgaWYoYSA9PSAtMSkgcm9vdCA9IGk7CiAgICAgICAgZWxzZSBhZGpbYV0ucHVzaF9iYWNrKGkpOwogICAgfQogICAgY2luID4+IHRhcjsKICAgIAogICAgY291dCA8PCBkZnMocm9vdCkgPDwgJ1xuJzsKfQ==