#include #include using namespace std; typedef long long LL; const int MOD = 1000000007, I2 = 500000004, I6 = 166666668; LL n, ans; /** * $ans=\frac{1}{6}\left[\binom{n-2}{2}+3\left(\left\lfloor\frac{n-2}{2}\right\rfloor-((n-1)\bmod 3=0)\right)+5\cdot ((n-1)\bmod 3=0 \right]$ */ int main() { // freopen("ygraph.in", "r", stdin); // freopen("ygraph.out", "w", stdout); scanf("%lld", &n); ans = (n - 2) % MOD * ((n - 3) % MOD) % MOD * I2 % MOD; ans = (ans + 3LL * (((n - 2) / 2 - ((n - 1) % 3 == 0)) % MOD)) % MOD; ans = (ans + 5LL * ((n - 1) % 3 == 0)) % MOD; printf("%lld\n", ans * I6 % MOD); return 0; }