// calculate n! mod 1000000007 using dynamic programming #include #include #define MOD 1000000007 int main() { int n; scanf("%d", &n); int *dp = (int *)malloc((n + 1) * sizeof(int)); dp[0] = 1; for (int i = 1; i <= n; i++) { dp[i] = (long long)dp[i - 1] * i % MOD; } printf("%d\n", dp[n]); free(dp); return 0; }