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

题目描述

如果一个数组的长度为n,并且1n中的所有数都恰好出现了一次,那么我们称其为一个排列。如是一个排列,而则不是一个排列。
如果在数组P中存在这样的一组 i,j 满足: ,那么称(i,j)是一个顺序对。
对于给定 n ,请求出有多少个排列满足如下条件:
1.长度为 2n 
2.有至少 个顺序对

但这个问题实在太难了,因此DavidXu_JJ决定让它更简单点,他使用某种魔法,把这道题的所有输入的 n 全都改成了奇数。
由于答案可能很大,请输出答案对取模的结果。

输入描述:

输入一行一个整数 ,保证 n 为奇数

输出描述:

输出一行一个整数,表示满足条件的排列数,由于答案可能很大,请对取模
示例1

输入

复制
1

输出

复制
1
示例2

输入

复制
3

输出

复制
360