#include <bits/stdc++.h>
using namespace std;
const int MXN = 5e3 + 100;
const long long INF = 1e15;
int x[MXN], a[MXN], b[MXN], c[MXN], d[MXN];
long long f[2][MXN][2][2];
int main(int argc, const char* argv[]) {
  int n, s, e;
  long long ans = INF;
  scanf("%d%d%d", &n, &s, &e);
  for (int i = 1; i <= n; i++) scanf("%d", &x[i]);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
  for (int i = 1; i <= n; i++) scanf("%d", &c[i]);
  for (int i = 1; i <= n; i++) scanf("%d", &d[i]);
  memset(f[0], 0x7f, sizeof(f[0]));
  f[0][0][0][0] = 0;
  for (int i = 0; i < n; i++) {
    memset(f[~i & 1], 0x7f, sizeof(f[~i & 1]));
    for (int j = 0; j <= i; j++) {
      for (int k = 0; k <= 1; k++) {
        for (int l = 0; l <= 1; l++) {
          if (f[i & 1][j][k][l] >= INF) continue;
          if (s != i + 1 && e != i + 1) {
            if (j >= 2 || k && j || l && j)
              f[~i & 1][j - 1][k][l] =
                  min(f[~i & 1][j - 1][k][l],
                      f[i & 1][j][k][l] + x[i + 1] * 2 + a[i + 1] + c[i + 1]);
            if (j || l)
              f[~i & 1][j][k][l] = min(f[~i & 1][j][k][l],
                                       f[i & 1][j][k][l] + b[i + 1] + c[i + 1]);
            if (j || k)
              f[~i & 1][j][k][l] = min(f[~i & 1][j][k][l],
                                       f[i & 1][j][k][l] + d[i + 1] + a[i + 1]);
            f[~i & 1][j + 1][k][l] =
                min(f[~i & 1][j + 1][k][l],
                    f[i & 1][j][k][l] - x[i + 1] * 2 + b[i + 1] + d[i + 1]);
            if (i == n - 1 && j == 0 && k && l)
              ans = min(ans,
                        f[i & 1][j][k][l] + x[i + 1] * 2 + a[i + 1] + c[i + 1]);
          } else if (s == i + 1) {
            if (j)
              f[~i & 1][j - 1][1][l] =
                  min(f[~i & 1][j - 1][1][l],
                      f[i & 1][j][k][l] + x[i + 1] + c[i + 1]);
            if (i == n - 1 && l && j == 0)
              ans = min(ans, f[i & 1][j][k][l] + x[i + 1] + c[i + 1]);
            f[~i & 1][j][1][l] = min(f[~i & 1][j][1][l],
                                     f[i & 1][j][k][l] - x[i + 1] + d[i + 1]);
          } else {
            if (j)
              f[~i & 1][j - 1][k][1] =
                  min(f[~i & 1][j - 1][k][1],
                      f[i & 1][j][k][l] + x[i + 1] + a[i + 1]);
            if (i == n - 1 && k && j == 0)
              ans = min(ans, f[i & 1][j][k][l] + x[i + 1] + a[i + 1]);
            f[~i & 1][j][k][1] = min(f[~i & 1][j][k][1],
                                     f[i & 1][j][k][l] - x[i + 1] + b[i + 1]);
          }
        }
      }
    }
  }
  printf("%I64d\n", ans);
  return 0;
}
