Serein 这天在研究全排列问题,对于 个数有 个全排列,但古灵精怪的 Ustinian 问 Serein 能不能对这些排列排个名次。
于是 Serein 定义长为 的排列是一个有 元素的序列,且 内每个整数出现一次且仅一次,例如 是两个长为 的排列。每个排列在所有同长排列里字典序排第几位,就是该排列的排名。 例如对于 时,按字典序列出所有的排列 ,则 的排名为 。
求一个给定排列的排名,可以用康托展开,具体步骤如下:
给定一个排列 ,请你求出它的排名。
输入
输入一行一个整数 。
接下来输入一行 个整数,第 个整数为 。保证 是排列。
输出
输出一行一个整数,代表 的排名。
样例
标准输入 复制文本 |
5 2 5 3 4 1 |
标准输出 复制文本 |
46 |
标准输入 复制文本 |
5 1 2 3 4 5 |
标准输出 复制文本 |
1 |
标准输入 复制文本 |
3 3 2 1 |
标准输出 复制文本 |
6 |
提示
对于样例1,对 ,只有 满足,则 ,故增加 ;对 ,有 满足,则 ,故增加 ;对 ,有 满足,则 ,故增加 ;对 ,也有 满足,则 ,增加 ;对 ,没有满足的,即 ,增加 。故排名为 。