N = int(input()) turn = [] for _ in range(N): a,b = list(map(int,input().split())) turn.append((a,b)) INF = 10**18 def f(n,atk): if(n == N):return 0 if atk == 0 else -INF # 攻撃しない ret = f(n+1,atk) + turn[n][0] * atk # 攻撃する ret = max(ret,f(n+1,atk-1) + turn[n][1]) return ret ans = 0 for i in range(1,N+1): ans = max(ans, f(0,i)) print(ans)