#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define sz(st) int(st.size())
#define all(st) st.begin(), st.end()
void Solve() {
int n;
cin >> n;
vector<int> x(n), v(n);
for (int i = 0; i < n; i++)
cin >> x[i] >> v[i];
auto is_good = [&](double time) {
double left = -1e9, right = 1e9;
for (int i = 0;i<n;i++) {
left = max(left, x[i] - v[i] * time);
right = min(right, x[i] + v[i] * time);
}
return left <= right;
};
double l = 0, r = 1e9, ans = 0;
for (int i = 0; i < 100; i++) {
double m = (l + r) / 2;
if (is_good(m))
r = m - 1, ans = m;
else
l = m + 1;
}
cout << fixed << setprecision(10) << ans;
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
//cin >> t;
for (int tc = 1; tc <= t; tc++) {
Solve();
cout << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwojZGVmaW5lIHN6KHN0KSBpbnQoc3Quc2l6ZSgpKQojZGVmaW5lIGFsbChzdCkgc3QuYmVnaW4oKSwgc3QuZW5kKCkKCnZvaWQgU29sdmUoKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPGludD4geChuKSwgdihuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIGNpbiA+PiB4W2ldID4+IHZbaV07CgogICAgYXV0byBpc19nb29kID0gWyZdKGRvdWJsZSB0aW1lKSB7CiAgICAgICBkb3VibGUgbGVmdCA9IC0xZTksIHJpZ2h0ID0gMWU5OwogICAgICAgIGZvciAoaW50IGkgPSAwO2k8bjtpKyspIHsKICAgICAgICAgICAgbGVmdCA9IG1heChsZWZ0LCB4W2ldIC0gdltpXSAqIHRpbWUpOwogICAgICAgICAgICByaWdodCA9IG1pbihyaWdodCwgeFtpXSArIHZbaV0gKiB0aW1lKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGxlZnQgPD0gcmlnaHQ7CiAgICB9OwoKICAgIGRvdWJsZSBsID0gMCwgciA9IDFlOSwgYW5zID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwOyBpKyspIHsKICAgICAgICBkb3VibGUgbSA9IChsICsgcikgLyAyOwogICAgICAgIGlmIChpc19nb29kKG0pKQogICAgICAgICAgICByID0gbSAtIDEsIGFucyA9IG07CiAgICAgICAgZWxzZQogICAgICAgICAgICBsID0gbSArIDE7CiAgICB9CiAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbigxMCkgPDwgYW5zOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIGludCB0ID0gMTsKICAgIC8vY2luID4+IHQ7CiAgICBmb3IgKGludCB0YyA9IDE7IHRjIDw9IHQ7IHRjKyspIHsKICAgICAgICBTb2x2ZSgpOwogICAgICAgIGNvdXQgPDwgIlxuIjsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==