Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P182PROC - ROUND 2C - Trò chơi trí tuệ

Natalya đang tham gia một trò chơi trí tuệ. Trò chơi gồm n câu hỏi. Mỗi câu trả lời đúng người chơi sẽ được thêm 1 điểm. Trò chơi cũng có bộ đếm các câu trả lời đúng liên tiếp. Mỗi khi người chơi trả lời đúng 1 câu, bộ đếm này tăng lên 1. Nếu người chơi trả lời sai, bố đếm sẽ được đặt lại về 0. Nếu sau câu trả lời, bộ đếm này có giá trị k, nó sẽ được đặt lại và điểm số của người chơi sẽ được nhân đôi. Lưu ý trong trường hợp này, điểm của câu trả lời đúng sẽ được cộng vào điểm của người chơi rồi mới được nhân đôi. Khi bắt đầu trò chơi, điểm của người chơi và bộ đếm được đặt về 0.

Natalya nhớ rằng cô đã trả lời đúng m câu hỏi. Nhưng cô không nhớ trật tự đúng sai các câu hỏi của mình. Cô đang cố gắng tìm ra điểm số tối thiểu mình có thể đạt được. Các bạn sinh viên PTIT hãy trợ giúp Natalya tìm ra nhé! Kết quả được lấy modulo 1000000009 (109  + 9) .

Input

Dòng duy nhất chứa 3 số nguyên n, mk (2 ≤  k ≤ n ≤ 109; 0 ≤ m n).

Output

Số nguyên duy nhất - điểm tối thiểu của Natalya đạt được trong trò chơi, sau khi lấy modulo cho 1000000009 (109  + 9).

Example

Test 1:
Input:
5 3 2 Output: 3
Test 2:
Input:
5 4 2
Output:
6

Được gửi lên bởi:adm
Ngày:2018-03-09
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.