#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define for(i, a, b) for(itr i{a}; i < (b); ++i) #define rfor(i, a, b) for(itr i{(b)-1};i >= (a); --i) #define rep(i, n) for(i, 0, n) #define rrep(i, n) rfor(i, 0, n) #define all(a) std::begin(a), std::end(a) #define type(t) decltype(t) #define _it ::iterator #define un unsigned #define sc(t, a) static_cast(a) template inline bool in_range(t const &lower, t const &a, t const &upper){ return lower < a && a < upper;} constexpr double inf = std::numeric_limits::infinity(); using i8 = std::int_fast8_t; using i16 = std::int_fast16_t; using i32 = std::int_fast32_t; using i64 = std::int_fast64_t; using u8 = std::uint_fast8_t; using u16 = std::uint_fast16_t; using u32 = std::uint_fast32_t; using u64 = std::uint_fast64_t; using namespace std; using itr = i32; int main(){ ios::sync_with_stdio(false); cin.tie(0); double px, py, qx, qy; cin >> px >> py >> qx >> qy; qx -= px; qy -= py; cout<