N명의 갱스터가 식당에 가려고 한다. i번째 갱스터는 시각 Ti에 도착하며, 이득 Pi를 가진다. 식당 문은 [0,K] 범위의 정수로 표현되는 K+1가지 열림 상태를 가진다. 열림 상태는 단위 시간마다 1만큼만 변할 수 있다. 즉, 1만큼 더 열리거나, 1만큼 더 닫히거나, 그대로 유지된다. 처음 시각에 문은 닫혀 있다(상태 0).
i번째 갱스터는 문이 자신을 위해 특별히 열려 있을 때에만, 즉 열림 상태가 자신의 완고함 Si와 정확히 일치할 때에만 식당에 들어간다. 갱스터가 도착한 시각에 열림 상태가 그의 Si와 다르면, 그 갱스터는 떠나고 다시는 돌아오지 않는다.
식당은 시간 구간 [0,T] 동안 영업한다.
문을 적절히 여닫아서 식당에 모인 갱스터들의 이득 총합을 최대로 만드는 것이 목표이다.
첫째 줄에 공백으로 구분된 세 정수 N, K, T가 주어진다. (1≤N≤100, 1≤K≤100, 0≤T≤30,000)
둘째 줄에 각 갱스터가 도착하는 시각 T1,T2,…,TN이 공백으로 구분되어 주어진다. (0≤Ti≤T, i=1,2,…,N)
셋째 줄에 각 갱스터의 이득 P1,P2,…,PN이 공백으로 구분되어 주어진다. (0≤Pi≤300, i=1,2,…,N)
넷째 줄에 각 갱스터의 완고함 S1,S2,…,SN이 공백으로 구분되어 주어진다. (1≤Si≤K, i=1,2,…,N)
입력의 모든 값은 정수이다.
식당에 모인 갱스터들의 이득의 최대 합을 정수 하나로 출력한다. 어떤 갱스터도 식당에 들어갈 수 없는 경우에는 0을 출력한다.