UOI 的规矩是一些成熟稳重的外星大象制定的,所以大D米 AK 了也不准离场。
无聊的大D米决定预测一下排名。他对
根据大D米的建模,
形式化地,对树 ddm
过程,用于确定选手的可能排名:
- 令当前已经考虑的节点集合为
,当前正在考虑的节点为 。初始时 且 。 - 重复如下过程直到所有节点都在
中:- 若
的所有儿子均在 中,则将 改为 ; - 否则,任选一个
未被加入 中的儿子 ,将 加入 并将 改为 。
- 若
每个 ddm
过程都会对应一个 ddm
序,一个 ddm
序是一个 ddm
过程中,节点 ddm
过程,自然也对应很多不同的 ddm
序。
考完后,大D米发现真实的排名表是一个 ddm
序
- 初始令
。 - 进行任意次操作直到
:- 任选
,使得 ,然后交换 和 。
- 任选
对于某些排列 ddm
序的情况,这时候你需要报告无解。
输入格式
第一行一个整数
第二行一个整数
第三行
第四行
输出格式
如果存在合法的 ddm
序 ddm
过程中是第
否则,你只需要输出一行 -1
。
样例一
input
1 5 5 3 1 2 4 1 2 2 1
output
1 2 3 4 5
explanation
记交换 swap(fa[x],x)
。
一种可行的构造 swap(2,4), swap(1,2), swap(1,5), swap(2,3)
。
样例二
input
1 8 8 3 5 7 1 2 4 6 1 1 1 3 1 3 4
output
1 3 4 7 5 2 6 8
样例三
见附加文件中 ex_tree3.in
与 ex_tree3.out
,该组样例满足子任务 2 的性质。
样例四
见附加文件中 ex_tree4.in
与 ex_tree4.out
,该组样例满足子任务 3 的性质。
样例五
见附加文件中 ex_tree5.in
与 ex_tree5.out
,该组样例满足子任务 4 的性质。
限制与约定
对于
子任务编号 | 特殊性质 | 分值 | |
---|---|---|---|
无 | |||
A | |||
B | |||
无 | |||
A | |||
B | |||
无 |
特殊性质 A :令当 ddm
过程对应 ddm
序
特殊性质 B :至多只有一个点的儿子个数
时间限制:
空间限制: