#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define endl '\n'
#define YES cout << "YES\n"
#define NO cout << "NO\n"
#define Valerian void
#define str string
#define Valerian_or_Habil ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
const ll INF = 1e18;
const int N = 2e5 + 5;
const ll MOD = 1e9 + 7;
// Fast power
ll binpow(ll a, ll b, ll mod = MOD) {
ll res = 1;
while (b) {
if (b & 1) res = res * a % mod;
a = a * a % mod;
b >>= 1;
}
return res;
}
// GCD
ll gcd(ll a, ll b) {
return b ? gcd(b, a % b) : a;
}
// LCM
ll lcm(ll a, ll b) {
return a / gcd(a, b) * b;
}
// Sieve
vector<bool> sieve(int n) {
vector<bool> prime(n + 1, true);
prime[0] = prime[1] = false;
for (int i = 2; i * i <= n; i++) {
if (prime[i]) {
for (int j = i * i; j <= n; j += i)
prime[j] = false;
}
}
return prime;
}
// Sadece Interaktiv ucun
ll ask(str a,str b,str c){
cout << a << b << c;
ll g;
cin >> g;
return g;
}
Valerian ans(str a,str b,str c){
cout << a << b << c;
}
Valerian solve() {
ll n;
cin >> n;
ll a,b;
cin >> a >> b;
ll m,nn;
cin >> m >> nn;
for (int i = 0; i < n; i++) {
ll g;
cin >> g;
}
if(m==n){
nn=b;
}
cout << abs(a-m) + abs(b-nn) << "\n";
}
int main() {
Valerian_or_Habil;
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}