1 typedef long long ll;
2 typedef pair<int,int> P;
3 #define _for(i,a,b) for(register int i = (a);i < b;i ++)
4 #define _rep(i,a,b) for(register int i = (a);i > b;i --)
5 #define INF 0x3f3f3f3f
6 #define MOD 1000000007
7 #define maxn 10003
8
9 class Solution
10 {
11 public:
12 ll dp[5][20003];
13 int countVowelPermutation(int n)
14 {
15 dp[0][1] = dp[1][1] = dp[2][1] = dp[3][1] = dp[4][1] = 1;
16 _for(i,2,n+1)
17 {
18 dp[0][i] += dp[1][i-1]+dp[2][i-1]+dp[4][i-1];
19 dp[1][i] += dp[0][i-1]+dp[2][i-1];
20 dp[2][i] += dp[1][i-1]+dp[3][i-1];
21 dp[3][i] += dp[2][i-1];
22 dp[4][i] += dp[2][i-1]+dp[3][i-1];
23 _for(j,0,5)
24 dp[j][i] %= MOD;
25 }
26 int ans = 0;
27 _for(i,0,5)
28 ans += dp[i][n],ans %= MOD;
29 return ans;
30 }
31 };