n = int(input()) M = 1<<30 dp = [0] for _ in range(n): a,b = map(int,input().split()) bmax = M ndp = [] for x in dp: if x%M >= bmax: continue bmax = x%M ndp.append(x+a*M) ndp.append(x+b) dp = ndp dp.sort() print(min(max(divmod(x,M)) for x in dp))