← Home
//﷽ [Bismillaahir Rahmaanir Raheem]
 
#include<bits/stdc++.h>
using namespace std;
 
#define ll long long int
#define ul unsigned long long int
#define ld long double
#define TT int TC;cin>>TC;for(int ti=1;ti<=TC;ti++)
#define TT1 int TC=1;for(int ti=1;ti<=TC;ti++)
#define fastio ios_base::sync_with_stdio(0); cin.tie(0);
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define ans_YN if(ans)YES;else NO;
#define pb push_back
#define pr_q priority_queue
#define F first
#define S second
#define MP make_pair
#define UB upper_bound
#define LB lower_bound
#define B begin()
#define E end()
//#define endl "\n"
ll ceill(ll a,ll b){if(a>=0){if(a%b==0)return a/b;else return a/b+1;}else return a/b;}//Here b>0 for being divisor
ll flr(ll a, ll b){if(a>=0){return a/b;} else {if(a%b==0) return a/b; else return a/b-1;}}//Here b>0 for being divisor
ll GCD(ll a, ll b){ ll ans=__gcd(a,b);if(ans<0)ans=-ans;return ans;}
ll LCM(ll a, ll b){ return (a*b)/(GCD(a,b));}
ll rem(ll a, ll b){ if(a>=0) return a%b; else{a=-a; return (b-a%b)%b;}}
template <typename T> void getunique(vector<T>&a){a.resize(unique(a.begin(),a.end())-a.begin());}
void getunique(string& a){a.resize(unique(a.begin(),a.end())-a.begin());}
template <typename T> void getunique(T a[], ll& n){n=unique(a,a+n)-a;}
ll const mod=1e9+7;
ll const AND=1073741823;
 
void dfs(ll s, vector<ll>g[], vector<ll>&l){
    for(auto u:g[s]){
        l[u]=l[s]+1;
        dfs(u,g,l);
    }
}
 
void solve()
{
    ll n;
    cin>>n;
    ll a[n+1];
    vector<ll>g[n+1];
    for(int i=2;i<=n;i++){
        cin>>a[i];
        g[a[i]].pb(i);
    }
    vector<ll>l(n+1);
    vector<ll>lvl(n);
    dfs(1,g,l);
    for(int i=1;i<=n;i++){
        lvl[l[i]]++;
    }
    ll ans=0;
    ll rem=0;
    for(int i=1;i<n;i++){
        if(lvl[i]>1){
            ans++;
            rem+=lvl[i]-2;
        }
        else if(lvl[i]==1){
            if(rem){
                ans++;
                rem--;
            }
        }
    }
 
    ans+=rem/2;
    cout<<ans<<endl;
    
}
 
int main()
{
    fastio
    TT
    {
        solve();
        
    }
    return 0;
}