갱스터

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

NN명의 갱스터가 식당에 가려고 한다. ii번째 갱스터는 시각 TiT_i에 도착하며, 이득 PiP_i를 가진다. 식당 문은 [0,K][0, K] 범위의 정수로 표현되는 K+1K+1가지 열림 상태를 가진다. 열림 상태는 단위 시간마다 11만큼만 변할 수 있다. 즉, 11만큼 더 열리거나, 11만큼 더 닫히거나, 그대로 유지된다. 처음 시각에 문은 닫혀 있다(상태 00).

ii번째 갱스터는 문이 자신을 위해 특별히 열려 있을 때에만, 즉 열림 상태가 자신의 완고함 SiS_i와 정확히 일치할 때에만 식당에 들어간다. 갱스터가 도착한 시각에 열림 상태가 그의 SiS_i와 다르면, 그 갱스터는 떠나고 다시는 돌아오지 않는다.

식당은 시간 구간 [0,T][0, T] 동안 영업한다.

문을 적절히 여닫아서 식당에 모인 갱스터들의 이득 총합을 최대로 만드는 것이 목표이다.

입력

첫째 줄에 공백으로 구분된 세 정수 NN, KK, TT가 주어진다. (1N1001 \le N \le 100, 1K1001 \le K \le 100, 0T30,0000 \le T \le 30{,}000)

둘째 줄에 각 갱스터가 도착하는 시각 T1,T2,,TNT_1, T_2, \dots, T_N이 공백으로 구분되어 주어진다. (0TiT0 \le T_i \le T, i=1,2,,Ni = 1, 2, \dots, N)

셋째 줄에 각 갱스터의 이득 P1,P2,,PNP_1, P_2, \dots, P_N이 공백으로 구분되어 주어진다. (0Pi3000 \le P_i \le 300, i=1,2,,Ni = 1, 2, \dots, N)

넷째 줄에 각 갱스터의 완고함 S1,S2,,SNS_1, S_2, \dots, S_N이 공백으로 구분되어 주어진다. (1SiK1 \le S_i \le K, i=1,2,,Ni = 1, 2, \dots, N)

입력의 모든 값은 정수이다.

출력

식당에 모인 갱스터들의 이득의 최대 합을 정수 하나로 출력한다. 어떤 갱스터도 식당에 들어갈 수 없는 경우에는 00을 출력한다.