Đếm tập con có lặp không thứ tự

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bạn được cho hai số nguyên \(n\)\(k\).

Yêu cầu: Hãy in ra số tập con khác nhau gồm \(k\) phần tử (có thể lặp) trong các số nguyên từ \(1\) đến \(n\).

Hai tập con được xem là khác nhau khi sắp xếp hai tập lại, tồn tại một vị trí mà phần tử ở vị trí đó trong hai tập là khác nhau.

Ví dụ: \((1, 2)\), \((2, 2)\) là tập con thỏa mãn. \((1, 2)\)\((2, 1)\) là hai tập con giống nhau.

Input

  • Chứa số hai số nguyên \(n\)\(k\) \((1 \le n, k \le 10^9)\).

Output

  • Chứa một số nguyên là đáp án của bài toán khi chia lấy dư cho \(10^9 + 7\).

Example

Test 1

Input
6 2 
Output
21

Bình luận

Mới nhất
Tải bình luận...

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