Var x1,y1,x2,y2:Integer;
L1,L2,L3:real;
b,c:boolean;
begin
Readln(x1,y1,x2,y2);
L1:=sqrt(sqr(x1)+sqr(y1));
L2:=sqrt(sqr(x2)+sqr(y2));
L3:=sqrt(sqr(x2-x1)+sqr(y2-y1));
If (x1=0) or (y1=0) then
Writeln('Первая точка лежит на оси');
If (x2=0) or (y2=0) then
Writeln('Вторая точка лежит на оси');
b:=false;
c:=false;
If (x1=0) or (x2=0) then
b:=true
else
If x1 div x2>0 then
b:=true;
If (y1=0) or (y2=0) then
c:=true
else
If y1 div y2>0 then
c:=true;
If (b=true) and (c=true) then
Writeln(L3)
else
Writeln(max(L1,L2));
end.