#include #define rep(i,n) for(int i=0;i<(n);++i) using namespace std; const int mod = 1000000007; int C[500][500]; void comb(){ C[1][1] = 1; for(int i= 1;i<=499;++i){ for(int j=1;j<=499;++j){ C[i + 1][j] = C[i][j] % mod+ C[i][j - 1] % mod; C[i + 1][j + 1] = C[i][j] % mod + C[i][j + 1] % mod; } } } int main(){ int n; cin >> n; vector A(n); rep(i,n) cin >> A[i]; comb(); vector res = A; auto result = unique(res.begin(),res.end()); res.erase(result,res.end()); if(res.size() == A.size()){ int ans = C[n][3] % mod; cout << ans << endl; return 0; } int sol = 1; for(int i=0;i