N,V,C = map(int,input().split()) g = [list(map(int,input().split())) for _ in range(N)] dp = [[0] * (V+1) for _ in range(N+1)] for i in range(N): vi,wi = g[i] for j in range(V+1): if j-vi >= 0: dp[i+1][j] = max(dp[i][j-vi] + wi + C , dp[i][j] , dp[i+1][j-vi] + wi) else: dp[i+1][j] = dp[i][j] print(max(dp[N]))