#266. 似曾相识燕归来

似曾相识燕归来

题目背景

&%^#)#@(*#%&#$@!#@

题目描述

给出项数为 nn 的整数数列 a1na_{1 \dots n}

定义函数 f(i)f(i) 代表数列中第 ii 个元素之后最后一个大于 aia_i 的元素的下标,即 f(i)=maxi<jn,aj>ai{j}f(i)=\max_{i<j\leq n, a_j > a_i} \{j\}。若不存在,则 f(i)=1f(i)=-1

试求出 f(1n)f(1\dots n)

输入格式

第一行一个正整数 nn

第二行 nn 个正整数 a1na_{1\dots n}

输出格式

一行 nn 个整数表示 f(1),f(2),,f(n)f(1), f(2), \dots, f(n) 的值。(会忽略行末空格和换行)

Samples

6
1 2 1 4 1 2 

6 4 6 -1 6 -1 

提示

【数据规模与约定】

对于 20%20\% 的数据,n15n\leq 15

对于另外 10%10\% 的数据,保证数据随机生成 ;

对于 100%100\% 的数据,1n1×1061 \le n\leq 1\times 10^61ai1091\leq a_i\leq 10^9