// // main.cpp // C // // Created by 黄宇凡 on 16/4/22. // Copyright © 2016年 黄宇凡. All rights reserved. // #include #include #include #include using namespace std; const int mod = 1e9 + 7; const int maxn = 1000005; long long a[maxn]; long long mod_pow(long long a,long long x){ long long res = 1; while(x > 0){ if(x & 1) res = res * a % mod; a = a * a % mod; x >>= 1; } return res; } int main(int argc, const char * argv[]) { int T; cin >> T; a[1] = 1,a[2] = 2; for(int i = 3;i < maxn;i++){ a[i] = ((2 * i + 1) * a[i - 1] + 3 * (i - 1) * a[i - 2]) % mod * mod_pow(i + 2,mod - 2) % mod; } while(T--){ int n; cin >> n; cout << a[n] << endl; } return 0; }