#include <bits/stdc++.h>
using namespace std;
int a[1009];
long long int dis[1009];
int main() {
  memset(dis, 0, sizeof(dis));
  int n;
  scanf("%d", &n);
  for (int i = int(0); i <= int(n - 1); i++) {
    scanf("%d", &a[i]);
    a[i]--;
  }
  for (int i = int(0); i <= int(n - 1); i++) {
    for (int j = int(a[i]); j <= int(i - 1); j++) {
      dis[i] += dis[j];
      dis[i] %= 1000000007;
    }
    dis[i] += 2;
    dis[i] %= 1000000007;
  }
  long long int ans = 0;
  for (int i = int(0); i <= int(n - 1); i++) {
    ans += dis[i];
    ans %= 1000000007;
  }
  printf("%lld\n", ans);
  return 0;
}
