#include using namespace std; #define REP(i,n) for(int i=0; i<(int)(n); i++) #define FOR(i,b,e) for (int i=(int)(b); i<(int)(e); i++) #define ALL(x) (x).begin(), (x).end() const double PI = acos(-1); long long gcd(long long a, long long b) { if (b == 0) return a; return gcd(b, a%b); } // override function template of std::gcd long long gcd(int a, int b) { return gcd((long long)a, (long long)b); } pair norm(int x, int y) { int g = gcd(abs(x), abs(y)); x /= g; y /= g; return {x, y}; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int x1, y1, x2, y2; cin >> x1 >> y1; cin >> x2 >> y2; auto n1 = norm(x1, y1), n2 = norm(x2, y2); int ret = max(abs(x1), abs(y1)); if (abs(n1.first) == abs(n1.second)) { if (n1 == n2 && abs(x1) > abs(x2)) { ++ret; } } cout << ret << endl; return 0; }