游游的矩阵权值
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

游游定义一个矩阵权值为:每一对相邻元素之和的总和。
例如,对于矩阵:
1 2
3 4
它的权值是(1+2)+(1+3)+(2+4)+(3+4)=3+4+6+7=20。
游游希望你构造一个n*n的矩阵,矩阵中的元素为1到n^2且每个数恰好出现一次。她希望最终矩阵的权值尽可能大。你能帮帮她吗?由于矩阵可能过大,你不需要输出最终的矩阵,只需要输出这个最大权值即可。答案对10^9+7取模。

输入描述:

一个正整数n
2\leq n \leq 10^9

输出描述:

矩阵的最大权值,对10^9+7取模。
示例1

输入

复制
2

输出

复制
20
示例2

输入

复制
3

输出

复制
134