#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i,a) for(int i=(int)0;i<(int)a;++i) #define pb push_back #define eb emplace_back #define all(x) x.begin(),x.end() using ll=long long; constexpr ll mod = 1e9 + 7; constexpr ll INF = 1LL << 60; ll gcd(ll n, ll m) { ll tmp; while (m!=0) { tmp = n % m; n = m; m = tmp; } return n; } ll lcm(ll n, ll m) { return abs(n) / gcd(n, m)*abs(m);//gl=xy } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } using namespace std; long double xa,ya,xb,yb;//誤差がひどいのでlong double long double func(long double x){ return sqrtl(xa*xa+(x-ya)*(x-ya))+sqrtl(xb*xb+(x-yb)*(x-yb)); } void solve(){ cin>>xa>>ya>>xb>>yb; int t=1000; long double low=0,high=2000; while(t--){ long double c1=(low*(long double)2+high)/(long double)3; long double c2=(low+(long double)2*high)/(long double)3; if(func(c1)>func(c2))low=c1; else high=c2; } cout<