Lát gạch cổ điển đen trắng

View as PDF

Time limit: 1.0s , Memory limit: 256M , Points: 25 (partial)

Nhà Bi lát gạch kiểu cổ điển đen trắng với mặt sàn kích thước M \times N, gọi ô ở dòng thứ r và cột thứ c là ô(r,c), đánh chỉ số dòng và cột từ số 1. Bi lát theo quy tắc:

  • Có chính xác N ô màu đen.

  • Ô (1,1) là màu đen.

  • Nếu ô (r, a)(r, b) là màu đen thì ô (r, k) là màu đen với a < k < b.

  • Nếu ô (r, c) là màu đen thì ô (r-1, c) nếu ô tồn tại sẽ là màu đen.

  • Nếu ô (r, c) là màu đen và không có k nào thỏa k < c sao cho ô (r, k) là màu đen thì ô (r+1, c) nếu tồn tại thì nó sẽ có màu trắng.

  • Hai cách lát gạch là khác nhau nếu có một ô của cách lát thứ nhất màu trắng và màu đen đối với cách lát thứ hai.

Quá nhiều quy tắc nên Bi rối, nhờ Anh chị lập trình giúp.

Input

Dòng duy nhất chứa hai số nguyên M, N thỏa 1 \le M, N \le 10^5.

Output

In ra số cách cần lát, vì số lớn nên modulo cho 10^9 + 7.

Samples

Sample Input 1
2 6
Sample Output 1
7
Sample Input 2
3 20
Sample Output 2
487

Note

Ở Testcase 1 có 7 cách lát như hình vẽ sau:


Comments