// Born_To_Laugh - Hughie Do
#include <bits/stdc++.h>
#define alle(AC) AC.begin(), AC.end()
#define fi first
#define se second
using namespace std;
typedef long long ll;
typedef long double ld;
[[maybe_unused]] const int MOD = 998244353, INF = 1e9 + 7;
const int maxn = 1e5 + 10;
int n;
ld a[maxn], b[maxn];
void solve(){
cin >> n;
for(int i=1; i<=n; ++i) cin >> a[i] >> b[i];
sort(a + 1, a + 1 + n, [](ld x, ld y){
return x > y;
});
sort(b + 1, b + 1 + n, [](ld x, ld y){
return x > y;
});
int id1 = 0, id2 = 0;
int cnt = 0;
ld sum1 = 0, sum2 = 0;
ld ans = 0;
for(int i=1; i<=2*n; ++i){
// cout << id1 << ' ' << id2 << ' ' << sum1 << ' ' << sum2 << ' ' << cnt << '\n';
cnt++;
if(id1 == n){
id2++;
sum2 += b[id2];
ans = max(ans, min(sum1, sum2) - cnt);
continue;
}
if(id2 == n){
id1++;
sum1 += a[id1];
ans = max(ans, min(sum1, sum2) - cnt);
continue;
}
if(sum1 > sum2){
id2++;
sum2 += b[id2];
ans = max(ans, min(sum1, sum2) - cnt);
continue;
}
else{
id1++;
sum1 += a[id1];
ans = max(ans, min(sum1, sum2) - cnt);
continue;
}
}
cout << setprecision(4) << fixed << ans << '\n';
}
signed main(){
// freopen("inp.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
solve();
}