#include <bits/stdc++.h>
using namespace std;
const int V = 3e5 + 5, E = 5e5 + 5;
bool a[V];
vector<int> ans, diu;
int main() {
  int test_case;
  cin >> test_case;
  for (int test_case_i = 0; test_case_i < test_case; test_case_i++) {
    memset(a, 0, sizeof a);
    ans.clear();
    diu.clear();
    int v, e;
    scanf("%d%d", &v, &e);
    v = 3 * v;
    for (int i = 0; i < e; i++) {
      int x, y;
      scanf("%d%d", &x, &y);
      x--;
      y--;
      if (!a[x] && !a[y]) {
        ;
        ;
        a[x] = a[y] = true;
        ans.push_back(i);
      }
    }
    if (ans.size() >= v / 3) {
      puts("Matching");
      for (int i = 0; i < v / 3; i++)
        printf("%d%c", ans[i] + 1, " \n"[i + 1 == v / 3]);
    } else {
      puts("IndSet");
      for (int i = 0; i < v; i++)
        if (!a[i]) diu.push_back(i);
      assert(diu.size() >= v / 3);
      for (int i = 0; i < v / 3; i++)
        printf("%d%c", diu[i] + 1, " \n"[i + 1 == v / 3]);
    }
  }
  return 0;
}
