#include <bits/stdc++.h>
using namespace std;
int n, st, ed;
int X[5050], a[5050], b[5050], c[5050], d[5050], nxt[5050];
long long aabs(int x) { return x < 0 ? -x : x; }
long long calc(int x, int y) {
  if (x < y)
    return aabs(X[x] - X[y]) + d[x] + a[y];
  else
    return aabs(X[x] - X[y]) + c[x] + b[y];
}
int main() {
  scanf("%d%d%d", &n, &st, &ed);
  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]);
  nxt[0] = st;
  nxt[st] = ed;
  for (int i = 1; i <= n; i++)
    if (i != st && i != ed) {
      long long ma = 0x7f7f7f7f7f7f7f7f, k = 0;
      int p;
      for (int j = nxt[0]; nxt[j]; j = nxt[j])
        if ((k = calc(j, i) + calc(i, nxt[j]) - calc(j, nxt[j])) < ma)
          ma = k, p = j;
      nxt[i] = nxt[p];
      nxt[p] = i;
    }
  long long res = 0;
  for (int i = nxt[0]; nxt[i]; i = nxt[i]) res += calc(i, nxt[i]);
  printf("%I64d\n", res);
  return 0;
}
