#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ii = pair<ll, ll>;
const int N = 5010;
const ll oo = 1e16;
int n, s, e;
ll x[N], a[N], b[N], c[N], d[N];
ll dp[N][N];
ll DP(int i, int j) {
  if (i > n) return j == 1 ? 0 : oo;
  ll &ret = dp[i][j];
  if (ret != -1) return ret;
  ret = oo;
  int lr = (s < i) + (e < i);
  if (i == s) {
    int choices = (e < s ? j - 1 : j);
    if (i == n)
      ret = min(ret, c[i] + DP(i + 1, j));
    else if (choices)
      ret =
          min(ret, (2 * j - lr - 1) * (x[i + 1] - x[i]) + c[i] + DP(i + 1, j));
    ret = min(ret,
              (2 * j - lr + 1) * (x[i + 1] - x[i]) + d[i] + DP(i + 1, j + 1));
    return ret;
  }
  if (i == e) {
    int choices = (s < e ? j - 1 : j);
    if (i == n)
      ret = min(ret, a[i] + DP(i + 1, j));
    else if (choices)
      ret =
          min(ret, (2 * j - lr - 1) * (x[i + 1] - x[i]) + a[i] + DP(i + 1, j));
    ret = min(ret,
              (2 * j - lr + 1) * (x[i + 1] - x[i]) + b[i] + DP(i + 1, j + 1));
    return ret;
  }
  ret = min(ret, (2 * j - lr + 2) * (x[i + 1] - x[i]) + b[i] + d[i] +
                     DP(i + 1, j + 1));
  if (j - (s < i) > 0)
    ret =
        min(ret, (2 * j - lr) * (x[i + 1] - x[i]) + c[i] + b[i] + DP(i + 1, j));
  if (j - (e < i) > 0)
    ret =
        min(ret, (2 * j - lr) * (x[i + 1] - x[i]) + a[i] + d[i] + DP(i + 1, j));
  if ((i == n && j >= 2) || (j - lr > 0 && j >= 2))
    ret = min(ret, (2 * j - lr - 2) * (x[i + 1] - x[i]) + a[i] + c[i] +
                       DP(i + 1, j - 1));
  return ret;
}
int main() {
  scanf("%d %d %d", &n, &s, &e);
  for (int i = 1; i <= n; i++) scanf("%lld", &x[i]);
  x[n + 1] = x[n];
  for (int i = 1; i <= n; i++) scanf("%lld", &a[i]);
  for (int i = 1; i <= n; i++) scanf("%lld", &b[i]);
  for (int i = 1; i <= n; i++) scanf("%lld", &c[i]);
  for (int i = 1; i <= n; i++) scanf("%lld", &d[i]);
  if (n == 2) {
    if (s == 1)
      printf("%lld\n", abs(x[1] - x[2]) + d[1] + a[2]);
    else
      printf("%lld\n", abs(x[2] - x[1]) + c[2] + b[1]);
    return 0;
  }
  memset(dp, -1, sizeof dp);
  printf("%lld\n", DP(1, 0));
  return 0;
}
