#include <iostream> #include <algorithm> #include <map> #include <set> #include <queue> #include <stack> #include <numeric> #include <bitset> #include <cmath> static const int MOD = 1000000007; using ll = long long; using u32 = unsigned; using u64 = unsigned long long; using namespace std; template<class T> constexpr T INF = ::numeric_limits<T>::max()/32*15+208; int main() { int n; cin >> n; vector<int> v(n); for (auto &&j : v) scanf("%d", &j); for (int i = 0; i < n; ++i) { for (int j = 0; j < n-i-1; ++j) { v[j] = (v[j]+v[j+1])%MOD; } } cout << v[0] << "\n"; return 0; }