#include <bits/stdc++.h>
using namespace std;
long long x[5001], a[5001], b[5001], c[5001], d[5001];
int nxt[5001];
long long cost(int i, int j) {
  if (j > i) return abs(x[i] - x[j]) + d[i] + a[j];
  return abs(x[i] - x[j]) + c[i] + b[j];
}
int main() {
  int i, j, n, s, e;
  scanf("%d%d%d", &n, &s, &e);
  for (i = 1; i <= n; i++) scanf("%lld", &x[i]);
  for (i = 1; i <= n; i++) scanf("%lld", &a[i]);
  for (i = 1; i <= n; i++) scanf("%lld", &b[i]);
  for (i = 1; i <= n; i++) scanf("%lld", &c[i]);
  for (i = 1; i <= n; i++) scanf("%lld", &d[i]);
  long long ans = cost(s, e);
  nxt[s] = e;
  for (i = 1; i <= n; i++) {
    if (i != s && i != e) {
      long long res = 1e18;
      int ind = -1;
      int vert = s;
      for (; vert != e; vert = nxt[vert]) {
        long long aux =
            cost(vert, i) + cost(i, nxt[vert]) - cost(vert, nxt[vert]);
        if (aux < res) {
          res = aux;
          ind = vert;
        }
      }
      nxt[i] = nxt[ind];
      nxt[ind] = i;
      ans += res;
    }
  }
  printf("%lld\n", ans);
  return 0;
}
