#GYM104725F. 最长上升子序列

最长上升子序列

本题没有可用的提交语言。

Description

你原本有一个 1n 的排列,但是不慎地,你遗忘了它,但是你记得以 第i个位置 结尾的最长上升子序列的长度数组 {an} ,现在希望你能够构造一个符合条件的排列 p ,如果不存在符合上述条件的排列 p ,则输出  - 1

这里定义以 第i位置 结尾的最长上升子序列的长度,为符合以下条件的整数数组 k 的最大值。

本题输入输出量比较大,请选手注意。

第一行一个整数 n (1 ≤ n ≤ 106)

第二行 n 个整数表示数组 {an} (1 ≤ ai ≤ n),其中 ai 表示以 i 结尾的最长上升子序列的长度。

一行 n 个整数表示排列 p ,如果无解,则输出  - 1

Input

第一行一个整数 n (1 ≤ n ≤ 106)

第二行 n 个整数表示数组 {an} (1 ≤ ai ≤ n),其中 ai 表示以 i 结尾的最长上升子序列的长度。

Output

一行 n 个整数表示排列 p ,如果无解,则输出  - 1

5
1 2 2 3 3
7
1 1 2 1 4 4 4
1 5 2 4 3
-1