#include <bits/stdc++.h>
using namespace std;
long long otv[1010][1010] = {};
long long mo = 1000 * 1000 * 1000 + 7;
int main() {
  long long a[1010] = {};
  long long n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    a[i]--;
  }
  otv[0][1] = 2;
  long long hod = 2;
  for (int i = 1; i < n; i++) {
    otv[i][i + 1] = (2 + otv[a[i]][i]) % mo;
    for (int j = 0; j < i; j++) {
      otv[j][i + 1] = otv[j][i] + otv[i][i + 1];
      otv[j][i + 1] %= mo;
    }
  }
  cout << otv[0][n];
  return 0;
}
