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)