5883 - 提高:笛卡尔树:模版题

通过次数

20

提交次数

25

Time Limit : 1 秒
Memory Limit : 512 MB

给定一个 1 \sim n 的排列 p,构建其笛卡尔树。

即构建一棵二叉树,满足:

  1. 每个节点的编号满足二叉搜索树的性质。
  2. 节点 i 的权值为 p_i,每个节点的权值满足小根堆的性质。

Input

第一行一个整数 n

第二行一个排列 p_{1 \dots n}

Output

l_i,r_i 分别表示节点 i 的左右儿子的编号(若不存在则为 0)。

一行两个整数,分别表示

Examples

Input

5
4 1 3 2 5

Output

19 21

Hint

【样例解释】

il_ir_i
100
214
300
435
500

【数据范围】

对于 30\% 的数据,n \le 10^3

对于 60\% 的数据,n \le 10^5

对于 80\% 的数据,n \le 10^6

对于 90\% 的数据,n \le 5 \times 10^6

对于 100\% 的数据,1 \le n \le 10^7