ROAD - ROAD
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: a516 Thánh Ngốc

KenRoly là một tỉ phú giàu nhất đất nước “Học nhóm Pascal” khi anh còn đang ở độ tuổi rất trẻ - 17 tuổi. Sau khi xây tòa nhà 80 tầng và lập nên vô số kỉ lục cho nước nhà, cũng như đối với thế giới nói chung, anh vẫn cảm thấy chừng đó là chưa đủ. Anh muốn đưa đất nước mình đi lên để sánh vai với các cường quốc năm châu. Một lần anh trở về quê hương, trở về thị trấn cũ nơi anh sinh ra, điều đầu tiên anh nhận thấy chính là con đường đầy sỏi đã năm xưa của thị trấn vẫn vậy, không chút thay đổi. Đó là con đường “huyết mạch của cả thị trấn, là con đường chính để người dân có thể đi lại sang những vùng lân cận. Anh cảm thấy mình phải làm gì đó cho quê hương mình và đã nảy ra một ý tưởng tuyệt vời, đó là xây dựng con đường siêu to khổng lồ với kiến trúc độc đáo từ con đường cũ. Con đường của KenRoly gồm một dãy các phiến đá lớn được là từ các loại đá siêu cứng được thi tập từ khắp nơi trên thế giới. Các phiến đã của anh có 2 gam màu chính là trắng và đen. Ở đất nước “Học nhóm Pascal”, số N là con số đại diện cho sự thịnh vượng và số K là con số đại diện cho sự xui xẻo, thế nên Roly quyết định rằng anh ấy sẽ xây dựng con đường có đúng N phiến đã liên tiếp nhưng không được có K phiến đã màu trắng cạnh nhau. Sau khi xây dựng xong, anh đặt tên cho con đường ấy là “OLDTOWNROAD”. Chỉ sau một thời gian ngắn, OLDTOWNROAD đã trở thành một địa danh du lịch nổi tiếng, khiến cho thị trấn quê hương Roly trở nên thịnh vượng và giàu có như anh mong muốn. Sau đó, anh đã bắt đầu ước mơ thay đổi cuộc sống của người dân trên khắp đất nước bằng cách tương tự nhưng có một điều anh cần biết trước hết, đó chính là anh ấy có thể có bao nhiêu con đường tương tự OLDTOWNROAD để có thể dự trù kinh phí. Hãy giúp anh ấy tính toán con số ấy nhé!
Input

    Một dòng duy nhất chứa 2 số nguyên N và K (N,K <= 12345678).

Output

    In ra một dòng duy nhất gồm 1 số nguyên là kết quả của bài toán. Vì kết quả rất lớn, in ra kết quả sau khi đã chia lấy dư cho 10^9+7.

Ví dụ

Input Output
3 2 5

Ví dụ

Coi màu trắng là 1, màu đen là 0. Ta có các cách chọn thỏa mãn là:

000, 001, 010, 100, 101


Nguồn: Học nhóm Pascal Contest 7

Back to Top