#include <bits/stdc++.h>
 
using namespace std;
 
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) ((int)(x).size())
#define pb push_back
#define vt vector
#define all(x) (x).begin(), (x).end()
#define sp ' '
#define ar array
#define fi first
#define se second
#define ends "\n"
#define fu function
 
const long long MOD=1e9+7;
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
 
void DBG() {
    cerr << "]" << endl;
}
template<class H, class... T> void DBG(H h, T... t) {
    cerr << to_string(h);
    if(sizeof...(t))
        cerr << ", ";
    DBG(t...);
}
#define dbg(...) cerr << "LINE(" << __LINE__ << ") -> [" << #__VA_ARGS__ << "]: [", DBG(__VA_ARGS__)
 
 
int main(void){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);
 	ll x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2;
 	if(x1==x2 || y1==y2) cout << 2 << ends;
 	else{
 		if(abs(x1-x2)!=abs(y1-y2)) cout << 0 << ends;
 		else cout << 1 << ends;
 	}
}