众所周知 Kimo·Amnesia·Yami 只有 7 分钟的记忆,但 Yami 仍坚持研究各种问题。现在,他在潜心研究错位排序问题。
一个 1∼n 的排列 pi 是错位的当且仅当对于 ∀i 都有 pi=i。
Yami 发现这个问题有些难度,于是开始尝试暴力枚举... ...
他拿出草稿纸一看,发现上面已经有了一个长度为 n 的数列 {an}。
过了一段时间,Yami 发现了这个数列的两个性质:
- 对于 ∀i 都有 ai=i。
- 若 ai=aj 且 i=j 则必有 ai=aj=0。
这时,Yami 想到了这样一个问题:如果把数列 {an} 中所有的 0 换成 1∼n 中的其他数字,有多少不同的方法使得改变后的 {an} 是一个 1∼n 的错位排列?
两个改变后的序列 {an} 与 {an′} 是不同的当且仅当 ∃i 使得 ai=ai′。
由于答案可能很大,请输出答案除 109+7 后的余数即可。