#include using namespace std; int m_pow(int p, int mod) { if (p == 0) { return 1; } return (2 * m_pow(p - 1, mod)) % mod; } int main(){ int mod = 1e9 + 7; int n; cin >> n; vector m(n); vector len(n); cin >> m[0]; len[0] = 1; for(int i = 1; i < n; i++) { cin >> m[i]; if (m[i] > m[i - 1]) { len[i] = len[i - 1] + 1; } else { len[i] = 1; } } int ans = 1; for (int i = n - 1; i >= 0; i -= len[i]) { ans *= m_pow(len[i] - 1, mod); ans %= mod; } cout << ans; return 0; }