#include <bits/stdc++.h>
using namespace std;
long long t[100005], dp[100005];
long long n, md = 1000000007;
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> t[i];
  }
  memset(dp, 0, sizeof dp);
  for (int i = 1; i <= n + 1; i++) {
    dp[i + 1] = (2 * dp[i] + 2 - dp[t[i]] + md) % md;
  }
  cout << dp[n + 1];
  return 0;
}
