#include <bits/stdc++.h>
using namespace std;
const long long N = 5001;
long long n, s, e;
long long x[N], a[N], b[N], c[N], d[N];
long long dp[2][5001][2][2];
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  for (long long i = 0; i < 2; i++)
    for (long long j = 0; j < 5001; j++)
      for (long long k = 0; k < 2; k++)
        for (long long l = 0; l < 2; l++) dp[i][j][k][l] = 1e15;
  cin >> n >> s >> e;
  for (long long i = 1; i <= n; i++) cin >> x[i];
  for (long long i = 1; i <= n; i++) cin >> a[i];
  for (long long i = 1; i <= n; i++) cin >> b[i];
  for (long long i = 1; i <= n; i++) cin >> c[i];
  for (long long i = 1; i <= n; i++) cin >> d[i];
  for (long long i = 1; i <= n; i++) cerr << x[i] << " ";
  cerr << endl;
  for (long long i = 1; i <= n; i++) cerr << a[i] << " ";
  cerr << endl;
  for (long long i = 1; i <= n; i++) cerr << b[i] << " ";
  cerr << endl;
  for (long long i = 1; i <= n; i++) cerr << c[i] << " ";
  cerr << endl;
  for (long long i = 1; i <= n; i++) cerr << d[i] << " ";
  cerr << endl;
  dp[0][0][0][0] = 0;
  long long cur = 1;
  long long nxt = 0;
  for (long long i = 1; i <= n; i++) {
    cur ^= 1;
    nxt ^= 1;
    for (long long j = 0; j <= i; j++)
      for (long long k = 0; k < 2; k++)
        for (long long l = 0; l < 2; l++) dp[nxt][j][k][l] = 1e15;
    for (long long j = 0; j < i; j++) {
      for (long long k = 0; k < 2; k++) {
        for (long long l = 0; l < 2; l++) {
          if (dp[cur][j][k][l] != 1e15) {
            if (i != s && i != e) {
              if (j + l)
                dp[nxt][j][k][l] =
                    min(dp[nxt][j][k][l], dp[cur][j][k][l] + c[i] + b[i]);
              if (j + k)
                dp[nxt][j][k][l] =
                    min(dp[nxt][j][k][l], dp[cur][j][k][l] + a[i] + d[i]);
              dp[nxt][j + 1][k][l] =
                  min(dp[nxt][j + 1][k][l],
                      dp[cur][j][k][l] - 2 * x[i] + b[i] + d[i]);
              if (j + k > 1)
                dp[nxt][j - 1][k][l] =
                    min(dp[nxt][j - 1][k][l],
                        dp[cur][j][k][l] + 2 * x[i] + a[i] + c[i]);
              if (k != 0 && j > 0)
                dp[nxt][j - 1][k][l] =
                    min(dp[nxt][j - 1][k][l],
                        dp[cur][j][k][l] + 2 * x[i] + a[i] + c[i]);
              if (l != 0 && j > 0)
                dp[nxt][j - 1][k][l] =
                    min(dp[nxt][j - 1][k][l],
                        dp[cur][j][k][l] + 2 * x[i] + a[i] + c[i]);
              if (k == 1 && l == 1) {
                dp[nxt][j][k - 1][l - 1] =
                    min(dp[nxt][j][k - 1][l - 1],
                        dp[cur][j][k][l] + 2 * x[i] + a[i] + c[i]);
              }
            } else if (i == s && k == 0) {
              if (j != 0)
                dp[nxt][j - 1][k + 1][l] = min(dp[nxt][j - 1][k + 1][l],
                                               dp[cur][j][k][l] + c[i] + x[i]);
              dp[nxt][j][k + 1][l] =
                  min(dp[nxt][j][k + 1][l], dp[cur][j][k][l] + d[i] - x[i]);
              if (l == 1)
                dp[nxt][j][k][l - 1] =
                    min(dp[nxt][j][k][l - 1], dp[cur][j][k][l] + c[i] + x[i]);
            } else if (i == e && l == 0) {
              if (j != 0)
                dp[nxt][j - 1][k][l + 1] = min(dp[nxt][j - 1][k][l + 1],
                                               dp[cur][j][k][l] + a[i] + x[i]);
              dp[nxt][j][k][l + 1] =
                  min(dp[nxt][j][k][l + 1], dp[cur][j][k][l] + b[i] - x[i]);
              if (k == 1)
                dp[nxt][j][k - 1][l] =
                    min(dp[nxt][j][k - 1][l], dp[cur][j][k][l] + a[i] + x[i]);
            }
          }
        }
      }
    }
  }
  cout << dp[nxt][0][0][0];
  return 0;
}
