#include using namespace std; struct Fraction{ long long num; long long den; bool operator<(Fraction const &a)const{ if ((num/den)!=(a.num/a.den)){ return (num/den)<(a.num/a.den); }else{ return (num%den)*a.den<(a.num%a.den)*den; } } }; long double solve(vector x){ int const n=x.size(); vector s(n+1); for (int i=0; i cx(n+1,Fraction{1000000,1}); vector ptr(n+1,-1); for (int i=n; i--;){ cx[i]=min(cx[ptr[i]=i+1], Fraction{x[i],1}); for (int j=ptr[i]; j!=-1; j=ptr[j]) if (not (Fraction{x[i],1}>n; vector x(n),y(n); for (int i=0; i>x[i]>>y[i]; cout.precision(9); cout<