#include<bits/stdc++.h>usingnamespace std;typedeflonglong ll;const ll maxn =1e3+5;const ll INF =0x7fffffff;int n, m;
vector<int>g[maxn];int vis[maxn];int fix, cnt;intBFS(int s){if(g[s].size()==0|| vis[s])return0;
queue<pair<int,int>> q;
q.push({s,0});
vis[s]=true;int flag =0;while(!q.empty()){int u = q.front().first;int from = q.front().second;
q.pop();for(int i =0; i < g[u].size(); i++){int v = g[u][i];if(vis[v]&&v!=from){
flag =1;}if(!vis[v]){
q.push({v,u});
vis[v]=true;}}}if(flag==1)fix++;return1;}int Case;intmain(){
ios_base::sync_with_stdio(false), cin.tie(0);int t;
cin >> t;while(t--){
fix =0, cnt =0;for(int i =1; i <= n; i++) vis[i]=false;for(int i =1; i <= n; i++) g[i].clear();
cin >> n >> m;while(m--){int u, v;
cin >> u >> v;
g[u].push_back(v);
g[v].push_back(u);}for(int i =1; i <= n; i++){
cnt+=BFS(i);}
cout <<"Night sky #"<<++Case<<": "<< cnt <<" constellations, of which "<< fix <<" need to be fixed.\n\n";}return0;}