#include <algorithm>
#include <cstdio>

using std::sort;
using std::pair;

int main()
{
	int n;
	pair<int, pair<int, int> > food[1002];
	bool d[101002] = {1, 0, };

	FILE *fin = fopen("input.txt", "r");
	FILE *fout = fopen("output.txt", "w");

	fscanf(fin, "%d", &n);

	for(int i=0; i<n; i++)
	{
		fscanf(fin, "%d %d", &food[i].second.first, &food[i].second.second);
		food[i].first = food[i].second.first + food[i].second.second;
	}

	sort(food, food + n);

	for(int i=0; i<n; i++)
	{
		for(int j=food[i].second.first; j>= 0; j--)
		{
			if (d[j])
			{
				d[j+food[i].second.second] = 1;
			}
		}
	}

	for(int i=101000; i>=0; i--)
	{
		if (d[i])
		{
			fprintf(fout, "%d", i);
			break;
		}
	}

	fclose(fin);
	fclose(fout);

	return 0;
}
