#!/usr/bin/env python3 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines import numpy as np # %% N = int(readline()) m = map(int, read().split()) AB = list(zip(m, m)) # %% INF = 10 ** 9 U = 10**5 + 10 dp = np.full(U, INF, np.int32) dp[0] = 0 for a, b in AB: newdp = np.full_like(dp, INF) newdp[a:] = dp[:-a] np.minimum(dp + b, newdp, out=newdp) dp = newdp # %% answer = np.maximum(np.arange(U), dp).min() print(answer)