最值区间计数
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述


计算长度为  的所有排列中所有最大值为 且最小值为 的子区间个数,对  取模。

也就是计算



其中 是长度为 的全排列。
其中  代表艾弗森括号,即: 若  成立,取值为 ,否则为 

输入描述:

第一行给定一个正整数  

输出描述:

对于每组数据输出答案对  取模。
示例1

输入

复制
2

输出

复制
2

说明

所有排列为 ,子区间只有 [1,2],[2,1] 满足条件
示例2

输入

复制
4

输出

复制
60