N,V,C = map(int,input().split()) A = [0]+[list(map(int,input().split())) for _ in range(N)] INFTY = 10**9 dp = [[[0 for _ in range(2)] for _ in range(V+1)] for _ in range(N+1)] for j in range(V+1): if j=A[i][0]: dp[i][j][1] = max(dp[i][j-A[i][0]][0]+A[i][1]+C,dp[i][j-A[i][0]][1]+A[i][1]) print(max(dp[N][V][0],dp[N][V][1]))