#include <bits/stdc++.h>
using namespace std;
const int N = 5 * 1e3 + 10;
const long long INF = 0x3f3f3f3f3f3f3f3f;
int cas = 1, T;
long long x[N], a[N], b[N], c[N], d[N];
long long dis(int i, int j) {
  if (j < i)
    return abs(x[i] - x[j]) + c[i] + b[j];
  else
    return abs(x[i] - x[j]) + d[i] + a[j];
}
int n, s, e, ne[N];
int main() {
  scanf("%d%d%d", &n, &s, &e);
  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);
  long long sumc = dis(s, e);
  ne[s] = e;
  ne[e] = 0;
  for (int i = 1; i <= n; i++) {
    if (i == s || i == e) continue;
    long long minc = INF;
    int idx;
    for (int j = s; j != e; j = ne[j]) {
      long long cost = sumc - dis(j, ne[j]) + dis(j, i) + dis(i, ne[j]);
      if (cost < minc) {
        minc = cost;
        idx = j;
      }
    }
    ne[i] = ne[idx];
    ne[idx] = i;
    sumc = minc;
  }
  printf("%lld\n", sumc);
  return 0;
}
