#define _CRT_SECURE_NO_WARNINGS #define _SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING #include using namespace std; const int N = 1e5 + 10; int adj[N], nxt[N], to[N], ecnt, dis[1005][1005]; inline void addEdge(int f, int t) { ecnt++; nxt[ecnt] = adj[f]; adj[f] = ecnt; to[ecnt] = t; } void dfs(int s, int *vis) { vis[s] = 1; for (int e = adj[s]; e; e = nxt[e]) if (!vis[to[e]]) dfs(to[e], vis); } int main() { int T, n, m; scanf("%d", &T); while (T--) { ecnt = 0; memset(adj, 0, sizeof(adj)); memset(dis, 0, sizeof(dis)); scanf("%d%d", &n, &m); for (int i = 0, u, v; i < m; i++) scanf("%d%d", &u, &v), addEdge(u, v); for (int i = 1; i <= n; i++) dfs(i, dis[i]); bool flag = true; for (int i = 1; i <= n && flag; i++) for (int j = 1; j < i && flag; j++) if ((dis[i][j] || dis[j][i]) == false) flag = false; puts(flag ? "I love you my love and our love save us!" : "Light my fire!"); } return 0; }