小 Q 是一个算法竞赛初学者,正在学习图论知识中的树的遍历。一棵由
- 选择一个结点
作为遍历起始结点,并把该结点打上标记。 - 假设当前访问的结点为
,寻找任意一个与 相邻且未标记的结点 ,将 作为新的当前访问结点并打上标记。之后再次进入第 步。 - 假设在第
步中,与 相邻的结点都已被标记,如果 则遍历过程结束,否则将 设为遍历 之前的上一个结点并再进入第 步。
例如在下面的树中,一种可能的遍历过程如下:
- 选取
作为遍历起始结点,并把 打上标记; 与 相邻且未标记,将 设为当前访问结点,并把 打上标记。 与 相邻且未标记,将 设为当前访问结点,并把 打上标记。 所有相邻的结点都被标记,将当前访问结点设为遍历结点 之前的结点 。 与 相邻且未标记,将 设为当前访问结点,并把 打上标记。 所有相邻的结点都被标记,将当前访问结点设为遍历结点 之前的结点 。 所有相邻的结点都被标记,将当前访问结点设为遍历结点 之前的结点 。 所有相邻的结点都被标记,且 是遍历起始结点,故遍历结束。
作为一个奇思妙想的学生,小 Q 在学习完上述知识后不满足于以结点为基础的遍历方式,于是开始研究以边为基础的遍历方式。定义两条边相邻,当且仅当它们有一个公共的结点。初始时,所有的边都未被标记。这种以边为基础的遍历过程如下:
- 选择一条边
作为遍历起始边,并把该边打上标记。 - 假设当前访问边为
,寻找任意一条与 相邻且未标记的边 ,将 作为新的当前访问边并打上标记。之后再次进入第 步。 - 假设在第
步中,与 相邻的边都已被标记,如果 则遍历过程结束,否则将 设为遍历 之前的上一条边并再进入第 步。
例如在上面的树中,一种可能的遍历过程如下(定义
- 选取
作为遍历起始边,并把 打上标记; 与 相邻且未标记,将 设为当前访问边,并把 打上标记。 与 相邻且未标记,将 设为当前访问边,并把 打上标记。 所有相邻的边都被标记,将当前访问边设为遍历 之前的边 。 所有相邻的边都被标记,将当前访问边设为遍历 之前的边 。 所有相邻的边都被标记,且 是遍历起始边,故遍历结束。
小 Q 惊奇的发现,在这个新的树的遍历过程中,如果将每条边看作一个新的结点,将步骤
现在小 Q 在
由于结果可能很大,你只需要输出其对
输入格式
本题有多组测试数据。
输入的第一行包含两个整数
接下来包含
输出格式
对于每组测试数据输出一行,包含一个整数,表示结果对
样例 #1
样例输入 #1
1 1 4 1 1 2 2 3 2 4 1
样例输出 #1
2
【样例 1 解释】
两种可能的新树如下:
- 新结点
样例 #2
样例输入 #2
7 1 5 2 1 2 1 3 2 4 2 5 1 3
样例输出 #2
3
【样例 2 解释】
三种可能的新树如下:
- 新结点
【样例 3】
见附件的 traverse/traverse3.in 与 traverse/traverse3.ans。
该组样例满足
【样例 4】
见附件的 traverse/traverse4.in 与 traverse/traverse4.ans。
该组样例满足
【样例 5】
见附件的 traverse/traverse5.in 与 traverse/traverse5.ans。
该组样例满足
【样例 6】
见附件的 traverse/traverse6.in 与 traverse/traverse6.ans。
该组样例满足
【样例 7】
见附件的 traverse/traverse7.in 与 traverse/traverse7.ans。
该组样例满足
【样例 8】
见附件的 traverse/traverse8.in 与 traverse/traverse8.ans。
该组样例满足
【样例 9】
见附件的 traverse/traverse9.in 与 traverse/traverse9.ans。
该组样例满足
【样例 10】
见附件的 traverse/traverse10.in 与 traverse/traverse10.ans。
该组样例满足
【样例 11】
见附件的 traverse/traverse11.in 与 traverse/traverse11.ans。
该组样例满足
【样例 12】
见附件的 traverse/traverse12.in 与 traverse/traverse12.ans。
该组样例满足
限制与约定
【数据范围】
对于所有的测试数据,保证:
; ; ;- 对于任意的
,都有 ,且构成一颗合法的树。 - 对于任意的
,都有 ,且两两不同。
测试点编号 | 特殊性质 | ||
---|---|---|---|
无 | |||
无 | |||
无 | |||
无 | |||
$ | 无 | ||
$ | 无 | ||
无 | |||
$ | A | ||
$ | B | ||
$ | 无 | ||
$ | 无 |
- 特殊性质 A:对于任意的
,都有 。 - 特殊性质 B:对于任意的
,都有 。
【提示】
数据输入的规模可能较大,请选手注意输入读取方式的效率。
时间限制:
空间限制: