机场安检通道前排着 n 位旅客。从队尾到队头依次编号为 1, 2, \dots, n:第 1 位旅客站在队尾,第 n 位旅客站在队头最靠近安检口。第 i 位旅客的年龄是 a_i(年龄可能相同)。
如果某位旅客前面(编号比他大、离安检口更近)站着**年龄严格更小**的人,他就会感到不快;而且这个"更年轻的人"离他越远,他的不快程度越高。
定义第 i 位旅客的**不快度**为:在他与"他前方所有比他年轻的旅客中离他最远的那一位"之间,隔着多少位其他旅客。也就是说,若存在 j > i 使 a_j < a_i,设其中最大的 j,则不快度为 j - i - 1;若前方没有严格更年轻的人,不快度为 -1。
请依次输出每位旅客的不快度。
第一行一个整数 n。
第二行 n 个整数 a_1, a_2, \dots, a_n。
一行 n 个整数,第 i 个表示第 i 位旅客的不快度。整数之间用空格隔开。
6 10 8 5 3 50 45
2 1 0 -1 0 -1
7 10 4 6 3 2 8 15
4 2 1 0 -1 -1 -1
5 10 3 1 10 11
1 0 -1 -1 -1
样例 1:第 1 位旅客(10 岁)前方比他年轻的最远的人是第 4 位(3 岁),中间隔着第 2,3 两位旅客,不快度 4-1-1=2;第 4 位(3 岁)前方没有人比他更年轻,不快度 -1;第 5 位(50 岁)前方最远的年轻人是第 6 位(45 岁),中间没人,不快度 0。
对于全部数据,保证 2 \le n \le 10^5,1 \le a_i \le 10^9。注意年龄可以重复,但只有**严格**更年轻才算数。
| 20% | 1~5 | 20 | n \le 50 |
| 60% | 6~15 | 40(累计 60) | n \le 3000 |
| 100% | 16~25 | 40(累计 100) | n \le 10^5,a_i \le 10^9 |
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |