Loli Academy 2023 Contest 0111 - Final Contest Summer 2023

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 7

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


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 7

Hãy đếm xem có bao nhiêu mảng khác nhau ~a_1, a_2, \dots, a_n~ trong đó ~a_i~ nhận các giá trị nguyên dương trong đoạn ~[1,M]~ sao cho tồn tại ít nhất một đoạn ~K~ giá trị liên tiếp giống nhau?

Ở đây hai mảng được gọi là khác nhau nếu như tồn tại ít nhất một vị trí mà giá trị phần tử hai mảng ở vị trí này là khác nhau.

Input

  • Một dòng duy nhất chứa ba số nguyên dương ~n,M,K\ (1\le n,M,K\le 10^6)~.

Output

  • Một số nguyên duy nhất là số lượng mảng khác nhau tìm được. Con số này có thể rất lớn nên bạn chỉ cần lấy phần dư của nó khi chia cho ~10^9+7~.
Sample Input 1
3 2 2
Sample Output 1
6

Giải thích: Các mảng tìm được là ~(1, 1, 1), (1, 1, 2), (1, 2, 2), (2, 1, 1), (2, 2, 1), (2, 2, 2)~.


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 6

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