Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
Tuyển tập đề thi HSG
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Có ~N~ viên đá quý được đánh số từ 1 đến ~N~. Viên thứ ~i~ (~1 ≤ i ≤ N~) có khối lượng là ~w_i~ và giá trị là ~v_i~.

Nam định chọn một số viên bỏ vào chiếc túi của anh ta để mang về. Sức chứa tối đa của chiếc túi là ~W~, nghĩa là tổng khối lượng các vật có thể mang tối đa là ~W~.

Hãy tìm tổng giá trị lớn nhất của các viên đá mà Nam có thể mang về nhà.

Input

  • Dòng đầu tiên chứa hai số nguyên ~N~ (~1 ≤ N ≤ 100~) và ~W~ (~1 ≤ W ≤ 10^5~): số lượng viên đá và sức chứa tối đa của chiếc túi.
  • ~N~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~w_i~ (~1 ≤ w_i ≤ W~) và ~v_i~ (~1 ≤ v_i ≤ 10^9~) — lần lượt là khối lượng và giá trị của viên đá thứ ~i~.

Output

  • Xuất ra tổng giá trị lớn nhất của các viên đá mà Nam có thể mang về nhà.

Ví dụ

Input
3 8
3 30
4 50
5 60
Output
90
Giải thích:

Chọn viên đá thứ nhất và thứ 3, chúng có trọng lượng là 3+5=8 vừa với chiếc túi và giá trị là 30+60=90.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.