N,V,C=map(int,input().split()) dp=[[-1]*(V+1) for i in range(N+1)] dp[0][0] = 0 for i in range(N): v,w=map(int,input().split()) for j in range(V+1): if dp[i][j] == -1: continue if j + v <= V: dp[i][j+v] = max(dp[i][j+v],dp[i][j] + w) dp[i+1][j+v] = max(dp[i][j] + w + C , dp[i+1][j+v]) dp[i+1][j] = max(dp[i][j],dp[i+1][j]) print(max(dp[-1]))