你有一个由 $n$ 个圆形齿轮组成的复杂系统,它们排成一排相连,其中心固定在 $n$ 个对应的轴上。第 $i$ 个轴固定在(虚构的)数轴上的坐标 $x_i$ 处。
上图描绘了样例测试用例。
然而,一场大地震刚刚袭来,所有的齿轮都掉落到了地上,只留下轴还挂在墙上。给定 $n$ 个齿轮的半径 $r_i$ 以及轴的坐标,你需要通过将齿轮放回它们原来的位置来重新安装该系统。
输入格式
第一行输入包含一个整数 $n$ ($1 \le n \le 500\,000$)。
第二行输入包含 $n$ 个整数 $x_1, x_2, \dots, x_n$ ($1 \le x_i \le 10^{16}$),表示按递增顺序排列的轴的位置。
第三行输入包含 $n$ 个整数 $r_1, r_2, \dots, r_n$ ($1 \le r_i \le 10^9$),表示 $n$ 个齿轮的半径。
输出格式
输出 $n$ 个数字 $s_1, s_2, \dots, s_n$,表示齿轮在轴上的正确放置方案。具体来说,$s_i$ 应为放置在从左往右数第 $i$ 个轴上的齿轮半径。为了使放置方案有效,任意两个相邻的齿轮必须相切,且 $s$ 应该是 $r$ 的一个排列。
保证对于所有测试用例,均存在解。如果存在多个解,你可以输出其中任意一个。
样例
输入样例 1
5 2 8 13 22 30 3 5 5 1 4
输出样例 1
5 1 4 5 3