#include #include #include typedef long long ll; const int Mod = 1e9 + 7; int n, motz[1000005]; int qpow(int a, int x) { int ret = 1; while (x) { if (x & 1) ret = 1ll * ret * a % Mod; a = 1ll * a * a % Mod; x >>= 1; } return ret; } void get_motzkin() { motz[1] = 1, motz[2] = 2; for (int i = 3; i <= 1000000; ++i) { int inv = qpow(i + 2, Mod - 2); motz[i] = (1ll * (2 * i + 1) * inv % Mod * motz[i - 1] % Mod + 1ll * (3 * i - 3) * inv % Mod * motz[i - 2] % Mod) % Mod; } } int main() { get_motzkin(); int T; scanf("%d", &T); while (T--) { scanf("%d", &n); printf("%d\n", motz[n]); } return 0; }