#include <bits/stdc++.h>
using namespace std;
void load() {}
const int N = 5100;
int a[10][N], Next[N];
long long dis[N][N];
void trungtt() {
  int n, s, t;
  scanf("%d%d%d", &n, &s, &t);
  for (int i = 1; i <= 5; ++i)
    for (int j = 1; j <= n; ++j) scanf("%d", &a[i][j]);
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j)
      if (i != j) {
        dis[i][j] = abs(a[1][i] - a[1][j]);
        if (i < j)
          dis[i][j] += (a[5][i] + a[2][j]);
        else
          dis[i][j] += (a[4][i] + a[3][j]);
      }
  Next[s] = t;
  long long ans = dis[s][t];
  for (int i = 1; i <= n; ++i) {
    if (i == s || i == t) continue;
    long long mx = 1e18;
    int v = 0;
    for (int j = s; j != t; j = Next[j])
      if (dis[j][i] + dis[i][Next[j]] - dis[j][Next[j]] < mx)
        mx = dis[j][i] + dis[i][Next[j]] - dis[j][Next[j]], v = j;
    int tmp = Next[v];
    Next[v] = i;
    Next[i] = tmp;
    ans += mx;
  }
  printf("%lld", ans);
}
int main() {
  load();
  trungtt();
  return 0;
}
