#include <cstdio>
#include <iostream>
#include <cstring>

using namespace std;

#define MaxN 30005

int arr [ MaxN ];
int N, A, B, C, D, sol;
int perm [ MaxN ];
int novi [ MaxN ];

bool check ( int i, int j ){
  for ( ; i < j; ++i )
    if ( arr[i] != i + 1 )
      return false;
  return true;
}

int main ( void ){
  scanf("%d %d %d %d %d",&N,&A,&B,&C,&D);
  for ( int i = 0; i < N; ++i ){
    scanf("%d",&perm[i]);
    --perm[i];
    arr[i] = i + 1;
  }

  --A;
  int K = B - A;

  for ( int i = 0; i < A; ++i ){
    for ( int j = 0; j < N; ++j )
      novi[j] = arr[perm[j]];
    for ( int j = 0; j < N; ++j )
      arr[j] = novi[j];
  }

  for ( int it = 0; it < K; ++it ){
    sol += check(C,N-D);
    for ( int j = 0; j < N; ++j )
      novi[j] = arr[perm[j]];
    for ( int j = 0; j < N; ++j ){
      arr[j] = novi[j];
    }   
  }

  printf("%d\n",sol);

  return 0;
}

  

  

