#include <bits/stdc++.h>
const int MAX_N = 5123;
const long long int inf = (long long int)1e18 + 123;
using namespace std;
int n, second, first;
int X[MAX_N], a[MAX_N], b[MAX_N], c[MAX_N], d[MAX_N];
long long int dp[2][2][2][MAX_N];
void upd(long long int &a, const long long int &b) { a = min(a, b); }
int main() {
  cin >> n >> second >> first;
  for (int i = 1; i <= n; i++) cin >> X[i];
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 1; i <= n; i++) cin >> b[i];
  for (int i = 1; i <= n; i++) cin >> c[i];
  for (int i = 1; i <= n; i++) cin >> d[i];
  for (int x = 0; x < 2; x++)
    for (int y = 0; y < 2; y++)
      for (int j = 0; j <= n; j++) dp[0][x][y][j] = inf;
  dp[0][0][0][0] = 0;
  long long int ans = inf;
  for (int i = 1, now = 1; i <= n; i++, now ^= 1) {
    for (int x = 0; x < 2; x++)
      for (int y = 0; y < 2; y++)
        for (int j = 0; j <= n; j++) dp[now][x][y][j] = inf;
    for (int x = 0; x < 2; x++)
      for (int y = 0; y < 2; y++)
        for (int j = 0; j <= i; j++) {
          if (dp[now ^ 1][x][y][j] == inf) continue;
          long long int val = dp[now ^ 1][x][y][j];
          if (i == second) {
            assert(x == 0);
            upd(dp[now][1][y][j], val - X[i] + d[i]);
            if (j) upd(dp[now][1][y][j - 1], val + X[i] + c[i]);
            if (i == n && j == 0 && y == 1) upd(ans, val + X[i] + c[i]);
          } else if (i == first) {
            assert(y == 0);
            upd(dp[now][x][1][j], val - X[i] + b[i]);
            if (j) upd(dp[now][x][1][j - 1], val + X[i] + a[i]);
            if (i == n && j == 0 && x == 1) upd(ans, val + X[i] + a[i]);
          } else {
            if (x || j) upd(dp[now][x][y][j], val + a[i] + d[i]);
            if (y || j) upd(dp[now][x][y][j], val + b[i] + c[i]);
            if (j > 1 || (x && j) || (y && j))
              upd(dp[now][x][y][j - 1], val + 2ll * X[i] + a[i] + c[i]);
            upd(dp[now][x][y][j + 1], val - 2ll * X[i] + b[i] + d[i]);
            if (i == n && x == 1 && y == 1 && j == 0)
              upd(ans, val + 2ll * X[i] + a[i] + c[i]);
          }
        }
  }
  assert(ans != inf);
  cout << ans;
  return 0;
}
