#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int MOD = 1e9 + 7;
void solve(){
int n, k;
cin >> n >> k;
vector<vector<int>> g(n, vector<int>());
for(int i = 1; i < n; i++){
int x;
cin >> x;
x--;
g[i].push_back(x);
g[x].push_back(i);
}
map<int, vector<int>> m;
vector<int> d(n, 1);
auto dfs = [&](int x, int par, int h, auto && self) -> void {
m[h].push_back(x);
for(auto y: g[x]){
if(y != par){
self(y, x, h + 1, self);
d[x] = max(d[x], d[y] + 1);
}
}
};
dfs(0, -1, 0, dfs);
int s = 1, e = n - 1;
int ans = n;
while(s <= e){
int mid = s + (e - s) / 2;
int cnt = 0;
for(int i = mid; i < n && cnt <= k; i += mid){
for(auto x: m[i]){
for(auto y: g[x]){
if(d[y] > d[x])continue;
if(d[y] > mid)cnt++;
}
}
}
if(cnt > k){
s = mid + 1;
}else{
e = mid - 1;
ans = mid;
}
}
cout << ans << "\n";
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
cin >> t;
for(int i = 1; i <= t; i++){
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1PRCA9IDFlOSArIDc7Cgp2b2lkIHNvbHZlKCl7CglpbnQgbiwgazsKCWNpbiA+PiBuID4+IGs7CgkKCXZlY3Rvcjx2ZWN0b3I8aW50Pj4gZyhuLCB2ZWN0b3I8aW50PigpKTsKCQoJZm9yKGludCBpID0gMTsgaSA8IG47IGkrKyl7CgkJaW50IHg7CgkJY2luID4+IHg7CgkJeC0tOwoJCWdbaV0ucHVzaF9iYWNrKHgpOwoJCWdbeF0ucHVzaF9iYWNrKGkpOwoJfQoJbWFwPGludCwgdmVjdG9yPGludD4+IG07Cgl2ZWN0b3I8aW50PiBkKG4sIDEpOwoJYXV0byBkZnMgPSBbJl0oaW50IHgsIGludCBwYXIsIGludCBoLCBhdXRvICYmIHNlbGYpIC0+IHZvaWQgIHsKCQltW2hdLnB1c2hfYmFjayh4KTsKCQkKCQlmb3IoYXV0byB5OiBnW3hdKXsKCQkJaWYoeSAhPSBwYXIpewoJCQkJc2VsZih5LCB4LCBoICsgMSwgc2VsZik7CgkJCQlkW3hdID0gbWF4KGRbeF0sIGRbeV0gKyAxKTsKCQkJfQoJCX0KCX07CglkZnMoMCwgLTEsIDAsIGRmcyk7CgkKCWludCBzID0gMSwgZSA9IG4gLSAxOwoJaW50IGFucyA9IG47Cgl3aGlsZShzIDw9IGUpewoJCWludCBtaWQgPSBzICsgKGUgLSBzKSAvIDI7CgkJaW50IGNudCA9IDA7CgkJZm9yKGludCBpID0gbWlkOyBpIDwgbiAmJiBjbnQgPD0gazsgaSArPSBtaWQpewoJCQlmb3IoYXV0byB4OiBtW2ldKXsKCQkJCWZvcihhdXRvIHk6IGdbeF0pewoJCQkJCWlmKGRbeV0gPiBkW3hdKWNvbnRpbnVlOwoJCQkJCWlmKGRbeV0gPiBtaWQpY250Kys7CgkJCQl9CgkJCX0KCQl9CgkJCgkJaWYoY250ID4gayl7CgkJCXMgPSBtaWQgKyAxOwoJCX1lbHNlewoJCQllID0gbWlkIC0gMTsKCQkJYW5zID0gbWlkOwoJCX0KCX0KCWNvdXQgPDwgYW5zIDw8ICJcbiI7CgkKfQoKaW50IG1haW4oKXsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShudWxscHRyKTsKCQoJaW50IHQgPSAxOwoJY2luID4+IHQ7CgkKCWZvcihpbnQgaSA9IDE7IGkgPD0gdDsgaSsrKXsKCQlzb2x2ZSgpOwoJfQoJcmV0dXJuIDA7Cn0=