#include <bits/stdc++.h>
using namespace std;
const int inf_int = 1e9 + 100;
const long long inf_ll = 2e18;
const double pi = 3.1415926535898;
bool debug = 0;
const int MAXN = 3e5 + 100;
const int LOG = 25;
const int mod = 998244353;
const int MX = 1e6 + 100;
const long long MOD = 1000000000949747713ll;
int A[MX], B[MX];
vector<int> g[MAXN];
int val[MAXN];
char used[MAXN];
mt19937 urng(228);
void solve() {
  int n, m;
  cin >> n >> m;
  int N = 3 * n;
  for (int i = 1; i <= N; ++i) {
    g[i].clear();
  }
  for (int i = 1; i <= m; ++i) {
    cin >> A[i] >> B[i];
    g[A[i]].push_back(B[i]);
    g[B[i]].push_back(A[i]);
    if (debug) cout << "! " << A[i] << " " << B[i] << endl;
  }
  set<pair<int, int> > ss;
  for (int i = 1; i <= N; ++i) {
    val[i] = (int(g[i].size()));
    ss.insert({val[i], i});
  }
  vector<int> res1;
  while (!ss.empty()) {
    auto x = ss.begin();
    int v = x->second;
    ss.erase(ss.begin());
    res1.push_back(v);
    if ((int(res1.size())) == n) break;
    for (int to : g[v]) {
      ss.erase({val[to], to});
    }
  }
  assert((int(res1.size())) <= n);
  if ((int(res1.size())) == n) {
    cout << "IndSet"
         << "\n";
    for (int v : res1) {
      cout << v << " ";
    }
    cout << "\n";
    return;
  }
  vector<int> ids;
  for (int i = 1; i <= m; ++i) {
    ids.push_back(i);
  }
  int it = 10;
  while (it--) {
    fill(used, used + N + 1, 0);
    shuffle(ids.begin(), ids.end(), urng);
    vector<int> res2;
    for (int v : ids) {
      if (!used[A[v]] && !used[B[v]]) {
        res2.push_back(v);
        used[A[v]] = 1;
        used[B[v]] = 1;
        if ((int(res2.size())) == n) break;
      }
    }
    if ((int(res2.size())) == n) {
      if (debug) cout << "it " << it << endl;
      cout << "Matching\n";
      for (int v : res2) {
        cout << v << " ";
      }
      cout << "\n";
      return;
    }
  }
  cout << "Impossible";
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cout.setf(ios::fixed);
  cout.precision(20);
  int t = 1;
  cin >> t;
  while (t--) solve();
  if (debug)
    cerr << endl << "time : " << (1.0 * clock() / CLOCKS_PER_SEC) << endl;
}
