#include <bits/stdc++.h>
using namespace std;
mt19937 rnd(chrono::high_resolution_clock::now().time_since_epoch().count());
const long long inf = 1e9 + 7;
const int max_n = 1e5 + 3;
set<int> gr[max_n];
vector<int> gr1[max_n];
void solve() {
  int n, m, k;
  cin >> n >> m >> k;
  for (int i = 0; i < n; i++) {
    gr[i].clear();
    gr1[i].clear();
  }
  vector<int> deg(n);
  auto sorti = [&deg](int v1, int v2) {
    if (deg[v1] == deg[v2]) return v1 < v2;
    return deg[v1] < deg[v2];
  };
  set<int, decltype(sorti)> a(sorti);
  for (int i = 0; i < m; i++) {
    int v1, v2;
    cin >> v1 >> v2;
    v1--;
    v2--;
    gr[v1].emplace(v2);
    gr[v2].emplace(v1);
    gr1[v1].emplace_back(v2);
    gr1[v2].emplace_back(v1);
    deg[v1]++;
    deg[v2]++;
  }
  for (int i = 0; i < n; i++) sort(gr1[i].begin(), gr1[i].end());
  for (int i = 0; i < n; i++) a.emplace(i);
  vector<bool> fuck(n);
  while ((int)(a.size())) {
    int v = (*a.begin());
    a.erase(a.begin());
    if (deg[v] >= k) {
      a.emplace(v);
      cout << 1 << " " << (int)(a.size()) << endl;
      for (int i : a) {
        cout << i + 1 << " ";
      }
      cout << endl;
      return;
    }
    if (!fuck[v] && deg[v] == k - 1) {
      bool bad = false;
      for (int v1 : gr[v]) {
        for (int v2 : gr[v]) {
          if (v1 == v2) break;
          int id =
              lower_bound(gr1[v1].begin(), gr1[v1].end(), v2) - gr1[v1].begin();
          if (id == (int)(gr1[v1].size()) || gr1[v1][id] != v2) bad = true;
        }
        if (bad) break;
      }
      if (bad) {
        for (int i : gr[v]) {
          if (deg[i] == k - 1) fuck[i] = true;
        }
      } else {
        cout << 2 << endl;
        for (int i : gr[v]) cout << i + 1 << " ";
        cout << v + 1 << endl;
        return;
      }
    }
    for (int i : gr[v]) {
      a.erase(i);
      gr[i].erase(v);
      deg[i]--;
      a.emplace(i);
    }
  }
  cout << -1 << endl;
}
signed main() {
  cin.tie(0);
  cout.tie(0);
  ios_base::sync_with_stdio(0);
  int t;
  cin >> t;
  while (t--) solve();
}
