#include<cstdio>
using namespace std;
const int Maxn = 2019;
int rel[Maxn],father[Maxn];
//0表示同性,1表示异性
//参考网上的第二种解法,也就是带权(种类)并查集
void init(int n)
{
    for(int i = 1; i<=n; ++i)
    {
        father[i] = i;
        rel[i] = 0;
    }
}
int find(int x)
{
    if(x!=father[x])
    {
        int px = find(father[x]);
        rel[x] = rel[x]^rel[father[x]];//若x与父节点的权值不一样,则x与父节点性别不同,难点
        father[x] = px;
    }
    return father[x];
}
int _union(int a,int b)
{
    int x = find(a);
    int y = find(b);
    if(x==y)
    {
        if(rel[a]==rel[b])
            return 1;
        return 0;
    }
    else
    {
        father[x] = y;
        rel[x] = !(rel[a]^rel[b]);
    }
    return 0;
}
int main()
{
    int t,n,m;
    int a,b;
    scanf("%d",&t);
    for(int i = 1; i<=t; ++i)
    {
        scanf("%d%d",&n,&m);
        bool f = false;
        init(n);
        while(m--)
        {
            scanf("%d%d",&a,&b);
            if(!f&&_union(a,b))
                f = true;
        }
        printf("Scenario #%d:\n",i);
        puts(f?"Suspicious bugs found!\n":"No suspicious bugs found!\n");
    }
    return 0;
}