문제 설명
씨큐브학교에 다니고 있는 코딩이는 숙제가 너무 많아서 지옥을 경험하고 있다. 코딩이는 너무나도 게으르기 때문에 아쉽지만 하루에 한개의 숙제만 해결할 수 있다.
하지만 숙제마다 숙제제출일이 정해져 있으므로 모든 숙제를 끝내지 못할 수도 있다. 숙제를 제출했을 때 각각 받을 수 있는 점수가 다르고, 숙제제출일이 지난 숙제는 점수를 받을 수 없다.
코딩이는 어차피 하루에 한개의 숙제밖에 해결할 수 없기 때문에 적절하게 숙제들을 선택하는 계획을 짜려고 한다. 가장 많은 점수를 받을 수 있도록 게으른 코딩이를 도와주자.
입력 설명
첫 줄에 숙제의 갯수를 의미하는 정수 N (1 ≤ N ≤ 1,000)이 주어진다.
다음 줄부터 N개의 줄에는 각각 두 정수 d (1 ≤ d ≤ 1,000)와 w (1 ≤ w ≤ 100)가 주어진다. d는 숙제 제출일까지 남은 일수를 의미하며, w는 숙제의 점수를 의미한다.
출력 설명
가장 많이 받을 수 있는 점수를 출력한다.
도움
예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 숙제 순으로 수행하고, 세 번째, 여섯 번째 숙제를 포기하면 185점의 최대점수를 받을 수 있다.