#include <vector>
#include <iostream>
const int N = 110;
int n, ans, s[N], f[N];
void dfs(int i, int ss, int sf) {
if (i > n) {
if (ss >= 0 && sf >= 0) ans = std::max(ans, ss + sf);
return ;
}
dfs(i + 1, ss + s[i], sf + f[i]);
dfs(i + 1, ss, sf);
}
int main() {
std::cin >> n;
for (int i = 1; i <= n; ++i) std::cin >> s[i] >> f[i];
dfs(1, 0, 0);
std::cout << ans << std::endl;
return 0;
}