func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long INF = 1e17;   int n, s, e, nxt[5001];   long long x[5001], a[5001], b[5001], c[5001], d[5001];   long long dp[5001][5001];   inline long long dis(int s, int e) {     return (s < e) ? d[s] + a[e] : c[s] + b[e];   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cin >> n >> s >> e;     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];     long long ans = dis(s, e);     nxt[s] = e;     for (int i = 0; i < n; i++) {       if (i == s || i == e) continue;       long long minv = INF, ind = i;       for (int j = s; j != e; j = nxt[j]) {         long long val = dis(j, i) + dis(i, nxt[j]) - dis(j, nxt[j]);         if (val < minv) {           minv = val;           ind = j;         }       }       ans += minv;       nxt[i] = nxt[ind];       nxt[ind] = i;     }     cout << ans <<   n ;     return 0;   }   