dp[0][0] = 1; for(int i = 1; i < N; ++ i) { dp[i][i] = 1; } for(int i = 1; i < N; ++ i) { for(int j = 1; j < i; ++ j) { dp[i][j] = (j * dp[i - 1][j] + dp[i - 1][j - 1]) % mod; } }