INF = 20000 N = int(input()) L = [] for _ in range(N): V,T = map(int,input().split()) L.append((V + T, V, T)) L.sort() S,V,T = [list(i) for i in zip(*L)] DP = [0] * INF DP[0] = 1 for i in range(N): for k in range(T[i]-1,-1,-1): DP[k+V[i]] |= DP[k] for k in range(INF-1,-1,-1): if DP[k]: print(k) break