#include <bits/stdc++.h>
using namespace std;
int n, s, e;
long long a[5001], b[5001], c[5001], d[5001], p[5001];
int nxt[5001];
long long ans;
long long to(int x, int y) {
  if (x > y)
    return abs(p[x] - p[y]) + c[x] + b[y];
  else
    return abs(p[x] - p[y]) + d[x] + a[y];
}
int main() {
  scanf("%d%d%d", &n, &s, &e);
  for (int i = 1; i <= n; i++) scanf("%lld", p + 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);
  nxt[s] = e;
  ans = to(s, e);
  for (int i = 1; i <= n; i++) {
    if (i == s || i == e) continue;
    int w = 0;
    long long res = 1000000000000;
    for (int j = s; j != e; j = nxt[j]) {
      int k = nxt[j];
      long long t = to(j, i) + to(i, k) - to(j, k);
      if (t < res) {
        res = t;
        w = j;
      }
    }
    ans += res;
    int k = nxt[w];
    nxt[w] = i;
    nxt[i] = k;
  }
  printf("%lld", ans);
  return 0;
}
