奶牛们正在遭受入侵!它们的共和国由 N 个城镇组成(1 \leq N \leq 50,000),这些城镇通过 M 条无向路径连接(1 \leq M \leq 100,000),每条路径连接两个城镇 A_i 和 B_i(1 \leq A_i \leq N;1 \leq B_i \leq N;A_i \leq B_i;不会出现重复路径)。然而,共和国不一定是连通的——可能存在无法通过路径到达彼此的城镇对。
奶牛们知道入侵者计划对它们共和国内的每一条路径进行清点,所以它们愿意关闭各种路径,以使入侵者的工作尽可能困难。
请帮助奶牛们找到一种关闭路径子集的方法,使得每个城镇连接的剩余路径数为奇数,或者确定不存在这样的子集。
例如,考虑以下的奶牛共和国:
1---2 \ / 3---4 如果我们保留路径 1-3、2-3 和 3-4,并移除路径 1-2,那么城镇 1、2 和 4 将成为正好一条路径的端点,而城镇 3 将成为三条路径的端点:
1 2 \ / 3---4
* 第 1 行:两个用空格分隔的整数:N 和 M
* 第 2 行到第 M+1 行:第 i+1 行包含两个用空格分隔的整数:A_i 和 B_i
* 第 1 行:一个整数,表示要保留的路径数量。如果不存在这样的子集,则仅输出一行,包含整数 -1。
* 第 2 行到第 K+1 行:每行包含一个要保留的路径的索引,范围为 1 到 M。这些索引必须两两不同。
4 4 1 2 2 3 3 1 3 4
3 2 3 4
USACO