#include <bits/stdc++.h>
using namespace std;

#define int long long
#define mod 1000000007
#define pb push_back
#define ss second
#define ff first
#define all(v) v.begin(), v.end()
#define deb(x) cerr << "\n" \
                    << #x << "=" << x << "\n";
#define deb2(x, y) cerr << "\n"                   \
                        << #x << "=" << x << "\n" \
                        << #y << "=" << y << "\n";
#define w(x) \
  int x;     \
  cin >> x;  \
  while (x--)

int32_t main() {

    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    int n;
    cin >> n;

    pair<int,int> t;
    cin >> t.ff >> t.ss;
    double ans = 0.0;
    pair<int,int> v[n];
    double x2 = t.ff,y2 = t.ss;
    for(int i = 0; i < n; ++i) {
        cin >> v[i].ff >> v[i].ss;

        double x1 = v[i].ff, y1 = v[i].ss;
        if(x1 == x2)
            continue;
        double cur = (y1 * x2 - x1 * y2) / (x2 - x1);

        ans = max(ans,cur);
    }

    cout <<fixed << setprecision(6) << ans;
    
    return 0;
}
#include<bits/stdc++.h>
using namespace std;
// #include <atcoder/all>
// using namespace atcoder;
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define drep(i,n) for(int i = (n-1); i >= 0; i--)
#define all(v) (v).begin(),(v).end()
#define maxs(x,y) (x = max(x,y))
#define mins(x,y) (x = min(x,y))
template <class T> bool chmax(T &a, const T &b) { if (a < b) { a = b; return 1; } return 0; }
template <class T> bool chmin(T &a, const T &b) { if (b < a) { a = b; return 1; } return 0; }
template <class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; }
template <class T> T lcm(T a, T b) { return a/gcd(a,b)*b; }
typedef pair<int, int> P;
typedef long long ll;
const int INF = 1001001001;
const ll LINF = 1001002003004005006ll;
const ll MOD = 1e9+7;

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
	int n;
	cin >> n;
	vector<vector<int>> needs(n, vector<int>(4));
	vector<int> a(n), b(n), c(n), d(n);
	rep(i,n) {
		int x, y, r;
		cin >> x >> y >> r;
		needs[i][0] = r; needs[i][1] = x; needs[i][2] = y; needs[i][3] = i;
		a[i] = x, c[i] = x+1;
		b[i] = y, d[i] = y+1;
	}
	sort(needs.begin(), needs.end());
	// rep(i,n) cout << needs[i][0] << ' ' << needs[i][1] << ' ' << needs[i][2] << ' ' << needs[i][3] << ' ' << "\n";

	rep(i,n) cout << a[i] << ' ' << b[i] << ' ' << c[i] << ' ' << d[i] << ' ' << "\n";
	return 0;
}
