/// Author: Nguyen Thanh Phong - ti25phong_nt
#include <bits/stdc++.h>
using namespace std;
#define el cout << "\n";
#define FOR(i, start, end, step) for(int i=start; i<=end; i+=step)
#define FORD(i, end, start, step) for(int i=end; i>=start; i-=step)
#define fi first
#define se second
#define pb push_back
#define pf push_front
#define popb pop_back()
#define popf pop_front()
#define ALL(x) (x).begin(),(x).end()
#define ElfariaAlbisSerfort int main()
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const int NN = 1e6 + 5;
const int INF = 0x3f3f3f3f;
const long long LINF = 1e18 + 7;
const int base = 31;
const long long MOD = 1e9 + 7;
const int d4x[] = {0, 0, -1, 1};
const int d4y[] = {-1, 1, 0, 0};
const int d8x[] = {-1, -1, -1, 0, 0, 1, 1, 1};
const int d8y[] = {-1, 0, 1, -1, 1, -1, 0, 1};
/// ------------------ GLOBAL VARIABLE ------------------
ll a1, a2, b1, b2;
/// ------------------ MAIN PROGRAMME -------------------
ElfariaAlbisSerfort{
#define NAME "paint"
if(fopen(NAME".inp","r")){
freopen(NAME".inp", "r", stdin);
freopen(NAME".out", "w", stdout);
}
ios_base :: sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> a1 >> a2 >> b1 >> b2;
if(a1 > a2) swap(a1, a2);
if(b1 > b2) swap(b1, b2);
if(a1<b1 && a2>b2){
cout << a2 - a1;
}
else if(b1<a1 && b2>a2){
cout << b2 - b1;
}
else if(a1==b1 && a2==b2){
cout << a2 - b2;
}
else if(a1<=b1 && a2>=b1 && a2<=b2){
cout << b2 - a1;
}
else if(b1<=a1 && b2>=a1 && b2<=a2){
cout << a2 - b1;
}
else{
cout << a2-a1 + b2-b1;
}
return 0;
}
Ly8vIEF1dGhvcjogTmd1eWVuIFRoYW5oIFBob25nICAtICB0aTI1cGhvbmdfbnQKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGVsIGNvdXQgPDwgIlxuIjsKI2RlZmluZSBGT1IoaSwgc3RhcnQsIGVuZCwgc3RlcCkgZm9yKGludCBpPXN0YXJ0OyBpPD1lbmQ7IGkrPXN0ZXApCiNkZWZpbmUgRk9SRChpLCBlbmQsIHN0YXJ0LCBzdGVwKSBmb3IoaW50IGk9ZW5kOyBpPj1zdGFydDsgaS09c3RlcCkKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBmIHB1c2hfZnJvbnQKI2RlZmluZSBwb3BiIHBvcF9iYWNrKCkKI2RlZmluZSBwb3BmIHBvcF9mcm9udCgpCiNkZWZpbmUgQUxMKHgpICh4KS5iZWdpbigpLCh4KS5lbmQoKQojZGVmaW5lIEVsZmFyaWFBbGJpc1NlcmZvcnQgaW50IG1haW4oKQoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVsbDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8bGw+IHZsbDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaWk7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IHBsbDsKCmNvbnN0IGludCBOTiA9IDFlNiArIDU7CmNvbnN0IGludCBJTkYgPSAweDNmM2YzZjNmOwpjb25zdCBsb25nIGxvbmcgTElORiA9IDFlMTggKyA3Owpjb25zdCBpbnQgYmFzZSA9IDMxOwpjb25zdCBsb25nIGxvbmcgTU9EID0gMWU5ICsgNzsKY29uc3QgaW50IGQ0eFtdID0gezAsIDAsIC0xLCAxfTsKY29uc3QgaW50IGQ0eVtdID0gey0xLCAxLCAwLCAwfTsKY29uc3QgaW50IGQ4eFtdID0gey0xLCAtMSwgLTEsIDAsIDAsIDEsIDEsIDF9Owpjb25zdCBpbnQgZDh5W10gPSB7LTEsIDAsIDEsIC0xLCAxLCAtMSwgMCwgMX07CgovLy8gLS0tLS0tLS0tLS0tLS0tLS0tIEdMT0JBTCBWQVJJQUJMRSAtLS0tLS0tLS0tLS0tLS0tLS0KbGwgYTEsIGEyLCBiMSwgYjI7CgovLy8gLS0tLS0tLS0tLS0tLS0tLS0tIE1BSU4gUFJPR1JBTU1FIC0tLS0tLS0tLS0tLS0tLS0tLS0KRWxmYXJpYUFsYmlzU2VyZm9ydHsKICAgICNkZWZpbmUgTkFNRSAicGFpbnQiCiAgICBpZihmb3BlbihOQU1FIi5pbnAiLCJyIikpewogICAgICAgIGZyZW9wZW4oTkFNRSIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihOQU1FIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CgogICAgaW9zX2Jhc2UgOjogc3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwoKICAgIGNpbiA+PiBhMSA+PiBhMiA+PiBiMSA+PiBiMjsKICAgIGlmKGExID4gYTIpIHN3YXAoYTEsIGEyKTsKICAgIGlmKGIxID4gYjIpIHN3YXAoYjEsIGIyKTsKICAgIGlmKGExPGIxICYmIGEyPmIyKXsKICAgICAgICBjb3V0IDw8IGEyIC0gYTE7CiAgICB9CiAgICBlbHNlIGlmKGIxPGExICYmIGIyPmEyKXsKICAgICAgICBjb3V0IDw8IGIyIC0gYjE7CiAgICB9CiAgICBlbHNlIGlmKGExPT1iMSAmJiBhMj09YjIpewogICAgICAgIGNvdXQgPDwgYTIgLSBiMjsKICAgIH0KICAgIGVsc2UgaWYoYTE8PWIxICYmIGEyPj1iMSAmJiBhMjw9YjIpewogICAgICAgIGNvdXQgPDwgYjIgLSBhMTsKICAgIH0KICAgIGVsc2UgaWYoYjE8PWExICYmIGIyPj1hMSAmJiBiMjw9YTIpewogICAgICAgIGNvdXQgPDwgYTIgLSBiMTsKICAgIH0KICAgIGVsc2V7CiAgICAgICAgY291dCA8PCBhMi1hMSArICBiMi1iMTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=