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

题目描述

大白熊给了小苯一个长度为 n 的数组 a,他希望小苯将数组 a 变成有序(非递减)的。具体的,小苯需要进行如下操作:

   1. 任选一个数组 b,长度也为 n,且元素满足:-10^{10} \leq b_i \leq 10^{10}
   2. 对于所有 1 \leq i \leq n,都执行 a_i = a_i + b_i

大白熊希望在执行完操作后 a 数组满足有序,同时要最小化数组 b 的极差,即使得:max(b_1, b_2, ..., b_n) - min(b_1, b_2,...,b_n)最小 。
请你帮小苯找出一个合法的 b 数组吧。

注:如有多解输出任意即可。

输入描述:

输入包含两行。
第一行一个正整数 n(1\leq n \leq 2\times 10^5),表示 a 的长度。
第二行 n 个整数 a_i(-10^9\leq a_i \leq 10^9),表示数组 a 的元素。

输出描述:

输出包含一行 n 个整数,表示构造出的 b 数组(有多解输出任意即可)。
如果找不到合法的 b 数组,请输出一个整数 -1
示例1

输入

复制
2
1 2

输出

复制
114514 114514

说明

可以构造 b = [114514, 114514],这样 b 的极差为 0,可以证明不存在比 0 更小的极差。

备注:

数组的极差 = 数组中的最大值减去最小值。