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())