#include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; int total = 2 * N; vector> pts(total); for (int i = 0; i < total; i++){ cin >> pts[i].first >> pts[i].second; } vector posThreshold, negThreshold; int countZero = 0; for (int i = 0; i < total; i++){ int x = pts[i].first, y = pts[i].second; if(x > 0){ posThreshold.push_back((y - 0.5) / x); } else if(x < 0){ negThreshold.push_back((y - 0.5) / x); } else { if(y > 0.5) countZero++; } } sort(posThreshold.begin(), posThreshold.end()); sort(negThreshold.begin(), negThreshold.end()); // f(k) = (x>0: #T > k) + (x<0: #T < k) + countZero for (int k = -50000; k <= 50000; k++){ int countPos = posThreshold.size() - (upper_bound(posThreshold.begin(), posThreshold.end(), (double)k) - posThreshold.begin()); int countNeg = lower_bound(negThreshold.begin(), negThreshold.end(), (double)k) - negThreshold.begin(); int f = countPos + countNeg + countZero; if(f == N){ int A = 2 * k; int B = -2; long long C = 1; cout << A << " " << B << " " << C; return 0; } } return 0; }