import numpy as np
n = int(input())
A, B = zip(*(map(int, input().split()) for _ in range(n))) 
m = sum(A)
dp = np.zeros(m+1, dtype='int32')
for a, b in zip(A, B):
    dp += b
    dp[a:] = np.minimum(dp[a:], dp[:-a]-b)
print(np.maximum(np.arange(m+1), dp).min())