fork download
  1. #include <cstdio>
  2. using namespace std;
  3.  
  4. typedef long long LL;
  5. const int MOD = 1000000007;
  6.  
  7. int a[100005];
  8. int r[100005];
  9.  
  10. int main(){
  11. a[1]=a[2]=0;
  12. r[1]=a[3]=1;
  13. for(int i=4;i<100005;i++){
  14. int x=i-2;
  15. r[x]=r[MOD%x]*LL(MOD-MOD/x)%MOD;
  16. int aa=(i-2ll)*i%MOD*a[i-1]%MOD;
  17. int bb=(a[i-2]*LL(i)+(i&1?4:MOD-4))%MOD;
  18. a[i]=LL(aa+bb)*r[x]%MOD;
  19. }
  20. for(int n;scanf("%d",&n)==1;printf("%d\n",a[n]));
  21. }
  22.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty