#include <bits/stdc++.h>
using namespace std;
long long s, e, dp[2][5009][2][2], n, x[5009], A[5009], B[5009], C[5009],
    D[5009];
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> s >> e;
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 5009; j++) {
      for (int ns = 0; ns < 2; ns++) {
        for (int ne = 0; ne < 2; ne++) {
          dp[i][j][ns][ne] = 10000000000009ll;
        }
      }
    }
  }
  s--;
  e--;
  for (int i = 0; i < n; i++) cin >> x[i];
  for (int i = 0; i < n; i++) {
    cin >> A[i];
    A[i] += x[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> B[i];
    B[i] -= x[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> C[i];
    C[i] += x[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> D[i];
    D[i] -= x[i];
  }
  if (s == 0) {
    dp[0][0][1][0] = D[0];
  } else {
    if (e == 0) {
      dp[0][0][0][1] = B[0];
    } else {
      dp[0][1][0][0] = B[0] + D[0];
    }
  }
  for (int i = 1; i < n; i++) {
    for (int k = 0; k < n; k++) {
      for (int ns = 0; ns < 2; ns++) {
        for (int ne = 0; ne < 2; ne++) {
          if (i != n - 1 && k == 0 && ns == 0 && ne == 0) continue;
          if (i != s && i != e) {
            if (k || ns) dp[1][k][ns][ne] = dp[0][k][ns][ne] + A[i] + D[i];
            if (k || ne)
              dp[1][k][ns][ne] =
                  min(dp[1][k][ns][ne], dp[0][k][ns][ne] + B[i] + C[i]);
            if (i != n - 1 && k == 0 && ns == 0 && ne == 0)
              ;
            else
              dp[1][k][ns][ne] =
                  min(dp[1][k][ns][ne], dp[0][k + 1][ns][ne] + A[i] + C[i]);
            if (!ns && !ne)
              dp[1][k][ns][ne] =
                  min(dp[1][k][ns][ne], dp[0][k][1][1] + A[i] + C[i]);
            if (k)
              dp[1][k][ns][ne] =
                  min(dp[1][k][ns][ne], dp[0][k - 1][ns][ne] + B[i] + D[i]);
          }
          if (i == s) {
            if (ns) dp[1][k][ns][ne] = dp[0][k + 1][(ns + 1) % 2][ne] + C[i];
            if (!ns && !ne)
              dp[1][k][ns][ne] = min(dp[1][k][ns][ne], dp[0][k][0][1] + C[i]);
            if (ns)
              dp[1][k][ns][ne] =
                  min(dp[1][k][ns][ne], dp[0][k][(ns + 1) % 2][ne] + D[i]);
          }
          if (i == e) {
            if (ne) dp[1][k][ns][1] = dp[0][k + 1][ns][0] + A[i];
            if (!ns && !ne)
              dp[1][k][0][0] = min(dp[1][k][ns][ne], dp[0][k][1][0] + A[i]);
            if (ne)
              dp[1][k][ns][1] = min(dp[1][k][ns][ne], dp[0][k][ns][0] + B[i]);
          }
        }
      }
    }
    for (int j = 0; j < n; j++) {
      for (int ns = 0; ns < 2; ns++) {
        for (int ne = 0; ne < 2; ne++) {
          dp[0][j][ns][ne] = dp[1][j][ns][ne];
          dp[1][j][ns][ne] = 100000000000009ll;
        }
      }
    }
  }
  cout << dp[0][0][0][0] << endl;
  ;
  return 0;
};
