Huseyn received many gifts and decided to neatly pack them into boxes for his friends.
There are types of gifts — gifts of the same type are identical, while gifts of different types are distinct. An unlimited number of gifts of each type is available.
There are also different boxes (each intended for a different friend). No box may contain more than one gift of the same type, but it may be left empty. At the same time, each type of gift must be placed into at least one box.
In how many ways can Huseyn distribute the gifts among the boxes?
Compute the answer modulo 10^9 + 7.
Two integers and m~(1 \le n, m \le 10^9).
Print the number of ways to pack the gifts modulo 10^9 + 7.
Example 1