#include <bits/stdc++.h>
using namespace std;
const int N = 5010;
int n, s, e;
int p, q;
int pre[N], suc[N], vis[N];
long long x[N], a[N], b[N], c[N], d[N];
long long ans = 0;
long long calc(int i, int j) {
  if (i == j) return 0;
  return (i > j) ? (abs(x[i] - x[j]) + c[i] + b[j])
                 : (abs(x[i] - x[j]) + a[j] + d[i]);
}
int main() {
  scanf("%d%d%d", &n, &s, &e);
  for (int i(1); i <= (n); ++i) scanf("%lld", x + i);
  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);
  memset(pre, -1, sizeof pre);
  memset(suc, -1, sizeof suc);
  pre[s] = 0;
  suc[s] = e;
  pre[e] = s;
  suc[e] = n + 1;
  ans = calc(s, e);
  vis[s] = vis[e] = 1;
  for (int i(1); i <= (n); ++i)
    if (!vis[i]) {
      long long cnt = 1e18;
      int st, ed;
      for (int u = s; u ^ e; u = suc[u]) {
        int p = u, q = suc[u];
        if (cnt > calc(p, i) + calc(i, q) - calc(p, q)) {
          st = p, ed = q;
          cnt = calc(p, i) + calc(i, q) - calc(p, q);
        }
      }
      ans += cnt;
      suc[st] = i;
      pre[ed] = i;
      pre[i] = st;
      suc[i] = ed;
    }
  printf("%lld\n", ans);
  return 0;
}
