#include #include #include using namespace std; int gcd(int a,int b) { while(b) { int t=a%b; a=b; b=t; } return a; } int main() { vector >A; for(int T=2;A.size()<250000;T++)for(int x=1;A.size()<250000&&xl,pairr){ return (long)l.first*r.second-(long)l.second*r.first>0; }); int sy=0; for(pairp:A)sy+=p.second; vector >ans; ans.push_back(make_pair(0,-sy)); for(pairp:A)ans.push_back(make_pair(ans.back().first+p.first,ans.back().second+p.second)); { int n=ans.size(); for(int i=n-2;i>=0;i--)ans.push_back(make_pair(ans[i].first,-ans[i].second)); } { int n=ans.size(); for(int i=n-2;i>0;i--)ans.push_back(make_pair(-ans[i].first,ans[i].second)); } cout<p:ans)cout<