#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=100005;
const int BUF=30000000;
char Buf[BUF],*buf=Buf;
inline void read(int&a){for(a=0;*buf<48;buf++);while(*buf>47)a=a*10+*buf++-48;}//一句话解决
int t,n,m;
int fa[maxn];
bool book[maxn];
int main()
{
//freopen("in.txt","r",stdin);
fread(Buf,1,BUF,stdin);//重点
read(t);
while(t--)
{
read(n); read(m);
for(int i=2;i<=n;i++)
{
int x;
read(x);
fa[i]=x;
}
memset(book,0,sizeof book);
int num=0;
for(int i=n;i;i--)
{
if(!book[i])
book[fa[i]]=1;
else
num++;
if(num*2>=m)break;
}
int ans;
if(m<=num*2)ans=(m+1)/2;
else
ans=(m-num*2)+num;
printf("%d\n",ans );
}
return 0;
}