#include<iostream>
#define INF 0x3f3f3f3f
using namespace std;
int n,v[105],w[105],dp[200005],ans = -INF;
int main()
{
for (int i=0;i<=200000;i++) dp[i] = -INF;
dp[100000] = 0;
cin >> n;
for (int i=0;i<n;i++) cin >> v[i] >> w[i];
for (int i=0;i<n;i++)
{
if (v[i] < 0 && w[i] < 0) continue;
if (v[i] > 0)
{
for (int j=200000;j>=v[i];j--)
if (dp[j-v[i]] > -INF)
dp[j] = max(dp[j],dp[j-v[i]]+w[i]);
}
else
{
for (int j=v[i];j<=200000+v[i];j++)
if (dp[j-v[i]] > -INF)
dp[j] = max(dp[j],dp[j-v[i]]+w[i]);
}
}
for (int i=100000;i<=200000;i++)
if (dp[i] >= 0)
ans = max(ans,dp[i]+i-100000);
cout << ans;
return 0;
}
Cow Exhibition