치즈 탑

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

문제

치즈 블록들을 높이가 최대 $T$ ($1 \le T \le 1000$)인 하나의 탑으로 쌓아 보관하려고 합니다.

치즈는 $1$번부터 $N$번까지 번호가 매겨진 $N$ ($1 \le N \le 100$)가지 종류가 있고, 각 종류의 블록은 원하는 만큼 얼마든지 사용할 수 있습니다. $i$번 종류의 블록은 가치 $V_i$ ($1 \le V_i \le 10^6$)와 높이 $H_i$ ($5 \le H_i \le T$)를 가지며, 모든 $H_i$는 $5$의 배수입니다.

치즈는 눌리면 압축됩니다. 높이가 $K$ ($1 \le K \le T$) 이상인 블록을 큰 블록이라고 부릅니다. 큰 블록은 탑에서 자신보다 아래에 있는 모든 블록(다른 큰 블록 포함)을 짓누릅니다. 짓눌린 블록은 가치는 그대로지만 높이가 원래의 정확히 $4/5$로 줄어듭니다. 모든 높이가 $5$의 배수이므로 짓눌린 높이는 항상 정수가 됩니다. 짓눌림은 전부 아니면 전무입니다. 즉, 블록은 짓눌리거나 짓눌리지 않을 뿐, 위에 큰 블록이 여러 개 있다고 해서 더 많이 짓눌리지는 않습니다. 어떤 블록이 큰 블록인지는 오직 그 블록 자신의 높이로만 정해지며, 탑 전체의 높이와는 무관합니다.

총 높이가 $T$ 이하인 탑 중에서 블록들의 가치 합이 최대가 되도록 쌓고, 그 최대 가치 합을 출력하세요.

예를 들어, 탑의 최대 높이가 $53$이고 높이가 $25$ 이상인 블록이 큰 블록이며 치즈가 세 종류라고 합시다.

Type    Value    Height
  1      100       25
  2       20        5
  3       40       10

만들 수 있는 탑의 한 예는 다음과 같습니다.

          Type  Height  Value
   top -> [1]     25     100
          [2]      4      20   (crushed by [1] above)
          [3]      8      40   (crushed by [1] above)
          [3]      8      40   (crushed by [1] above)
bottom -> [3]      8      40   (crushed by [1] above)

맨 위의 큰 블록이 그 아래의 모든 블록을 짓누릅니다. 총 높이는 $25 + 4 + 8 + 8 + 8 = 53 \le 53$으로 규칙에 맞고, 총 가치는 $100 + 20 + 40 + 40 + 40 = 240$입니다. 이것이 이 블록 집합으로 만들 수 있는 가장 좋은 탑입니다.

입력

  • 첫째 줄: 공백으로 구분된 세 정수 $N$, $T$, $K$.
  • 둘째 줄부터 $N+1$째 줄까지: $i+1$째 줄에는 공백으로 구분된 두 정수 $V_i$와 $H_i$가 주어집니다.

출력

  • 한 줄에 만들 수 있는 탑의 최대 가치 합을 출력합니다.