#include <cstdio>
#define MOD 1000000007
long long int n, dtA[101010], dtB[101010];

int main()
{
    for(int prob = 1 ; prob <= 30 ; prob++ )
    {
        char in[110], out[110];
        sprintf(in, ".%d.in", prob); sprintf(out, ".%d.out", prob);
        freopen(in, "r", stdin); freopen(out, "w", stdout);
        scanf("%lld", &n);
        for(int i = 1 ; i <= n ; i++ )
            if( i == 1 ) dtA[i] = 0;
            else dtA[i] = (dtA[i-1] + (i-1))%MOD;
        for(int i = 1 ; i <= n ; i++ )
            if( i < 4 ) dtB[i] = 0;
            else dtB[i] = ((dtB[i-1] + dtB[i-2])%MOD + (i-3)*(i-3))%MOD;
        printf("%lld\n", dtA[n]+dtB[n]+1);
    }
}

