#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int mxn = 5006;
using ai = ll[mxn];
const ll MXL = 0x3f3f3f3f3f3f3f3fLL;
void minto(ll &a, ll b) { a = min(a, b); }
int n, s, e;
ai x, a, b, c, d;
void input(ll *a) {
  for (int i = 1; i <= n; ++i) scanf("%lld", &a[i]);
}
ll f[mxn][mxn];
int main() {
  cin >> n >> s >> e;
  input(x);
  input(a);
  input(b);
  input(c);
  input(d);
  memset(f, 63, sizeof f);
  f[0][0] = 0;
  int de = 0;
  for (int i = 1; i <= n; ++i) {
    for (int j = 0; j <= n; ++j)
      if (f[i - 1][j] != MXL) {
        int k = j - de;
        if (k < 0 || j < 0) continue;
        if (k == 0 && j == 0 && i > 1) continue;
        if (i == s) {
          minto(f[i][j + 1], (f[i - 1][j]) + (-x[i] + d[i]));
          if (k) minto(f[i][j], (f[i - 1][j]) + (x[i] + c[i]));
        } else if (i == e) {
          minto(f[i][j], (f[i - 1][j]) + (-x[i] + b[i]));
          if (j) minto(f[i][j - 1], (f[i - 1][j]) + (x[i] + a[i]));
        } else {
          minto(f[i][j + 1], (f[i - 1][j]) + (-x[i] + b[i]) + (-x[i] + d[i]));
          if (k && j)
            minto(f[i][j - 1], (f[i - 1][j]) + (x[i] + a[i]) + (x[i] + c[i]));
          if (j) minto(f[i][j], (f[i - 1][j]) + (x[i] + a[i]) + (-x[i] + d[i]));
          if (k) minto(f[i][j], (f[i - 1][j]) + (x[i] + c[i]) + (-x[i] + b[i]));
        }
      }
    if (i == s)
      ++de;
    else if (i == e)
      --de;
  }
  cout << f[n][0] << endl;
  return 0;
}
