#include <bits/stdc++.h>
using namespace std;
const int N = 5555;
int a[N], b[N], c[N], d[N], x[N];
long long f(int i, int j) {
  return 1LL * abs(x[i] - x[j]) + (j < i ? c[i] + b[j] : a[j] + d[i]);
}
int main() {
  ios::sync_with_stdio(0);
  int n, st, en;
  cin >> n >> st >> en;
  st--, en--;
  for (int i = 0; i < n; i++) {
    cin >> x[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> b[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> c[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> d[i];
  }
  vector<int> nodes;
  nodes.push_back(st), nodes.push_back(en);
  long long ans = f(st, en) + f(en, st);
  for (int i = 0; i < n; i++)
    if (i != st && i != en) {
      long long mi = LLONG_MAX;
      int idx = -1;
      for (int j = 0; j < nodes.size() - 1; j++) {
        long long res = ans;
        res -= f(nodes[j], nodes[(j + 1)]);
        res += f(nodes[j], i) + f(i, nodes[(j + 1)]);
        if (res < mi) {
          mi = res;
          idx = j;
        }
      }
      nodes.insert(nodes.begin() + idx + 1, i);
      ans = mi;
    }
  cout << ans - f(en, st) << endl;
  return 0;
}
