#B3671. 配餐

配餐

配餐

来源:洛谷 B3671([语言月赛202210] 配餐)

题目描述

午饭时间,喵喵喵幼儿园的 nn 位小朋友从左到右排成一列等待领取自己的午餐。我们将这些小朋友从左到右依次标号为 1,2,⋯ ,n−1,n1, 2, \cdots, n-1, n。

负责配餐的老师已经拿到了所有人的午饭餐食,餐食同样也是从左到右排成一排。

老师手里拿到了一份序列 r1⋯rnr_1 \cdots r_n,代表编号为 ii 的小朋友应该拿到从左向右数第 rir_i 份午餐餐食(1≤ri≤n1 \le r_i \le n 且 rir_i 两两不同)。

按照上面的序列分发完成后,老师又拿到了一个序列 a1⋯ana_1 \cdots a_n,其中 aia_i 代表未分发前从左向右数第 ii 份餐食的一个参数。

老师想要知道,对每个小朋友,他们所拿到的午餐的这个参数的值是多少。但是这个任务对于老师来说太难了,所以喵喵喵幼儿园找到了万能的你。

输入格式

共三行。

第一行一个整数,代表 nn。

第二行 nn 个整数,代表 r1⋯rnr_1 \cdots r_n。

第三行 nn 个整数,代表 a1⋯ana_1 \cdots a_n。

输出格式

一行,nn 个整数。第 ii 个整数代表编号为 ii 的小朋友所拿到的午餐的这个参数是多少。

样例 #1

样例输入 #1

4
4 1 3 2
7 4 2 9

样例输出 #1

9 7 2 4

提示

样例解释

编号为 11 的小朋友拿到了第四份餐食,参数为 99。

编号为 22 的小朋友拿到了第一份餐食,参数为 77。

编号为 33 的小朋友拿到了第三份餐食,参数为 22。

编号为 44 的小朋友拿到了第二份餐食,参数为 44。

数据规模与约定

本题共 1010 个测试点。

  • 对第一个测试点,保证 n=2,r1=1,r2=2n = 2, r_1 = 1, r_2 = 2;
  • 对第二个测试点,保证 n=2n = 2;
  • 对第三、四个测试点,保证 n≤100n \le 100;
  • 对第五、六个测试点,保证对任意的 1≤i≤n1 \le i \le n,ri=ir_i = i;
  • 对全部的测试点,保证 2≤n≤1052 \le n \le 10^5,1≤ai≤1091 \le a_i \le 10^9,1≤ri≤n1 \le r_i \le n 且不存在一对 (i,j)(i, j) 使得 ri=rjr_i = r_j。