#include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector a(n), b(n); vector> dp(1 << n, vector(n, 1 << 30)); for(int i = 0; i < n; i++){ cin >> a[i] >> b[i]; dp[1 << i][i] = 0; } for(int i = 0; i < (1 << n); i++){ for(int j = 0; j < n; j++){ if(~i >> j & 1)continue; for(int k = 0; k < n; k++){ if(i >> k & 1)continue; dp[i | (1 << k)][k] = min(dp[i | (1 << k)][k], max(dp[i][j], b[j] - a[j] + a[k])); } } } cout << *min_element(dp.back().begin(), dp.back().end()) << '\n'; }