#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e18;
const long long MAXN = 5010;
long long N, S, E, x[MAXN], a[MAXN], b[MAXN], c[MAXN], d[MAXN], dp[MAXN][MAXN];
bool checkLeft(long long j, long long k) {
  if (S < E) {
    if (k > 1)
      return j > 1;
    else
      return j > 0;
  } else {
    if (k > 0)
      return j > 1;
    else
      return j > 0;
  }
}
bool checkRight(long long j, long long k) {
  if (S > E) {
    if (k > 1)
      return j > 1;
    else
      return j > 0;
  } else {
    if (k > 0)
      return j > 1;
    else
      return j > 0;
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> N >> S >> E;
  for (long long i = 1; i <= N; i++) cin >> x[i];
  for (long long i = 1; i <= N; i++) cin >> a[i];
  for (long long i = 1; i <= N; i++) cin >> b[i];
  for (long long i = 1; i <= N; i++) cin >> c[i];
  for (long long i = 1; i <= N; i++) cin >> d[i];
  long long k = 0;
  for (long long i = 0; i <= N; i++)
    for (long long j = 0; j <= N; j++) dp[i][j] = INF;
  dp[0][0] = 0;
  for (long long i = 1; i <= N; i++) {
    for (long long j = 0; j < N; j++) {
      if (dp[i - 1][j] == INF) continue;
      if (i == S) {
        dp[i][j + 1] = min(dp[i][j + 1], dp[i - 1][j] - x[i] + d[i]);
        if (checkLeft(j, k) || (i == N && j > 0))
          dp[i][j] = min(dp[i][j], dp[i - 1][j] + x[i] + c[i]);
      } else if (i == E) {
        dp[i][j + 1] = min(dp[i][j + 1], dp[i - 1][j] - x[i] + b[i]);
        if (checkRight(j, k) || (i == N && j > 0))
          dp[i][j] = min(dp[i][j], dp[i - 1][j] + x[i] + a[i]);
      } else {
        dp[i][j + 1] = min(dp[i][j + 1], dp[i - 1][j] - 2 * x[i] + b[i] + d[i]);
        if (checkRight(j, k))
          dp[i][j] = min(dp[i][j], dp[i - 1][j] + b[i] + c[i]);
        if (checkLeft(j, k))
          dp[i][j] = min(dp[i][j], dp[i - 1][j] + a[i] + d[i]);
        if (j >= 2 && (j > k || i == N)) {
          dp[i][j - 1] =
              min(dp[i][j - 1], dp[i - 1][j] + 2 * x[i] + a[i] + c[i]);
        }
      }
    }
    if (i == S || i == E) k++;
  }
  cout << dp[N][1] << '\n';
}
