题目描述
给定一棵由 $n$ 个结点组成的树以及 $m$ 个不重复的无序数对 $(a_1, b_1), (a_2, b_2), \dots, (a_m, b_m)$,其中 $a_i$ 互不相同,$b_i$ 互不相同,$a_i \ne b_j$ $(1 \le i, j \le m)$。
小明想知道是否能够选择一条树上的边砍断,使得对于每个 $(a_i, b_i)$ 满足 $a_i$ 和 $b_i$ 不连通,如果可以则输出应该断掉的边的编号(编号按输入顺序从 $1$ 开始),否则输出 $-1$。
输入格式
输入共 $n + m$ 行,第一行为两个正整数 $n, m$。后面 $n - 1$ 行,每行两个正整数 $x_i, y_i$ 表示第 $i$ 条边的两个端点。后面 $m$ 行,每行两个正整数 $a_i, b_i$。
输出格式
一行一个整数,表示答案,如有多个答案,输出编号最大的一个。
样例输入 #1
6 2
1 2
2 3
4 3
2 5
6 5
3 6
4 5
提示
#### 【样例说明】
断开第 $2$ 条边后形成两个连通块:$\{3, 4\}$,$\{1, 2, 5, 6\}$,满足 $3$ 和 $6$ 不连通,$4$ 和 $5$ 不连通。
断开第 $4$ 条边后形成两个连通块:$\{1, 2, 3, 4\}$,$\{5, 6\}$,同样满足 $3$ 和 $6$ 不连通,$4$ 和 $5$ 不连通。
$4$ 编号更大,因此答案为 $4$。
#### 【评测用例规模与约定】
对于 $30\%$ 的数据,保证 $1 \lt n \le 1000$。
对于 $100\%$ 的数据,保证 $1 \lt n \le 10^5$,$1 \le m \le \dfrac n 2$。
来源
第十四届蓝桥杯大赛软件类省赛C/C++大学B组