小红模5
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红定义一个排列的权值为:
\hspace{23pt} \bullet 从左到右将所有元素拼接之后,得到的新整数对  取模的值。
\hspace{15pt}小红想知道长为  的所有排列的权值之和,请你帮帮他。由于结果可能很大,请将答案对 1000000007 取模后输出。

【名词解释】
\hspace{15pt}排列:长度为 n 的排列是由 1,2,\dots,n 这 n 个整数、按任意顺序组成的数组(每个整数均恰好出现一次)。例如,\{2,3,1,5,4\} 是一个长度为 5 的排列,而 \{1,2,2\} 和 \{1,3,4\} 都不是排列,因为前者存在重复元素,后者包含了超出范围的数。

输入描述:

\hspace{15pt}第一行输入一个整数 

输出描述:

\hspace{15pt}输出一个整数,代表答案对 1000000007 取模后的值。
示例1

输入

复制
3

输出

复制
12

说明

长为  的排列拼接而成的数有:,对  取模的值之和为 
示例2

输入

复制
114514

输出

复制
301557575