U124115 4305. 【NOIP2015模拟11.3晚】七十和十七

题目背景

#### [题解](https://www.cnblogs.com/wondering-world/p/13396446.html)

题目描述

有如下排序算法: 首先从左往右扫描每个相邻数对。如果这两个数对是逆序的,则将第二个(也就是**小**的那个)放到整个排列的开头,其它的数不变。每执行一次操作,计数器就加一。 如果没有逆序的相邻数对,则证明已经排序完毕。算法终止。 但是,神%们认为这个算法太慢。所以,请算算: 设 $f(P)$为对于所有长度为$n$的排列$P$,那么: ### $E_n = \tfrac{\sum f(P)}{n!}$ 如果有 ### $E_n = \tfrac{a}{b}$, 那么求一个数$c$, 使得 ### $bc \equiv a \quad (mod 10^9 + 7)$ 若$c$不存在,输出$-1$。

输入格式

一个正整数 $n$。

输出格式

一个整数$c$。

说明/提示

对于$20\%$的数据, $n \le 8$。 对于$40\%$的数据,$n \le 40$。 对于$60\%$的数据, $n \le 200$。 对于$100\%$的数据, $n \le 10^5$。 ![nmlgb](https://s1.ax1x.com/2020/07/29/aZWoNR.png)