#include #define f(i, s, k, l) for (int i = s; i < k; i += l) #define for0(i, k) f(i, 0, k, 1) #define pl pair #define pb push_back #define vl vector #define vi vector #define sz(x) (ll)(x).size() using namespace std; using ll = long long; using ld = double; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); ll n; ld w; cin >> n >> w; vector wph(n), time(n); for0(i, n) cin >> wph[i] >> time[i]; ld l = 0; ld r = 1e18; for0(i, 200) { ld mid = (l + r) / 2.0; ld sum = 0; for0 (i, n) { if (2 * time[i] >= mid) continue; sum += (mid - 2 * time[i]) * wph[i]; } if (sum < w) l = mid; else r = mid; } cout << fixed << setprecision(10) << r << endl; }