#include #include #include int main(void){ unsigned long long n; scanf("%llu",&n); if(n>=1000000007){ printf("0\n"); return 0; } unsigned long long a[100000]; a[0]=1;a[1]=1; int m=1; int i=2,j=2,kai=1; while(i<=n){ if(j!=0){ a[j]=(a[j-1]*i)%1000000007; }else{ a[j]=(a[99999]*i)%1000000007; } i++; j++; if(j==100000){ j=0; } } printf("%llu\n",a[j-1]); return 0; }