
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
const int N = 1e4 + 10;
const int mod = 1e9 + 7;
int n;
int a[N],dp[N];
void solve(){
cin >> n;
dp[0] = 1;
for(int i = 1; i <= n ; i ++) cin >> a[i];
for(int i = 1; i <= n ; i ++){
int mx = a[i], mn = a[i];
for(int j = i; j >= 1 ; j --){
mx = max(mx,a[j]), mn = min(mn,a[j]);
if(mx - mn + 1 == i - j + 1)
dp[i] = (dp[i] + dp[j-1]) % mod;
}
}
cout << dp[n];
}
signed main(){
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int _ = 1;
while(_--) solve();
return 0;
}