#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define REP(i, n) for(int i = 0; i < n; ++i) #define REP1(i, a, n) for(int i = a; i <= n; ++i) #define REPD(i, n) for(int i = n; i >= 0; --i) #define clm(m, a) memset(m, a, sizeof(m)) #define e 2.71828182845904523536 #define PI 3.14159265358979323846 #define exp 1e-9 #define fi first #define se second typedef long long ll; typedef unsigned long long llu; typedef pair pii; const int mod = 1000000007; const int maxn = 1e6+5; int ans[maxn]; void init() { ans[0] = ans[1] = 1; ans[2] = 2; REP1(i, 2, 1e6) { ans[i] = (ans[i-1] + (ll)ans[i-2]*(i-1)) % mod; } } int main() { #ifdef LOCAL //freopen("in","r",stdin); #endif init(); int cases, caseno = 0; scanf("%d", &cases); while(cases--) { int n; scanf("%d", &n); printf("Case #%d:\n", ++caseno); printf("%d\n", ans[n]); } return 0; }