보석 도둑

용량 1부터 k까지 각 배낭마다 n개의 보석 중 크기 합이 용량 이하가 되도록 골랐을 때 얻는 최대 가치를 구한다.

어려움8동적 계획법그리디정렬아직 제출이 없습니다시간 제한10초메모리 제한512 MB

문제

큰 박물관이 세계 각지의 보석을 모은 특별전을 열었다. 도둑 에드워드 테레난도는 이 전시장에서 자기 인생 최대의 도둑질을 계획하고 있다.

에드워드는 훔친 보석의 가치 합을 최대로 만들고 싶으므로 어떤 보석을 집을지 신중하게 골라야 한다.

에드워드에게는 크기가 1,2,3,,k1, 2, 3, \dots, k인 배낭이 하나씩 있다. 크기가 ss인 배낭에는 크기의 합이 ss 이하인 보석을 담을 수 있다. 배낭 크기마다 담을 수 있는 보석 가치 합의 최댓값을 구하라.

한 배낭에 같은 보석을 두 번 담을 수는 없고, 배낭마다 서로 독립인 문제로 푼다.

입력

첫째 줄에 보석의 개수 nn과 배낭의 최대 크기 kk가 공백을 사이에 두고 주어진다 (1n1,000,0001 \le n \le 1{,}000{,}000, 1k100,0001 \le k \le 100{,}000).

다음 nn개의 줄에는 보석 하나의 정보가 한 줄씩 주어진다. 각 줄에는 보석의 크기 ss와 가치 vv가 공백을 사이에 두고 주어진다 (1s3001 \le s \le 300, 1v1091 \le v \le 10^9).

출력

한 줄에 정수 kk개를 공백 하나로 구분해 출력한다. ii번째 정수는 크기가 ii인 배낭에 담을 수 있는 보석 가치 합의 최댓값이다.