← Home
#include<bits/stdc++.h>
using namespace std;
int _,n,i,x,y,f[300001],g[300001];
vector<int>v[300001];
void dfs(int x,int y){
	int t=0,a[2]={0,0},b[2]={0,0};
	for(int i:v[x])if(i!=y)dfs(i,x),a[t]=f[i],b[t++]=g[i];
	if(t==0)f[x]=0,g[x]=1;
	if(t==1)f[x]=b[0]-1,g[x]=b[0]+1;
	if(t==2)f[x]=max(a[0]+b[1]-1,b[0]+a[1]-1),g[x]=b[0]+b[1]+1;
}
int main(){
	ios::sync_with_stdio(0);cin.tie(0);
	cin>>_;
	while(_--){
		cin>>n;
		for(i=1;i<=n;i++)v[i].clear();
		for(i=1;i<n;i++)cin>>x>>y,v[x].push_back(y),v[y].push_back(x);
		dfs(1,0);
		cout<<f[1]<<"\n";
	}
}