Sergio must leave for an urgent matter, so he invents a game to keep his little brother Javier busy. In the game, Javier is given two kinds of tokens:
To finish the game Javier needs to create all the possible distinct arrangements.
An arrangement is defined as an ordered sequence of tokens of length $$$L$$$, where $$$1 \le L \le n$$$. In forming an arrangement you must obey these rules:
Your task is to help Javier figure out how many arrangements he needs to create in order to finish the game. Because this number can be huge, output it modulo $$$10^9+7$$$.
A single line containing two integers $$$m$$$ $$$(1 \le m \le 1000)$$$ and $$$n$$$ $$$(1 \le n \le 1000)$$$.
Output a single line with one integer the number of distinct arrangements modulo $$$10^9 + 7$$$.
2 2
10
In the first case, if $$$m = 2$$$ and $$$n = 2$$$ the possible arrangements are: