2112 - 【入门】交叉排序

通过次数

8

提交次数

11

Time Limit : 1 秒
Memory Limit : 128 MB

周周很无聊,他想对数组中的某些元素进行排序。

现在我们有 N 个数,他想先将数组中第 l_{1} 到第 r_{1} 的数字按从小到大的顺序排序。再将数组中第 l_{2} 到第 r_{2} 的数字按从大到小的顺序排序。

我们帮他算一算数组排序后的结果吧~

Input

第一行五个整数 N, l_1, r_1, l_2, r_2,其中 0 < l_1 < r_1 < N, 0 < l_2 < r_2 < N,这五个数不超过 10000

第二行为 N 个整数。

Output

一行 N 个整数,表示数组排序以后的结果,数字之间用空格隔开,末尾换行。

Examples

Input

6 1 3 2 4
8 3 1 6 9 2

Output

1 8 6 3 9 2

Hint

这道题,我们只要把握好 sort 的区间就可以了。

sort(a + l, a + r)

排序的区间是:[l,r)