Đếm tập con không lặp có 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: 900 (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ử (không được lặp) trong các số nguyên từ \(1\) đến \(n\).

Hai tập con được xem là khác nhau khi 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, 3)\) là một tập con thỏa mãn. \((1, 2, 2)\) không thỏa mãn vì giá trị \(2\) xuất hiện \(2\) lần. \((1, 2, 3)\)\((1, 3, 2)\) là hai tập con khác nhau.

Input

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

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
30

Bình luận

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

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