#include #define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define endl "\n" #define rep(i, n) for(int i = 0; i < (int)(n); i++) #define rrep(i, n) for(int i = ((int)(n)-1); i >= 0; i--) #define all(x) (x).begin(),(x).end() using namespace std; using ll = long long; typedef vector vi; typedef vector vvi; typedef pair P; const int INF = 1e9; //const ll INF = 1e18; const double EPS = 1e-10; const int MOD = 1e9+7; const double PI = acos(-1.0); int main() { int n; cin >> n; ll comb[n+10][n+10] = {}; for(int i = 0; i < n; i++) cin >> comb[1][i]; for(int i = 2; i <= n; i++){ for(int j = 0; j <= n-i; j++){ comb[i][j] = comb[i-1][j] + comb[i-1][j+1]; comb[i][j] %= MOD; //cout << comb[i][j] << ' '; } //cout << endl; } ll ans = 0; for(int i = 0; i < n; i++){ ans += comb[n][i]; ans %= MOD; } cout << ans << endl; return 0; }