#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a=dom) num-=dom; Int tmp=__gcd(num,dom); return frac(num/tmp,dom/tmp); } frac operator+(frac a){return frac(num*a.dom+a.num*dom,dom*a.dom).norm();} frac operator-(frac a){return frac(num*a.dom-a.num*dom,dom*a.dom).norm();} frac operator*(frac a){return frac(num*a.num,dom*a.dom).norm();} frac operator/(frac a){return frac(num*a.dom,dom*a.num).norm();} frac operator*(Int k){return frac(num*k,dom).norm();} frac operator/(Int k){return frac(num,dom*k).norm();} bool operator<(const frac a)const{ return num*a.dom(const frac a)const{ return num*a.dom>a.num*dom; } bool operator==(const frac a)const{ return num*a.dom==a.num*dom; } bool operator!=(const frac a)const{ return num*a.dom!=a.num*dom; } bool operator<=(const frac a)const{ return num*a.dom<=a.num*dom; } bool operator>=(const frac a)const{ return num*a.dom>=a.num*dom; } }; //INSERT ABOVE HERE signed main(){ Int n; cin>>n; vector a(n),b(n); for(Int i=0;i>a[i]>>b[i]; vector v(n); for(Int i=0;i