// Online C++ compiler to run C++ program online
#include <iostream>
#include <vector>
using namespace std;
bool resolveSuspicion(vector<int>& visitedArr, vector<int>& groupMap, vector<vector<int>>& adjList, int index, int flag) {
visitedArr[index]=1;
groupMap[index]=flag;
int num=adjList[index].size();
vector<int> currentNodePoints = adjList[index];
for(int i=0; i<num; i++) {
int currentNode=currentNodePoints[i];
if((visitedArr[currentNode]==1 && groupMap[currentNode]==flag) || (visitedArr[currentNode]==0 && !resolveSuspicion(visitedArr, groupMap, adjList, currentNode, flag^1))) {
return false;
}
}
return true;
}
int main() {
// Write C++ code here
int n;
cin>>n;
for(int i=0; i<n; i++) {
int bugs, scenarios;
cin>>bugs>>scenarios;
vector<vector<int>> scenarioGraph(scenarios, vector<int>(2));
vector<vector<int>> adjList(bugs);
for(int i=0; i<scenarios; i++) {
cin>>scenarioGraph[i][0];
cin>>scenarioGraph[i][1];
}
for(int i=0; i<scenarios; i++) {
// bugs indexing starting with 0
int first=scenarioGraph[i][0]-1;
int second=scenarioGraph[i][1]-1;
adjList[first].push_back(second);
adjList[second].push_back(first);
}
vector<int> visitedArr(bugs,0);
vector<int> groupMap(bugs,-1);
int resolveFlag=1;
for(int i=0; i<bugs; i++) {
if(visitedArr[i]==0) {
if(!resolveSuspicion(visitedArr, groupMap, adjList, i, 0)) {
resolveFlag=0;
break;
}
}
}
if(resolveFlag==0) {
cout<<"Scenario #"<< i+1<<":"<<endl<<"Suspicious bugs found!"<<endl;
} else {
cout<<"Scenario #"<< i+1<<":"<<endl<<"No suspicious bugs found!";
}
}
return 0;
}
Ly8gT25saW5lIEMrKyBjb21waWxlciB0byBydW4gQysrIHByb2dyYW0gb25saW5lCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgcmVzb2x2ZVN1c3BpY2lvbih2ZWN0b3I8aW50PiYgdmlzaXRlZEFyciwgdmVjdG9yPGludD4mIGdyb3VwTWFwLCB2ZWN0b3I8dmVjdG9yPGludD4+JiBhZGpMaXN0LCBpbnQgaW5kZXgsIGludCBmbGFnKSB7CiAgICB2aXNpdGVkQXJyW2luZGV4XT0xOwogICAgZ3JvdXBNYXBbaW5kZXhdPWZsYWc7CgogICAgaW50IG51bT1hZGpMaXN0W2luZGV4XS5zaXplKCk7CgogICAgdmVjdG9yPGludD4gY3VycmVudE5vZGVQb2ludHMgPSBhZGpMaXN0W2luZGV4XTsKCiAgICBmb3IoaW50IGk9MDsgaTxudW07IGkrKykgewogICAgICAgIGludCBjdXJyZW50Tm9kZT1jdXJyZW50Tm9kZVBvaW50c1tpXTsKICAgICAgICBpZigodmlzaXRlZEFycltjdXJyZW50Tm9kZV09PTEgJiYgZ3JvdXBNYXBbY3VycmVudE5vZGVdPT1mbGFnKSB8fCAodmlzaXRlZEFycltjdXJyZW50Tm9kZV09PTAgJiYgIXJlc29sdmVTdXNwaWNpb24odmlzaXRlZEFyciwgZ3JvdXBNYXAsIGFkakxpc3QsIGN1cnJlbnROb2RlLCBmbGFnXjEpKSkgIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwp9CmludCBtYWluKCkgewogICAgLy8gV3JpdGUgQysrIGNvZGUgaGVyZQogICAgaW50IG47CiAgICBjaW4+Pm47CgogICAgZm9yKGludCBpPTA7IGk8bjsgaSsrKSB7CiAgICAgICAgaW50IGJ1Z3MsIHNjZW5hcmlvczsKICAgICAgICBjaW4+PmJ1Z3M+PnNjZW5hcmlvczsKICAgICAgICB2ZWN0b3I8dmVjdG9yPGludD4+IHNjZW5hcmlvR3JhcGgoc2NlbmFyaW9zLCB2ZWN0b3I8aW50PigyKSk7CiAgICAgICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBhZGpMaXN0KGJ1Z3MpOwogICAgICAgIGZvcihpbnQgaT0wOyBpPHNjZW5hcmlvczsgaSsrKSB7CiAgICAgICAgICAgIGNpbj4+c2NlbmFyaW9HcmFwaFtpXVswXTsKICAgICAgICAgICAgY2luPj5zY2VuYXJpb0dyYXBoW2ldWzFdOwogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MDsgaTxzY2VuYXJpb3M7IGkrKykgewogICAgICAgICAgICAvLyBidWdzIGluZGV4aW5nIHN0YXJ0aW5nIHdpdGggMAogICAgICAgICAgICBpbnQgZmlyc3Q9c2NlbmFyaW9HcmFwaFtpXVswXS0xOwogICAgICAgICAgICBpbnQgc2Vjb25kPXNjZW5hcmlvR3JhcGhbaV1bMV0tMTsKICAgICAgICAgICAgYWRqTGlzdFtmaXJzdF0ucHVzaF9iYWNrKHNlY29uZCk7CiAgICAgICAgICAgIGFkakxpc3Rbc2Vjb25kXS5wdXNoX2JhY2soZmlyc3QpOwogICAgICAgIH0KCiAgICAgICAgdmVjdG9yPGludD4gdmlzaXRlZEFycihidWdzLDApOwogICAgICAgIHZlY3RvcjxpbnQ+IGdyb3VwTWFwKGJ1Z3MsLTEpOwoKICAgICAgICBpbnQgcmVzb2x2ZUZsYWc9MTsKCiAgICAgICAgZm9yKGludCBpPTA7IGk8YnVnczsgaSsrKSB7CiAgICAgICAgICAgIGlmKHZpc2l0ZWRBcnJbaV09PTApIHsKICAgICAgICAgICAgICAgIGlmKCFyZXNvbHZlU3VzcGljaW9uKHZpc2l0ZWRBcnIsIGdyb3VwTWFwLCBhZGpMaXN0LCBpLCAwKSkgewogICAgICAgICAgICAgICAgICAgIHJlc29sdmVGbGFnPTA7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYocmVzb2x2ZUZsYWc9PTApIHsKICAgICAgICAgICAgY291dDw8IlNjZW5hcmlvICMiPDwgaSsxPDwiOiI8PGVuZGw8PCJTdXNwaWNpb3VzIGJ1Z3MgZm91bmQhIjw8ZW5kbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb3V0PDwiU2NlbmFyaW8gIyI8PCBpKzE8PCI6Ijw8ZW5kbDw8Ik5vIHN1c3BpY2lvdXMgYnVncyBmb3VuZCEiOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9Cgo=