#include <iostream>
#include <algorithm>
#include <vector>
#include <assert.h>
#include <string.h>
#include <string>
#define MAX 55
using namespace std;
vector<vector<int>> children;
vector<int> parentVec;
int leaf_num = 0;
void deleteNode(int root) //해당 노드를 root로 가지는 subtree의 리프 노드 수만큼 leaf_node--
{
if (children[root].size() == 0) //지울 노드가 리프 노드면 leaf_num--;
{
leaf_num--;
return;
}
for (auto child : children[root]) //리프 노드가 아니면 자식들 삭제
deleteNode(child);
}
int main()
{
////////////////////input////////////////////
cin.tie(NULL);
ios_base::sync_with_stdio(false);
int n, parent, root = -1, toDelete;
cin >> n;
children.resize(n);
parentVec.resize(n);
for (int i = 0; i < n; i++)
{
cin >> parent;
parentVec.push_back(parent);
if (parent != -1)
children[parent].push_back(i);
else
root = i;
}
assert(root != -1);
cin >> toDelete;
if (toDelete == root) //root를 지우는 경우
{
cout << 0;
return 0;
}
for (auto childrenVector : children)
{
if (childrenVector.size() == 0)
leaf_num++;
}
deleteNode(toDelete);
if (children[parentVec[toDelete]].size() == 1)
leaf_num++;
////////////////////output///////////////////
cout << leaf_num;
return 0;
}
/*legacy
*/
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YXNzZXJ0Lmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0cmluZz4KCiNkZWZpbmUgTUFYIDU1Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yPHZlY3RvcjxpbnQ+PiBjaGlsZHJlbjsKdmVjdG9yPGludD4gcGFyZW50VmVjOwppbnQgbGVhZl9udW0gPSAwOwoKdm9pZCBkZWxldGVOb2RlKGludCByb290KSAvL+2VtOuLuSDrhbjrk5zrpbwgcm9vdOuhnCDqsIDsp4DripQgc3VidHJlZeydmCDrpqztlIQg64W465OcIOyImOunjO2BvCBsZWFmX25vZGUtLQp7CiAgICBpZiAoY2hpbGRyZW5bcm9vdF0uc2l6ZSgpID09IDApIC8v7KeA7Jq4IOuFuOuTnOqwgCDrpqztlIQg64W465Oc66m0IGxlYWZfbnVtLS07CiAgICB7CiAgICAgICAgbGVhZl9udW0tLTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBmb3IgKGF1dG8gY2hpbGQgOiBjaGlsZHJlbltyb290XSkgLy/rpqztlIQg64W465Oc6rCAIOyVhOuLiOuptCDsnpDsi53rk6Qg7IKt7KCcCiAgICAgICAgZGVsZXRlTm9kZShjaGlsZCk7Cn0KCmludCBtYWluKCkKewogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy9pbnB1dC8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICBjaW4udGllKE5VTEwpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBpbnQgbiwgcGFyZW50LCByb290ID0gLTEsIHRvRGVsZXRlOwogICAgY2luID4+IG47CiAgICBjaGlsZHJlbi5yZXNpemUobik7CiAgICBwYXJlbnRWZWMucmVzaXplKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IHBhcmVudDsKICAgICAgICBwYXJlbnRWZWMucHVzaF9iYWNrKHBhcmVudCk7CiAgICAgICAgaWYgKHBhcmVudCAhPSAtMSkKICAgICAgICAgICAgY2hpbGRyZW5bcGFyZW50XS5wdXNoX2JhY2soaSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICByb290ID0gaTsKICAgIH0KICAgIGFzc2VydChyb290ICE9IC0xKTsKICAgIGNpbiA+PiB0b0RlbGV0ZTsKCiAgICBpZiAodG9EZWxldGUgPT0gcm9vdCkgLy9yb29066W8IOyngOyasOuKlCDqsr3smrAKICAgIHsKICAgICAgICBjb3V0IDw8IDA7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgZm9yIChhdXRvIGNoaWxkcmVuVmVjdG9yIDogY2hpbGRyZW4pCiAgICB7CiAgICAgICAgaWYgKGNoaWxkcmVuVmVjdG9yLnNpemUoKSA9PSAwKQogICAgICAgICAgICBsZWFmX251bSsrOwogICAgfQogICAgZGVsZXRlTm9kZSh0b0RlbGV0ZSk7CiAgICBpZiAoY2hpbGRyZW5bcGFyZW50VmVjW3RvRGVsZXRlXV0uc2l6ZSgpID09IDEpCiAgICAgICAgbGVhZl9udW0rKzsKCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vL291dHB1dC8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIGNvdXQgPDwgbGVhZl9udW07CgogICAgcmV0dXJuIDA7Cn0KCi8qbGVnYWN5CgoKCiov