#L3271. 「JOISC 2020 Day1」建筑装饰 4

「JOISC 2020 Day1」建筑装饰 4

题目描述

题目译自 JOISC 2020 Day1 T1「ビルの飾り付け 4 / Building 4」

给定长度为 2N2N 的两个序列,分别为序列 A:A1,A2,,A2N\mathrm{A}: A_1, A_2, \cdots , A_{2N},和序列 B:B1,B2,,B2N\mathrm{B}: B_1, B_2, \cdots , B_{2N}

构造一个长度为 2N2N 的序列 C\mathrm{C}。满足以下条件:

  1. 序列 C\mathrm{C} 的第 ii 个数 CiC_i,只能从 AiA_iBiB_i 中选取。
  2. aa 为序列 A\mathrm{A} 中元素被选取的次数,bb 为序列 B\mathrm{B} 中元素被选取的次数,则 a=b=Na = b = N
  3. 该序列是一个单调不下降的序列(即 CiCi+1C_i \le C_{i+1}),不要求严格单调上升。

如有多解,任意输出一组解即可。


输入格式

第一行包含一个数字 NN,表示序列长度的一半。

第二行包含 2N2N 个数字,第 ii 个数字表示序列 A\mathrm{A} 中的第 ii 个数字 AiA_i

第三行包含 2N2N 个数字,第 ii 个数字表示序列 B\mathrm{B} 中的第 ii 个数字 BiB_i


输出格式

你不需要直接输出这个序列。

你只需要输出一行长度为 2N2N 的字符串 ss,如果序列 C\mathrm{C} 的第 ii 个数从 AiA_i 中选取,则 si=As_i = \text{A},否则 si=Bs_i = \text{B}

如果无解,输出一行一个数 1-1


样例 1

输入:

3
2 5 4 9 15 11
6 7 6 8 12 14

输出:

AABABB

解释:序列 C\mathrm{C}(2,5,6,9,12,14)(2,5,6,9,12,14),分别选取的是 A1,A2,B3,A4,B5,B6A_1, A_2, B_3, A_4, B_5, B_6,可以验证序列 C\mathrm{C} 满足所有条件。


样例 2

输入:

2
1 4 10 20
3 5 8 13

输出:

BBAA

多解输出任意解。


样例 3

输入:

2
3 4 5 6
10 9 8 7

输出:

-1

无法构造满足条件的排列,输出 1-1


样例 4

输入:

6
25 18 40 37 29 95 41 53 39 69 61 90
14 18 22 28 18 30 32 32 63 58 71 78

输出:

BABBABAABABA

数据范围与提示

对于 100%100\% 的数据,保证

  • 1N5×1051 \le N \le 5 \times 10^5
  • 1Ai109(1i2N)1 \le A_i \le 10^9 \quad (1 \le i \le 2N)
  • 1Bi109(1i2N)1 \le B_i \le 10^9 \quad (1 \le i \le 2N)

子任务 11111 分):1N20001 \le N \le 2000

子任务 28989 分):没有特殊性质。