#690. Arrival of the General

Arrival of the General

有一个国防部派来的将军,负责检查由超人上校指挥的超级秘密军事队。得知消息后,上校命令所有 nn 名士兵排队站好。

根据军事条令,士兵应当按身高的非递增顺序排列。但因为时间紧迫,士兵们站成了任意的顺序。然而,将军视力不太好,他认为站成正确队形的标准是:队伍中的第一个士兵身高最大,而最后一个士兵身高最小。其他士兵的排列顺序不重要,包括那些身高相同的士兵。

例如,士兵的身高顺序是 (4,3,4,2,1,1)(4, 3, 4, 2, 1, 1),将军认为这是正确的;而身高顺序是 (4,3,1,2,2)(4, 3, 1, 2, 2),将军认为这是错误的。

在一秒钟内,上校可以交换任何两个相邻的士兵。请帮助上校计算出将士兵排列成将军认为正确的队形所需的最少时间。

输入

  • 第一行包含一个整数 nn (2n1002 \leq n \leq 100),表示队伍中士兵的数量。
  • 第二行包含 nn 个整数 a1,a2,...,ana_1, a_2, ..., a_n (1ai1001 \leq a_i \leq 100),表示士兵们的身高。身高按照从队伍开始到队伍末尾的顺序依次给出,数值之间以空格分隔。

输出

输出一个整数,表示将士兵排列成将军喜欢的队形所需的最少时间(即交换次数)。

样例 1

输入:

4
33 44 11 22

输出:

2

样例 2

输入:

7
10 10 58 31 63 40 76

输出:

10

说明

  • 在样例1中,上校需要交换第一个和第二个士兵,然后交换第三个和第四个士兵。这将花费2秒。最终的士兵顺序为 (44,33,22,11)(44, 33, 22, 11)

  • 在样例2中,上校可以按以下顺序交换士兵:

    1. (10,10,58,31,63,40,76)(10, 10, 58, 31, 63, 40, 76)
    2. (10,58,10,31,63,40,76)(10, 58, 10, 31, 63, 40, 76)
    3. (10,58,10,31,63,76,40)(10, 58, 10, 31, 63, 76, 40)
    4. (10,58,10,31,76,63,40)(10, 58, 10, 31, 76, 63, 40)
    5. (10,58,31,10,76,63,40)(10, 58, 31, 10, 76, 63, 40)
    6. (10,58,31,76,10,63,40)(10, 58, 31, 76, 10, 63, 40)
    7. (10,58,31,76,63,10,40)(10, 58, 31, 76, 63, 10, 40)
    8. (10,58,76,31,63,10,40)(10, 58, 76, 31, 63, 10, 40)
    9. (10,76,58,31,63,10,40)(10, 76, 58, 31, 63, 10, 40)
    10. (76,10,58,31,63,10,40)(76, 10, 58, 31, 63, 10, 40)
    11. (76,10,58,31,63,40,10)(76, 10, 58, 31, 63, 40, 10)