#include<bits/stdc++.h>
#define loop(i,a,b) for(int i=a;i<b;i++)
#define loopb(i,a,b) for(int i=a;i>=b;i--)
#define loopm(i,a,b,step) for(int i=a;i<b;i+=step)
#define loopbm(i,a,b,step) for(int i=a;i>=b;i-=step)
#define pb(a) push_back(a)
#define mp(a,b) make_pair(a,b)
#define init(arr,val) memset(arr,val,sizeof(arr))
#define INF 1000000007
#define MOD 1000000007
#define BINF 1000000000000000001
#define double long double
using namespace std;
const int N=2005;
const int LGN=20;
vector<int>g[N];
vector<int>dfstree[N];
bool visited[N];
void dfs(int s)
{
visited[s]=true;
for(int v:g[s])
{
if(!visited[v])
{
dfstree[s].push_back(v);
dfs(v);
}
}
}
int dp[LGN][N];
int ht[N];
void dfs1(int s,int p,int h=0)
{
ht[s]=h;
dp[0][s]=p;
loop(i,1,LGN) dp[i][s]=dp[i-1][dp[i-1][s]];
for(int v:dfstree[s])
{
dfs1(v,s,h+1);
}
}
int walk(int s,int k)
{
loop(i,0,LGN)
{
if(k&(1<<i)) s=dp[i][s];
}
return s;
}
int lca(int x,int y)
{
if(ht[x]<ht[y]) swap(x,y);
x=walk(x,ht[x]-ht[y]);
if(x==y) return x;
while(1)
{
bool flag=true;
loopb(i,LGN-1,0)
{
if(dp[i][x]!=dp[i][y])
{
flag=false;
x=dp[i][x];
y=dp[i][y];
}
}
if(flag) break;
}
return dp[0][x];
}
int num_nodes(int x,int y)
{
int l=lca(x,y);
int uu=ht[x];
int vv=ht[y];
int ww=ht[l];
return uu+vv-2*ww+1;
}
int par[N];
bool dfs2(int s)
{
bool ans=false;
visited[s]=true;
for(int v:g[s])
{
if(!visited[v])
{
par[v]=s;
ans|=dfs2(v);
}
else
{
if(par[s]==v) continue;
else
{
int x=num_nodes(s,v);
if(x%2==1) ans=true;
}
}
}
return ans;
}
int main()
{
int t;
scanf("%d",&t);
loop(query,1,t+1)
{
printf("Scenario #%d:\n",query);
int n,m;
scanf("%d %d",&n,&m);
map<pair<int,int>,int>xxx;
loop(i,0,N)
{
g[i].clear();
dfstree[i].clear();
visited[i]=false;
ht[i]=0;
par[i]=0;
loop(j,0,LGN) dp[j][i]=0;
}
loop(i,0,m)
{
int u,v;
scanf("%d %d",&u,&v);
g[u].push_back(v);
g[v].push_back(u);
}
loop(i,1,n+1)
{
if(!visited[i])
dfs(i);
}
loop(i,1,n+1){
if(par[i]==0)
dfs1(i,0);
}
loop(i,0,N) visited[i]=false;
bool ans=false;
loop(i,1,n+1){
if(!visited[i])
ans|=dfs2(i);
}
if(ans==true) printf("Suspicious bugs found!\n");
else printf("No suspicious bugs found!\n");
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsb29wKGksYSxiKSBmb3IoaW50IGk9YTtpPGI7aSsrKQojZGVmaW5lIGxvb3BiKGksYSxiKSBmb3IoaW50IGk9YTtpPj1iO2ktLSkKI2RlZmluZSBsb29wbShpLGEsYixzdGVwKSBmb3IoaW50IGk9YTtpPGI7aSs9c3RlcCkKI2RlZmluZSBsb29wYm0oaSxhLGIsc3RlcCkgZm9yKGludCBpPWE7aT49YjtpLT1zdGVwKQojZGVmaW5lIHBiKGEpIHB1c2hfYmFjayhhKQojZGVmaW5lIG1wKGEsYikgbWFrZV9wYWlyKGEsYikKI2RlZmluZSBpbml0KGFycix2YWwpIG1lbXNldChhcnIsdmFsLHNpemVvZihhcnIpKQojZGVmaW5lIElORiAxMDAwMDAwMDA3CiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSBCSU5GIDEwMDAwMDAwMDAwMDAwMDAwMDEKCiNkZWZpbmUgZG91YmxlIGxvbmcgZG91YmxlCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE49MjAwNTsKY29uc3QgaW50IExHTj0yMDsKdmVjdG9yPGludD5nW05dOwoKdmVjdG9yPGludD5kZnN0cmVlW05dOwpib29sIHZpc2l0ZWRbTl07CnZvaWQgZGZzKGludCBzKQp7CiAgICB2aXNpdGVkW3NdPXRydWU7CiAgICBmb3IoaW50IHY6Z1tzXSkKICAgIHsKICAgICAgICBpZighdmlzaXRlZFt2XSkKICAgICAgICB7CiAgICAgICAgICAgIGRmc3RyZWVbc10ucHVzaF9iYWNrKHYpOwogICAgICAgICAgICBkZnModik7CiAgICAgICAgfQogICAgfQp9CgppbnQgZHBbTEdOXVtOXTsKaW50IGh0W05dOwp2b2lkIGRmczEoaW50IHMsaW50IHAsaW50IGg9MCkKewogICAgaHRbc109aDsKICAgIGRwWzBdW3NdPXA7CiAgICBsb29wKGksMSxMR04pIGRwW2ldW3NdPWRwW2ktMV1bZHBbaS0xXVtzXV07CiAgICBmb3IoaW50IHY6ZGZzdHJlZVtzXSkKICAgIHsKICAgICAgICBkZnMxKHYscyxoKzEpOwogICAgfQp9CgppbnQgd2FsayhpbnQgcyxpbnQgaykKewogICAgbG9vcChpLDAsTEdOKQogICAgewogICAgICAgIGlmKGsmKDE8PGkpKSBzPWRwW2ldW3NdOwogICAgfQogICAgcmV0dXJuIHM7Cn0KCmludCBsY2EoaW50IHgsaW50IHkpCnsKICAgIGlmKGh0W3hdPGh0W3ldKSBzd2FwKHgseSk7CiAgICB4PXdhbGsoeCxodFt4XS1odFt5XSk7CiAgICBpZih4PT15KSByZXR1cm4geDsKICAgIHdoaWxlKDEpCiAgICB7CiAgICAgICAgYm9vbCBmbGFnPXRydWU7CiAgICAgICAgbG9vcGIoaSxMR04tMSwwKQogICAgICAgIHsKICAgICAgICAgICAgaWYoZHBbaV1beF0hPWRwW2ldW3ldKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmbGFnPWZhbHNlOwogICAgICAgICAgICAgICAgeD1kcFtpXVt4XTsKICAgICAgICAgICAgICAgIHk9ZHBbaV1beV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoZmxhZykgYnJlYWs7CiAgICB9CiAgICByZXR1cm4gZHBbMF1beF07Cn0KCmludCBudW1fbm9kZXMoaW50IHgsaW50IHkpCnsKICAgIGludCBsPWxjYSh4LHkpOwogICAgaW50IHV1PWh0W3hdOwogICAgaW50IHZ2PWh0W3ldOwogICAgaW50IHd3PWh0W2xdOwogICAgcmV0dXJuIHV1K3Z2LTIqd3crMTsKfQoKaW50IHBhcltOXTsKCgpib29sIGRmczIoaW50IHMpCnsKICAgIGJvb2wgYW5zPWZhbHNlOwogICAgdmlzaXRlZFtzXT10cnVlOwogICAgZm9yKGludCB2Omdbc10pCiAgICB7CiAgICAgICAgaWYoIXZpc2l0ZWRbdl0pCiAgICAgICAgewogICAgICAgICAgICBwYXJbdl09czsKICAgICAgICAgICAgYW5zfD1kZnMyKHYpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBpZihwYXJbc109PXYpIGNvbnRpbnVlOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCB4PW51bV9ub2RlcyhzLHYpOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZih4JTI9PTEpIGFucz10cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGFuczsKfQoKCmludCBtYWluKCkKewoKICAgIAogICAgaW50IHQ7CiAgICBzY2FuZigiJWQiLCZ0KTsKICAgIGxvb3AocXVlcnksMSx0KzEpCiAgICB7CiAgICAgICAgcHJpbnRmKCJTY2VuYXJpbyAjJWQ6XG4iLHF1ZXJ5KTsKICAgICAgICBpbnQgbixtOwogICAgICAgIHNjYW5mKCIlZCAlZCIsJm4sJm0pOwogICAgICAgCiAgICAgICAgbWFwPHBhaXI8aW50LGludD4saW50Pnh4eDsKICAgICAgICBsb29wKGksMCxOKQogICAgICAgIHsKICAgICAgICAgICAgZ1tpXS5jbGVhcigpOwogICAgICAgICAgICBkZnN0cmVlW2ldLmNsZWFyKCk7CiAgICAgICAgICAgIHZpc2l0ZWRbaV09ZmFsc2U7CiAgICAgICAgICAgIGh0W2ldPTA7CiAgICAgICAgICAgIHBhcltpXT0wOwogICAgICAgICAgICBsb29wKGosMCxMR04pIGRwW2pdW2ldPTA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGxvb3AoaSwwLG0pCiAgICAgICAgewogICAgICAgICAgICBpbnQgdSx2OwogICAgICAgICAgICBzY2FuZigiJWQgJWQiLCZ1LCZ2KTsKICAgICAgICAgICAgZ1t1XS5wdXNoX2JhY2sodik7CiAgICAgICAgICAgIGdbdl0ucHVzaF9iYWNrKHUpOwogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgfQogICAgICAgIAogICAgICAgIAogICAgICAgIGxvb3AoaSwxLG4rMSkKICAgICAgICB7CiAgICAgICAgICAgIGlmKCF2aXNpdGVkW2ldKQogICAgICAgICAgICAgIGRmcyhpKTsKICAgICAgICB9CiAgICAgICAgbG9vcChpLDEsbisxKXsKICAgICAgICBpZihwYXJbaV09PTApCiAgICAgICAgZGZzMShpLDApOwogICAgICAgIH0KICAgICAgIAogICAgICAgIGxvb3AoaSwwLE4pIHZpc2l0ZWRbaV09ZmFsc2U7CiAgICAgICAgYm9vbCBhbnM9ZmFsc2U7CiAgICAgICAgbG9vcChpLDEsbisxKXsKICAgICAgICBpZighdmlzaXRlZFtpXSkKICAgICAgICAgYW5zfD1kZnMyKGkpOwogICAgICAgIH0KICAgICAgICBpZihhbnM9PXRydWUpIHByaW50ZigiU3VzcGljaW91cyBidWdzIGZvdW5kIVxuIik7CiAgICAgICAgZWxzZSBwcmludGYoIk5vIHN1c3BpY2lvdXMgYnVncyBmb3VuZCFcbiIpOwogICAgICAgIAogICAgfQogICAgcmV0dXJuIDA7Cn0=