#include <bits/stdc++.h>
const long long INF = 1LL << 60;
using namespace std;
long long x[5005], a[5005], b[5005], c[5005], d[5005], n, s, e, ans = 0;
int nxt[5005];
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() {
  cin >> n >> s >> e;
  for (int i = 1; i <= n; i++) cin >> x[i];
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 1; i <= n; i++) cin >> b[i];
  for (int i = 1; i <= n; i++) cin >> c[i];
  for (int i = 1; i <= n; i++) cin >> d[i];
  nxt[s] = e;
  for (int v = 1; v <= n; v++) {
    if (v == s || v == e) continue;
    long long best = INF, best_ind;
    for (int to = s; to != e; to = nxt[to]) {
      long long tmp = cost(to, v) + cost(v, nxt[to]) - cost(to, nxt[to]);
      if (best > tmp) {
        best_ind = to;
        best = tmp;
      }
    }
    nxt[v] = nxt[best_ind];
    nxt[best_ind] = v;
  }
  for (; s != e; s = nxt[s]) ans += cost(s, nxt[s]);
  cout << ans << endl;
}
