Tk的构造数组
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}Tk 有两个长度为 n 的数组 \{a_1,a_2,\dots,a_n\}\{b_1,b_2,\dots,b_n\}.
\hspace{15pt}记数组 c 的每个元素为 c_i=a_i \times b_i \times i.
\hspace{15pt}Tk 希望你重新排列数组 b 使得数组 c 的和最大.

输入描述:

\hspace{15pt}第一行输入一个正整数 n(1\leqq n\leqq2\times10^5) 表示数组长度. 
\hspace{15pt}第二行输入 n 个整数 a_i(1\leqq a_i\leqq10^9) 表示数组 a.
\hspace{15pt}第三行输入 n 个整数 b_i(1\leqq b_i\leqq10^9) 表示数组 b.

输出描述:

\hspace{15pt}输出一行 n 个整数表示你重新排列后的 b 数组. 
\hspace{15pt}如果存在多个解决方案,你可以输出任意一个,系统会自动判定答案是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性.
示例1

输入

复制
3
3 2 1
2 2 3

输出

复制
2 3 2