PreVOI 2019 - Icecream

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Ở cỗ máy bán kem tự động, mỗi que kem được bán với giá ~50~ cent và máy chỉ chấp nhận các loại đồng xu ~50~ cent, ~1~ USD và ~2~ USD (~1~ USD ~= 100~ cent). Ban đầu, máy có ~M50~ xu ~50~ cent, ~M1~ xu ~1~ USD và ~M2~ xu ~2~ USD. Tiền thối khi trả ~1~ USD chỉ được trả nếu máy có đồng ~50~ cent. Tiền thối khi trả ~2~ USD chỉ được trả khi máy có (a) một xu ~1~ USD và một xu ~50~ cent hoặc (b) ba xu ~50~ cent. Nếu cả hai trường hợp thỏa mãn, máy luôn chọn phương án (a). Nếu thiếu đồng xu để trả tiền thừa, cỗ máy sẽ không bán kem. Chỗ chứa xu của máy là hữu hạn, nên ở mọi thời điểm, không được có quá ~MMAX~ xu ở mỗi mệnh giá trong máy.

Có ~N~ học sinh đứng trước cỗ máy, và thầy giáo đi kèm cũng có rất nhiều đồng ~50~ cent, ~1~ USD, ~2~ USD. Nhiệm vụ của thầy giáo là phát cho mỗi bạn học sinh một đồng xu để mua đúng một que kem, nếu có dư tiền, học sinh sẽ trả cho thầy giáo, học sinh không trao đổi tiền với nhau.

Hãy đếm xem, thầy giáo có bao nhiêu cách phát xu? Hai cách phát được coi là khác nhau nếu tồn tại một học sinh nhận được đồng xu có mệnh giá khác nhau ở hai cách.

Input

Dòng đầu ghi số ~N~ ~(1 \le N \le 300)~ và ~MMAX~ ~(1 \le MMAX \le 10000)~. Dòng thứ hai ghi ba số nguyên, ~M50, M1~ và ~M2~ ~(0 \le M50, M1, M2 \le MMAX)~ - số lượng các xu mệnh giá ~50~ cent, ~1~ USD, ~2~ USD có trong máy lúc ban đầu.

Output

In ra số cách phát tiền theo mod ~(10^9 + 9)~.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~N \le 15, MMAX \le 10~
2 ~35\%~ ~16 \le N \le 50~
3 ~35\%~ Không có giới hạn gì thêm

Sample Input 1

2 2
2 0 0

Sample Output 1

3

Sample Input 2

4 3
0 0 0

Sample Output 2

8

Notes

Với mẫu thứ nhất, ~3~ cách trả là:

  • ~1, 50~

  • ~1, 1~

  • ~1, 2~

Với mẫu thứ hai, ~8~ cách trả là:

  • ~50, 50, 50, 1~;

  • ~50, 50, 50, 2~;

  • ~50, 50, 1, 50~;

  • ~50, 50, 1, 1~;

  • ~50, 50, 1, 2~;

  • ~50, 1, 50, 50~;

  • ~50, 1, 50, 1~;

  • ~50, 1, 50, 2~;


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.