#include using namespace std; struct Fraction{ int64_t num,den; bool operator<(Fraction const &a)const{ return den<0? Fraction{-num,-den}>n; vector> lines(n); for (int i=0; i>get<0>(lines[i])>>get<1>(lines[i]), get<2>(lines[i])=i; sort(lines.begin(),lines.end()); typedef pair> T; priority_queue,greater> upcoming; auto consider=[&upcoming,&lines](int a,int b){ if (get<1>(lines[a])>get<1>(lines[b])) upcoming.push({Fraction{ get<0>(lines[b])-get<0>(lines[a]), get<1>(lines[a])-get<1>(lines[b]) }, {a,b}}); }; set active; for (int i=0; i res; for (auto i: active) res.push_back(get<2>(lines[i])+1); sort(res.begin(),res.end()); cout<