A bipartite unweighted graph is provided. Your task is to determine the maximum matching.
The first line contains three integers , , and (1 \le n,\, m \le 200, 1 \le k \le n \times m), representing the number of vertices in the first and second partitions, and the total number of edges, respectively. The following lines each contain two integers a_i and b_i, indicating an edge between vertex a_i in the first partition and vertex b_i in the second partition. Vertices in both partitions are numbered starting from one.
On the first line, print a single integer - the maximum number of edges in the matching. On the second line, print integers - the indices of the edges that are part of the maximum matching. The edges are numbered starting from one, in the order they are given in the input.
Example 1