import sys input = sys.stdin.readline H, W, N = map(int, input().split()) G = [set() for _ in range(H+W)] for i in range(N): x, y = map(lambda x: int(x) - 1, input().split()) G[x].add((H+y, i)) G[H+y].add((x, i)) st = [] for v in range(H+W): if len(G[v]) == 1: st.append(v) while st: v = st.pop() for u, i in G[v]: G[u].remove((v, i)) if len(G[u]) == 1: st.append(u) G[v] = set() prev = [None] * (H+W) for s in range(H): if prev[s] is not None: continue st = [(s, -1, -1)] while st: v, p, j = st.pop() prev[v] = (p, j) for u, i in G[v]: if (u, i) == prev[v]: continue if u == s: ans = [i] while v != s: v, i = prev[v] ans.append(i) print(len(ans)) print(*map(lambda x: x + 1, ans[::-1])) exit() if prev[u] is None: st.append((u, v, i)) print(-1)