G. 对答案(Bad End 版)

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:Special Judge

题目描述

Pac 今天要考抽象代数。考试有题给了她一个长度为 的整数排列 ,并要求她对每个位置 ,计算出以第 个位置结尾的最长上升子序列的长度 ,从而得到一个序列 。

这里定义以第 位置结尾的最长上升子序列的长度,为满足 的整数序列 中长度 的最大值。

考完以后,Pac 打算问 Bardisk 她算对没有,但 Bardisk 根本没记下答案。于是他打算随便编造一个使得 Pac 的答案是正确的排列 糊弄 Pac。

Bardisk 还赶着去写项目讲义,没时间编造这个排列,请你帮他完成这个任务。如果符合上述条件的序列不存在,请输出 -1 告知 Bardisk。

输入格式

第一行一个整数 。

第二行 个整数表示数组 (),含义如题。

输出格式

一行 个整数表示排列 ,含义如题。

如果无解,输出 -1。

样例

输入样例1

5
1 2 2 3 3

输出样例1

1 5 2 4 3 

输入样例2

7
1 1 2 1 4 4 4

输出样例2

-1

数据范围与提示

对于所有测试点,。所有数字在 int 范围内。