#include <bits/stdc++.h>
inline int read() {
  char c = getchar();
  int x = 0, ft = 1;
  for (; c < '0' || c > '9'; c = getchar())
    if (c == '-') ft = -1;
  for (; c >= '0' && c <= '9'; c = getchar()) x = x * 10 + c - '0';
  return x * ft;
}
const int N = 1e5 + 5;
int n, m, h[N], edge_cnt;
struct Edge {
  int to, st, nex;
} e[N << 1];
inline void add_edge(int u, int v) {
  e[++edge_cnt] = (Edge){v, u, h[u]};
  h[u] = edge_cnt;
}
int vis[N], dfn[N], seq[N], dfc, sz[N];
int ee[N], eec, ont[N << 1], cnt[N], to[N], ans[N];
void dfs(int u) {
  vis[u] = 1;
  seq[dfn[u] = ++dfc] = u;
  sz[u] = 1;
  for (int i = h[u]; i; i = e[i].nex) {
    int v = e[i].to;
    if (vis[v])
      ee[++eec] = i;
    else
      dfs(v), ont[i] = 1, sz[u] += sz[v];
  }
}
inline void work() {
  n = read();
  m = read();
  edge_cnt = 0;
  for (int i = 1; i <= n; ++i) h[i] = 0;
  for (int i = 1; i <= m; ++i) {
    int u = read(), v = read();
    add_edge(u, v);
  }
  for (int tt = 1; tt <= 100; ++tt) {
    for (int i = 1; i <= n; ++i) vis[i] = cnt[i] = 0;
    for (int i = 1; i <= edge_cnt; ++i) ont[i] = 0;
    int rt = ((rand() << 15) | rand()) % n + 1, res = 0;
    eec = dfc = 0;
    dfs(rt);
    int is_good = 1;
    for (int j = 1; j <= eec; ++j) {
      int i = ee[j];
      ++cnt[e[i].st];
      --cnt[e[i].to];
      if (dfn[e[i].st] < dfn[e[i].to] ||
          dfn[e[i].to] + sz[e[i].to] <= dfn[e[i].st]) {
        is_good = 0;
        break;
      }
    }
    if (!is_good) continue;
    ans[rt] = 1;
    for (int i = 1; i <= n; ++i) to[i] = 0;
    for (int j = n; j >= 1; --j) {
      int u = seq[j];
      for (int i = h[u]; i; i = e[i].nex) {
        if (ont[i])
          cnt[u] += cnt[e[i].to], to[u] = to[e[i].to];
        else
          to[u] = e[i].to;
      }
    }
    for (int i = 2; i <= n; ++i) {
      ans[seq[i]] = (cnt[seq[i]] == 1 && ans[to[seq[i]]]);
      res += ans[seq[i]];
    }
    if (res >= (n + 4) / 5) {
      for (int i = 1; i <= n; ++i)
        if (ans[i]) printf("%d ", i);
      printf("\n");
    } else
      puts("-1");
    return;
  }
  puts("-1");
}
int main() {
  int cases = read();
  while (cases--) work();
  return 0;
}
