#arc043c. [arc043_c]転倒距離

[arc043_c]転倒距離

问题描述

将从1到N的整数重新排列成一个长度为N的序列称为排列。

当有相同大小的排列X和Y时,X和Y中数字顺序交换的组合数称为X和Y的倒置距离。

例如,对于[3, 1, 4, 2, 5]和[2, 5, 3, 4, 1],由于以下7个组的顺序被交换,所以倒置距离为7。

  • (1, 2), (1, 4), (1, 5), (2, 3), (2, 4), (3, 5), (4, 5)

给定长度为N的排列A和B。

判断是否存在一个和A、B的倒置距离相等的长度为N的排列,并找出一个。

如果答案不唯一,可以输出任意一个。


输入

输入以以下格式从标准输入给出:

N A1 A2 .. AN B1 B2 .. BN

  • 第1行给出一个表示排列的长度的整数N (1 ≤ N ≤ 10^5)。
  • 第2行给出N个整数,表示排列A的元素,以空格分隔。第i个整数是A的第i个元素Ai(1 ≤ Ai ≤ N)。
  • 第3行给出N个整数,表示排列B的元素,以空格分隔。第i个整数是B的第i个元素Bi(1 ≤ Bi ≤ N)。
  • 若i ≠ j,则满足Ai ≠ Aj和Bi ≠ Bj。

部分分

该问题有部分得分。

  • 如果满足1≤N≤3,000的数据集,则获得30分。
  • 如果满足1≤N≤10^5的数据集,则额外给出70分。总共可获得100分。

输出

如果不存在满足条件的排列,则输出-1。否则,在一行上输出满足条件的排列,以空格分隔。


示例1

输入:
5
1 2 3 4 5
5 4 3 2 1

输出:
5 2 1 3 4

所输出的排列C,A和C的倒置距离都为5,B和C的倒置距离也为5。


示例2

输入:
5
1 2 3 4 5
1 2 4 3 5

输出:
-1

不存在既与A的倒置距离相等又与B的倒置距离相等的排列。


示例3

输入:
9
3 1 4 2 5 9 7 6 8
2 1 8 3 5 7 9 4 6

输出:
3 1 2 8 4 5 7 9 6