#include <bits/stdc++.h>
using namespace std;
long long a[6000], b[6000], c[6000], d[6000], x[6000];
vector<long long> ans;
long long cost(long long i, long long j) {
  if (i < j) return abs(x[i] - x[j]) + d[i] + a[j];
  return abs(x[i] - x[j]) + c[i] + b[j];
}
int main() {
  long long n, s, e;
  cin >> n >> s >> e;
  for (long long i = 0; i < n; i++) cin >> x[i];
  for (long long i = 0; i < n; i++) cin >> a[i];
  for (long long i = 0; i < n; i++) cin >> b[i];
  for (long long i = 0; i < n; i++) cin >> c[i];
  for (long long i = 0; i < n; i++) cin >> d[i];
  ans.push_back(--s);
  ans.push_back(--e);
  long long sum = 0, pos;
  sum += cost(s, e);
  for (long long i = 0; i < n; i++) {
    long long t = 99999999999, t1;
    if (i != s && i != e) {
      for (long long j = 0; j < ans.size() - 1; j++) {
        t1 = cost(ans[j], i) + cost(i, ans[j + 1]) - cost(ans[j], ans[j + 1]);
        if (t1 < t) {
          t = t1;
          pos = j;
        }
      }
      vector<long long>::iterator it = find(ans.begin(), ans.end(), ans[pos]);
      ans.insert(++it, i);
      sum += t;
    }
  }
  cout << sum << endl;
  return 0;
}
