from collections import defaultdict,deque
import sys,heapq,bisect,math,itertools,string,queue,datetime
sys.setrecursionlimit(10**8)
INF = float('inf')
mod = 10**9+7
eps = 10**-7
def inpl(): return list(map(int, input().split()))
def inpl_s(): return list(input().split())

N = int(input())
aite = 1
for i in range(1,N+1):
	aite *= i
	aite %= mod


dp = [0]*(N+1)
dp[1] = 1

tmp = 1
for i in range(2,N+1):
	tmp += 4*i-3
	tmp %= mod
	dp[i] = (dp[i-1]*tmp) %mod

print(dp[N]*aite%mod)