

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {

	static PrintWriter pw = new PrintWriter(System.out);
 static ArrayList<Integer>[] adjList;

	public static void main(String[] args) throws IOException, InterruptedException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		int tc=Integer.parseInt(bf.readLine());
		while(tc-->0) {
			st=new StringTokenizer(bf.readLine());
			int n=Integer.parseInt(st.nextToken()),m=Integer.parseInt(st.nextToken());
			boolean[] inSet=new boolean[3*n];
			ArrayList<Integer> sln=new ArrayList<Integer>();
			for(int i=0;i<m;i++) {
				st =new StringTokenizer(bf.readLine());
				int u =Integer.parseInt(st.nextToken())-1,v =Integer.parseInt(st.nextToken())-1;
				if(!inSet[u]&&!inSet[v]) {
					inSet[u]=inSet[v]=true;
					sln.add(i+1);
				}
			}
			if(sln.size()>=n) {
				int c=0;
				pw.println("Matching");
				for(int i:sln) {
					
					pw.print(i+" ");
					c++;
					if(c==n)break;
				}
				pw.println();
			}else {
				pw.println("IndSet");
				int c=0;
				for(int i=0;i<3*n;i++) {
					if(!inSet[i]) {
						pw.print((i+1)+" ");
						c++;
						if(c==n)break;
					}
				}
				pw.println();
				
			}
		}
		
		pw.flush();
		pw.close();

}


}
