N=int(input()) inf = 10**18 dp = [[-inf for _ in range(N+1)] for _ in range(N+1)] d = [] for _ in range(N): a,b=map(int,input().split()) d.append((a,b)) dp[-1][0] = 0 # 先でj回攻撃する for i in range(N-1,-1,-1): a,b = d[i] for j in range(N+1): #攻撃 if j!=0: dp[i][j] = max(dp[i][j],dp[i+1][j-1]+b) # 攻撃力増加 dp[i][j] = max(dp[i][j],dp[i+1][j]+j*a) print(max(dp[0]))