#arc141c. [arc141_c]Bracket and Permutation

[arc141_c]Bracket and Permutation

题目描述

长度为 2N2N 的字符串 S=S1S2dotsS2NS=S_1S_2\\dots S_{2N} 被称为一个 括号序列,当 SSNN(NN) 组成时。

此外,当以下情况之一时,括号序列 SS 被称为 正确

  • 空字符串。
  • 按照 (AA) 的顺序连接而成的字符串,其中 AA 是一个正确的括号序列。
  • 按照 AABB 的顺序连接而成的字符串,其中 AABB 是非空的正确括号序列。

给定两个排列 P=(P1,P2,dots,P2N)P=(P_1,\\ P_2,\\ \\dots,\\ P_{2N})Q=(Q1,Q2,dots,Q2N)Q=(Q_1,\\ Q_2,\\ \\dots,\\ Q_{2N}),包含整数从 112N2N

判断是否存在一个括号序列 S=S1S2dotsS2NS=S_1S_2\\dots S_{2N} 满足以下条件。

  • PP 是整数从 112N2N 的字典序最小排列 pp,使得 Sp1Sp2dotsSp2NS_{p_1}S_{p_2}\\dots S_{p_{2N}} 是一个正确的括号序列。
  • QQ 是整数从 112N2N 的字典序最大排列 pp,使得 Sp1Sp2dotsSp2NS_{p_1}S_{p_2}\\dots S_{p_{2N}} 是一个正确的括号序列。

如果存在这样的括号序列,则找出其中一个。

约束条件

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 1leqPi,Qileq2N1 \\leq P_i,Q_i \\leq 2N
  • PPQQ 均为 112N2N 的排列。
  • 输入中的所有值均为整数。

输入

输入以标准格式给出,格式如下:

NN

P1P_1 P2P_2 dots\\dots P2NP_{2N}

Q1Q_1 Q2Q_2 dots\\dots Q2NQ_{2N}

输出

如果存在满足上述条件的括号序列 SS,则输出一个这样的序列。如果存在多个这样的序列,你可以输出任意一个。

如果不存在这样的序列,则输出 -1


示例输入 1

2
1 2 4 3
4 3 1 2

示例输出 1

())(

对于 S=S= ())(,其中一些满足 Sp1Sp2Sp3Sp4S_{p_1}S_{p_2}S_{p_3}S_{p_4} 是正确的括号序列的排列 ppp=(1,4,2,3),(1,4,3,2)p=(1,\\ 4,\\ 2,\\ 3),\\ (1,\\ 4,\\ 3,\\ 2)。其中最小和最大的字典序分别为 p=(1,2,4,3)p=(1,\\ 2,\\ 4,\\ 3)p=(4,3,1,2)p=(4,\\ 3,\\ 1,\\ 2),满足条件。


示例输入 2

2
1 3 2 4
4 3 2 1

示例输出 2

-1

没有满足条件的 SS


示例输入 3

3
2 1 5 3 4 6
6 5 3 4 2 1

示例输出 3

-1