Điểm: 400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một con kiến đang ở gốc tọa độ (0,0) của lưới nguyên. Mỗi bước di chuyển, từ ô \((x, y)\) kiến có thể đi sang một trong ba ô \((x+1, y)\), \((x, y+1)\), \((x+1, y+1)\). Hãy đếm số cách khác nhau để kiến đi đến được ô \((n, m)\). Hai cách đi được coi là khác nhau nếu số bước di chuyển là khác nhau, hoặc tồn tại \(i\) sao cho bước di chuyển thứ \(i\) ở hai cách đi là khác nhau

Input

  • Gồm hai số tự nhiên: \(n\) \(m\)

Output

  • In ra phần dư của số cách đi khi chia cho \(10^9+7\)

Scoring

  • Subtask \(0\)(\(50\%\) số điểm): \(n, m \leq 10\)
  • Subtask \(1\)(\(25\%\) số điểm): \(n, m \leq 1000\)
  • Subtask \(2\)(\(15\%\) số điểm): \(n, m \leq 10^5\)
  • Subtask \(3\)(\(10\%\) số điểm): \(n, m \leq 10^7\)

Example

Test 1

Input
0 10
Output
1

Test 2

Input
1 10
Output
21

Test 3

Input
3 3
Output
63

Bình luận

Không có bình luận nào.