# Zhautykov Olympiad 2020 Azerbaijan National Team Selection Contest Revisited

# Happy ending with happy painting

After the police caught Barish, they fined him.
Barish has found himself in possession of an **N**-unit long strip of canvas ( **1** ≤ **N** ≤ ** 10**), and he intends to paint it. However, he has been unable to acquire paint brushes. In their place he has

^{6}

**M**rubber stamps of different colors (

**1**≤

**M**≤

`10`^{6}

), each stamp **K**units wide (

**1**≤

**K**≤

**). Astounded by the possibilities that lie before him, he wishes to know exactly how many different paintings he could conceivably create, by stamping his stamps in some order on the canvas. To use a stamp, it must first be aligned with exactly**

`10`^{6}

**K**neighboring units on the canvas. The stamp cannot extend beyond the ends of the canvas, nor can it cover fractions of units. Once placed, the stamp paints the K covered units with its color. Any given stamp may be used multiple times, once, or even never at all. But by the time Barish is finished, every unit of canvas must have been painted at least once. Help Barish find the number of different paintings that he could paint, modulo

**. Two paintings that look identical but were painted by different sequences of stamping operations are counted as the same.**

`10`^{9}+7

#### Input:

The numbers **N**, **M**, **K** are given in the first line. **K** ≤ **N** .

#### Output format:

A single integer: the number of possible paintings, modulo ** 10** .

^{9}+ 7

#### Explanation for first test case

If the two stamps have colors **A** and **B**, the possible paintings are **AAA**, **AAB**,**ABB**, **BAA**, **BBA**, and **BBB**.

3 2 2

6