#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);
}
int s = 1, e = n - 1;
int ans = n - 1;
int cnt = 0;
auto dfs = [&](int x, int par, int m, auto && self) -> int {
int h = 1;
for(auto y: g[x]){
if(y != par){
h = max(h, self(y, x, m, self) + 1);
}
}
if(x == 0)return 0;
if(h == m && par != 0){
cnt++;
return 0;
}else{
return h;
}
};
while(s <= e){
int mid = s + (e - s) / 2;
cnt = 0;
dfs(0, -1, mid, dfs);
if(cnt <= k){
ans = mid;
e = mid - 1;
}else{
s = mid + 1;
}
}
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+IGs7CgkKCXZlY3Rvcjx2ZWN0b3I8aW50Pj4gZyhuLCB2ZWN0b3I8aW50PigpKTsKCQoJZm9yKGludCBpID0gMTsgaSA8IG47IGkrKyl7CgkJaW50IHg7CgkJY2luPj4geDsKCQl4LS07CgkJZ1tpXS5wdXNoX2JhY2soeCk7CgkJZ1t4XS5wdXNoX2JhY2soaSk7Cgl9CgkKCWludCBzID0gMSwgZSA9IG4gLSAxOwoJaW50IGFucyA9IG4gLSAxOwoJaW50IGNudCA9IDA7CglhdXRvIGRmcyA9IFsmXShpbnQgeCwgaW50IHBhciwgaW50IG0sIGF1dG8gJiYgc2VsZikgLT4gaW50IHsKCQlpbnQgaCA9IDE7CgkJZm9yKGF1dG8geTogZ1t4XSl7CgkJCWlmKHkgIT0gcGFyKXsKCQkJCWggPSBtYXgoaCwgc2VsZih5LCB4LCBtLCBzZWxmKSArIDEpOwoJCQl9CgkJfQoJCWlmKHggPT0gMClyZXR1cm4gMDsKCQlpZihoID09IG0gJiYgcGFyICE9IDApewoJCQljbnQrKzsKCQkJcmV0dXJuIDA7CgkJfWVsc2V7CgkJCXJldHVybiBoOwoJCX0KCX07Cgl3aGlsZShzIDw9IGUpewoJCWludCBtaWQgPSBzICsgKGUgLSBzKSAvIDI7CgkJY250ID0gMDsKCQlkZnMoMCwgLTEsIG1pZCwgZGZzKTsKCQlpZihjbnQgPD0gayl7CgkJCWFucyA9IG1pZDsKCQkJZSA9IG1pZCAtIDE7CgkJfWVsc2V7CgkJCXMgPSBtaWQgKyAxOwoJCX0KCX0KCWNvdXQgPDwgYW5zIDw8ICJcbiI7CgkKfQoKaW50IG1haW4oKXsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShudWxscHRyKTsKCQoJaW50IHQgPSAxOwoJY2luID4+IHQ7CgkKCWZvcihpbnQgaSA9IDE7IGkgPD0gdDsgaSsrKXsKCQlzb2x2ZSgpOwoJfQoJcmV0dXJuIDA7Cn0=