#include<bits/stdc++.h>
using namespace std;
vector <int> adj[100001];
int vis[100001];
int col[100001];
void initialise(int V){
for (int i=0; i<V; i++){
adj[i].clear();
}
memset(vis,0,sizeof(vis[0])*V);
memset(col,0,sizeof(col[0])*V);
}
void addEdge(int m, int n){
adj[m].push_back(n);
adj[n].push_back(m);
}
bool dfs(int node, int color){
vis[node] = 1;
col[node] = color;
for (int child : adj[node]){
if (!vis[child]){
if (dfs(child, color ^ 1) == false){
return false;
}
}
else{
if (col[child] == col[node]){
return false;
}
}
}
return true;
}
int main(){
int T; cin >> T;
for (int i=1; i<=T; i++){
int V, E; //vertices and edges
cin >> V >> E;
for (int i=0; i<E; i++){
int m,n;
cin >> m >> n;
addEdge(m,n);
}
bool flag = true;
for (int i = 0; i<V; i++){
if (!vis[i]){
bool res = dfs(i,0);
if (res == false){
flag = false;
}
}
}
cout << "Scenario #" << i << ":" << "\n";
if (flag == false){
cout << "Suspicious bugs found!" << endl;
}
else{
cout << "No suspicious bugs found!" << endl;
}
initialise(V);
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZlY3RvciA8aW50PiBhZGpbMTAwMDAxXTsKaW50IHZpc1sxMDAwMDFdOwppbnQgY29sWzEwMDAwMV07Cgp2b2lkIGluaXRpYWxpc2UoaW50IFYpewogICAgZm9yIChpbnQgaT0wOyBpPFY7IGkrKyl7CiAgICAgICAgYWRqW2ldLmNsZWFyKCk7CiAgICB9CiAgICBtZW1zZXQodmlzLDAsc2l6ZW9mKHZpc1swXSkqVik7CiAgICBtZW1zZXQoY29sLDAsc2l6ZW9mKGNvbFswXSkqVik7Cn0KCnZvaWQgYWRkRWRnZShpbnQgbSwgaW50IG4pewogICAgYWRqW21dLnB1c2hfYmFjayhuKTsKICAgIGFkaltuXS5wdXNoX2JhY2sobSk7Cn0KCmJvb2wgZGZzKGludCBub2RlLCBpbnQgY29sb3IpewogICAgdmlzW25vZGVdID0gMTsKICAgIGNvbFtub2RlXSA9IGNvbG9yOwogICAgZm9yIChpbnQgY2hpbGQgOiBhZGpbbm9kZV0pewogICAgICAgIGlmICghdmlzW2NoaWxkXSl7CiAgICAgICAgICAgIGlmIChkZnMoY2hpbGQsIGNvbG9yIF4gMSkgPT0gZmFsc2UpewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGlmIChjb2xbY2hpbGRdID09IGNvbFtub2RlXSl7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4oKXsKICAgIGludCBUOyBjaW4gPj4gVDsKICAgIGZvciAoaW50IGk9MTsgaTw9VDsgaSsrKXsKICAgICAgICBpbnQgViwgRTsgLy92ZXJ0aWNlcyBhbmQgZWRnZXMKICAgICAgICBjaW4gPj4gViA+PiBFOwogICAgICAgIGZvciAoaW50IGk9MDsgaTxFOyBpKyspewogICAgICAgICAgICBpbnQgbSxuOwogICAgICAgICAgICBjaW4gPj4gbSA+PiBuOwogICAgICAgICAgICBhZGRFZGdlKG0sbik7CiAgICAgICAgfQogICAgICAgIGJvb2wgZmxhZyA9IHRydWU7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGk8VjsgaSsrKXsKICAgICAgICAgICAgaWYgKCF2aXNbaV0pewogICAgICAgICAgICAgICAgYm9vbCByZXMgPSBkZnMoaSwwKTsKICAgICAgICAgICAgICAgIGlmIChyZXMgPT0gZmFsc2UpewogICAgICAgICAgICAgICAgICAgIGZsYWcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICJTY2VuYXJpbyAjIiA8PCBpIDw8ICI6IiA8PCAiXG4iOwogICAgICAgIGlmIChmbGFnID09IGZhbHNlKXsKICAgICAgICAgICAgY291dCA8PCAiU3VzcGljaW91cyBidWdzIGZvdW5kISIgPDwgZW5kbDsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgY291dCA8PCAiTm8gc3VzcGljaW91cyBidWdzIGZvdW5kISIgPDwgZW5kbDsKICAgICAgICB9CiAgICAgICAgaW5pdGlhbGlzZShWKTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==