#include<bits/stdc++.h>
using namespace std;
#define lli long long int
#define inf 1000000000
#define pb push_back
#define mp make_pair
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl "\n"
#define yoi cout<<"yo"<<endl;
#define debug(i) cout<<i<<endl;
const int mod=1e9 +7;
int county=0;
void dfs(vector<vector<int> >&v,int i,int parent){
int j;
county++;
for(j=0;j<v[i].size();j++){
if(v[i][j]!=parent){
dfs(v,v[i][j],i);
}
}
}
int main(){
IOS;
int t;
cin>>t;
int h=t;
while(t--){
lli n,x,y,i,j;
cin>>n;
vector<pair<int,int> > edges;
for(i=0;i<n-1;i++){
cin>>x>>y;
edges.pb({x,y});
}
int subtree=0;
for(i=1;i<(1<<(n-1));i++){
vector<vector<int> > v(n+1);
int start;
county=0;
for(j=0;j<n-1;j++){
if(i&(1<<j)){
start=edges[j].first;
v[edges[j].first].pb(edges[j].second);
v[edges[j].second].pb(edges[j].first);
}
}
dfs(v,start,0);
if(county==__builtin_popcount(i)+1)
subtree++;
}
cout<<"Case #"<<h-t<<": "<<subtree<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbGkgbG9uZyBsb25nIGludAojZGVmaW5lIGluZiAxMDAwMDAwMDAwCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgSU9TIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBlbmRsICJcbiIKI2RlZmluZSB5b2kgY291dDw8InlvIjw8ZW5kbDsKI2RlZmluZSBkZWJ1ZyhpKSBjb3V0PDxpPDxlbmRsOwpjb25zdCBpbnQgbW9kPTFlOSArNzsKaW50IGNvdW50eT0wOwp2b2lkIGRmcyh2ZWN0b3I8dmVjdG9yPGludD4gPiZ2LGludCBpLGludCBwYXJlbnQpewogICAgaW50IGo7CiAgICBjb3VudHkrKzsKICAgIGZvcihqPTA7ajx2W2ldLnNpemUoKTtqKyspewogICAgICAgIGlmKHZbaV1bal0hPXBhcmVudCl7CiAgICAgICAgICAgIGRmcyh2LHZbaV1bal0saSk7CiAgICAgICAgfQogICAgfQp9CmludCBtYWluKCl7CklPUzsKaW50IHQ7CmNpbj4+dDsKaW50IGg9dDsKd2hpbGUodC0tKXsKICAgIGxsaSBuLHgseSxpLGo7CiAgICBjaW4+Pm47CiAgICB2ZWN0b3I8cGFpcjxpbnQsaW50PiA+IGVkZ2VzOwogICAgZm9yKGk9MDtpPG4tMTtpKyspewogICAgICAgIGNpbj4+eD4+eTsKICAgICAgICBlZGdlcy5wYih7eCx5fSk7CiAgICB9CiAgICBpbnQgc3VidHJlZT0wOwogICAgZm9yKGk9MTtpPCgxPDwobi0xKSk7aSsrKXsKICAgICAgICB2ZWN0b3I8dmVjdG9yPGludD4gPiB2KG4rMSk7CiAgICAgICAgaW50IHN0YXJ0OwogICAgICAgIGNvdW50eT0wOwogICAgICAgIGZvcihqPTA7ajxuLTE7aisrKXsKICAgICAgICAgICAgaWYoaSYoMTw8aikpewogICAgICAgICAgICAgICAgc3RhcnQ9ZWRnZXNbal0uZmlyc3Q7CiAgICAgICAgICAgICAgICB2W2VkZ2VzW2pdLmZpcnN0XS5wYihlZGdlc1tqXS5zZWNvbmQpOwogICAgICAgICAgICAgICAgdltlZGdlc1tqXS5zZWNvbmRdLnBiKGVkZ2VzW2pdLmZpcnN0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBkZnModixzdGFydCwwKTsKICAgICAgICBpZihjb3VudHk9PV9fYnVpbHRpbl9wb3Bjb3VudChpKSsxKQogICAgICAgICAgICBzdWJ0cmVlKys7CiAgICB9CiAgICBjb3V0PDwiQ2FzZSAjIjw8aC10PDwiOiAiPDxzdWJ0cmVlPDxlbmRsOwp9Cn0K