Please, try EDU on Codeforces! New educational section with videos, subtitles, texts, and problems.
×

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

C. Two Arrays

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputYou are given two integers $$$n$$$ and $$$m$$$. Calculate the number of pairs of arrays $$$(a, b)$$$ such that:

- the length of both arrays is equal to $$$m$$$;
- each element of each array is an integer between $$$1$$$ and $$$n$$$ (inclusive);
- $$$a_i \le b_i$$$ for any index $$$i$$$ from $$$1$$$ to $$$m$$$;
- array $$$a$$$ is sorted in non-descending order;
- array $$$b$$$ is sorted in non-ascending order.

As the result can be very large, you should print it modulo $$$10^9+7$$$.

Input

The only line contains two integers $$$n$$$ and $$$m$$$ ($$$1 \le n \le 1000$$$, $$$1 \le m \le 10$$$).

Output

Print one integer – the number of arrays $$$a$$$ and $$$b$$$ satisfying the conditions described above modulo $$$10^9+7$$$.

Examples

Input

2 2

Output

5

Input

10 1

Output

55

Input

723 9

Output

157557417

Note

In the first test there are $$$5$$$ suitable arrays:

- $$$a = [1, 1], b = [2, 2]$$$;
- $$$a = [1, 2], b = [2, 2]$$$;
- $$$a = [2, 2], b = [2, 2]$$$;
- $$$a = [1, 1], b = [2, 1]$$$;
- $$$a = [1, 1], b = [1, 1]$$$.

Codeforces (c) Copyright 2010-2020 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jul/05/2020 21:09:13 (h3).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|