#458. 排列

排列

Description

苏半夏 正在研究排列。

苏半夏 得到了两个序列 a1,a2,,ana_1, a_2, \dots , a_n 以及b1,b2,,bnb_1, b_2, \dots , b_n。苏半夏 想要重新排列序列{b}\{b\},使得 aa 中比 bb 小的位置最多。形式化地,苏半夏 想要找到一个1,2,,n1, 2, \dots , n 的排列 i1,i2,,ini_1, i_2, \dots , i_n,并最大化 j=1n[aj<bij]\sum \limits_{j=1}^{n}[a_j < b_{i_j}] 的值。

苏半夏 发现这非常简单,于是苏半夏 加了一个条件:苏半夏 想要在此基础上,最大化重排后序列{b}\{b'\} 的字典序。形式化地,苏半夏 想要最大化bi1,bi2,,binb_{i1} , b_{i2} , \dots , b_{in} 的字典序。

注: 我们认为序列 A1,A2,AkA_1,A_2 \dots ,A_k 字典序小于字符串 B1,B2BkB_1,B_2 \dots B_k,当且仅当存在某个 1ik1 \leqslant i \leqslant k,使得 Ai<BiA_i < B_i1j<i\forall 1 \leqslant j < i ,有 Aj=BjA_j = B_j

Format

Input

第一行一个正整数nn,表示序列a,ba, b 的长度。

第二行nn 个空格隔开的正整数 a1,a2,,ana_1, a_2, \dots , a_n,表示序列{a}\{a\} 中的元素。

第三行nn 个空格隔开的正整数b1,b2,,bnb_1, b_2, \dots , b_n,表示序列{b}\{b\} 中的元素。

Output

输出一行nn 个空格隔开的正整数bi1,bi2,,binb_{i1} , b_{i2} , \dots , b_{in} ,表示字典序最大的序列。

Samples

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

Limitation

对于所有测试数据,2n5000,1ai,bi1042 \leqslant n \leqslant 5000,1 \leqslant a_i,b_i \leqslant 10^4

子任务1(20 分): n10n \leqslant 10

子任务2(30 分): n500n \leqslant 500

子任务3(30 分): n2000n \leqslant 2000

子任务4(20 分):无特殊限制。