import java.util.*; public class _16724 { static char[][] mapInfo = new char[1000][1000]; static int[] parents = new int[1000000]; static int[] rank = new int[1000000]; static int N, M; static int area_num(int i, int j) { return M*i + j; } static int find(int n) { if (n != parents[n]) return parents[n] = find(parents[n]); return n; } static void union(int a, int b) { a = find(a); b = find(b); if (a != b) { if (rank[a] > rank[b]) parents[b] = a; else if (rank[a] < rank[b]) parents[a] = b; else { parents[a] = b; rank[b]++; } } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); M = sc.nextInt(); sc.nextLine(); for(int i=0; i