#include <bits/stdc++.h>
using namespace std;
const long long INF = (long long)4e10;
const int maxn = 5e3 + 10;
long long x[maxn], a[maxn], b[maxn], c[maxn], d[maxn];
int f[maxn], mi;
long long cost(int i, int j) {
  if (i > j) return x[i] - x[j] + c[i] + b[j];
  return x[j] - x[i] + d[i] + a[j];
}
int main() {
  int n, s, e;
  scanf("%d%d%d", &n, &s, &e);
  s--, e--;
  for (int i = 0; i < n; i++) scanf("%I64d", &x[i]);
  for (int i = 0; i < n; i++) scanf("%I64d", &a[i]);
  for (int i = 0; i < n; i++) scanf("%I64d", &b[i]);
  for (int i = 0; i < n; i++) scanf("%I64d", &c[i]);
  for (int i = 0; i < n; i++) scanf("%I64d", &d[i]);
  f[s] = e;
  long long ans = cost(s, e);
  for (int i = 0; i < n; i++) {
    if (i == s || i == e) continue;
    long long mn = INF;
    for (int j = s; j != e; j = f[j]) {
      long long tmp = cost(j, i) + cost(i, f[j]) - cost(j, f[j]);
      if (tmp < mn) {
        mn = tmp;
        mi = j;
      }
    }
    ans += mn;
    f[i] = f[mi];
    f[mi] = i;
  }
  printf("%I64d\n", ans);
}
