import java.util.*;
import java.lang.*;
import java.io.*;

class Main
{
	public static void main (String[] args) throws java.lang.Exception
	{
    	final double e = 10e-8;
    	Scanner in = new Scanner(System.in);
    	double x1, y1, x2, y2;
    	x1=in.nextDouble();
    	y1=in.nextDouble();
    	x2=in.nextDouble();
    	y2=in.nextDouble();
    	double d, a, b;
    	d = Math.abs((y2 * x1 - x2 * y1) / Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)));
    	//Растояние до точки на отрезке, ближайщей к началу координат
    	a = Math.sqrt(x1 * x1 + y1 * y1);
    	//Растояние от начала координат до первой точки
    	b = Math.sqrt(x2 * x2 + y2 * y2);
    	//Растояние от начала координат до второй точки
    	int count = 0;
    	if ((2 * x1 * x1 - 2 * x1 * x2 + 2 * y1 * y1 - 2 * y1 * y2 < 0) | (2 * x2 * x2 - 2 * x1 * x2 + 2 * y2 * y2 - 2 * y1 * y2 < 0))
        	//проверка первого условия
        	count = (int)(Math.max(a, b) + e) - (int)(Math.min(a, b) - e);
    	else {
        	//второе условие
        	count = (int)(a + e) - (int)(d - e);
        	count = count + (int)(b + e) - (int)(d - e);
        	if ((Math.abs(Math.round(d) - d) < e) & (Math.abs(d) > e)) {
            	//проверка крайнего случая
            	count--;
        	}
    	}
    	System.out.print(count);
	}
}