#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define by(x) [](const auto& a, const auto& b) { return a.x < b.x; }
template <typename T>
bool maximize(T& target, T candidate) {
return target < candidate ? (target = candidate, true) : false;
}
struct Art {
ll size, value;
} arts[505050];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
for (int i = 1; i <= N; i++) {
auto& [size, value] = arts[i];
cin >> size >> value;
}
sort(arts + 1, arts + N + 1, by(size));
ll answer = 0;
for (int i = 1; i <= N; i++) {
for (int j = i; j <= N; j++) {
ll sum = 0;
for (int k = i; k <= j; k++)
sum += arts[k].value;
maximize(answer, sum - (arts[j].size - arts[i].size));
}
}
cout << answer;
return 0;
}