#include <bits/stdc++.h>
using namespace std;
int n, tab[1007], odw[1007], poz;
long long ile, mod = 1000000007, pom, dl_cyklu[1007];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &tab[i]);
  }
  for (int i = 1; i <= n; i++) {
    if (tab[i] == i)
      dl_cyklu[i] = 1;
    else {
      pom = 1;
      poz = tab[i];
      while (poz < i) {
        pom += dl_cyklu[poz] + 1;
        pom %= mod;
        poz++;
      }
      dl_cyklu[i] = pom;
    }
    ile += dl_cyklu[i] + 1;
    ile %= mod;
  }
  printf("%lld", ile);
  return 0;
}
