#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define endl '\n'
#define Valerian void
#define Valerian_or_Habil ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
Valerian solve() {
ll n;
cin >> n;
ll sl, sc, el, ec;
cin >> sl >> sc >> el >> ec;
vector<ll> l(n + 1);
for (int i = 1; i <= n; i++) {
cin >> l[i];
}
if (sl == el) {
cout << abs(sc - ec) << endl;
return;
}
ll L = l[1];
ll ans = abs(sl - el) + abs(sc - ec);
if (sl < n && el < n) {
ll opt2 = abs(sl - n) + abs(el - n) + (sc - 1) + (ec - 1) + 2;
ans = min(ans, opt2);
}
cout << ans << endl;
}
int main() {
Valerian_or_Habil;
solve();
return 0;
}