#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<algorithm>#include<vector>
using namespace std;constint maxn =1e5+10;int T, n;
vector<int> father[maxn];intdfs(int root){if(father[root].empty()){return1;}int k = father[root].size();//最少工人数int num =(k * T -1)/100+1;// v(root):root 给上级发信需要的最少工人数
vector<int> v;for(int i =0; i < k; i++){
v.push_back(dfs(father[root][i]));}sort(v.begin(), v.end());int ans =0;for(int i =0; i < num; i++){
ans += v[i];}return ans;}intmain(){while(scanf("%d%d",&n,&T)!=EOF, n, T){for(int i =0; i <= n; i++){if(!father[i].empty()){
father[i].clear();}}for(int i =1; i <= n; i++){int use;scanf("%d",&use);
father[use].push_back(i);}printf("%d\n",dfs(0));}return0;}