Tích còn thiếu

View as PDF



Problem types
Points: 1200 Time limit: 1.0s Memory limit: 256M Input: stdin Output: stdout

Cho hai số nguyên dương \(n, m\) và mảng \(a\) gồm \(n\) số nguyên dương phân biệt \(a_{1}, a_{2}, \ldots, a_{n}\). Tính tích các số nằm trong khoảng từ \(1\) đến \(m\) mà không thuộc mảng \(a\). Do kết quả có thể rất lớn, bạn cần đưa ra kết quả sau khi chia lấy phần dư cho \(10^{9} + 7\).

Input

  • Dòng thứ nhất chứa hai số nguyên dương \(n, m\) \((1 \leq n \leq m \leq 10^{5})\).
  • Dòng thứ hai chứa \(n\) số nguyên dương phân biệt \(a_{1}, a_{2}, \ldots, a_{n}\) \((1 \leq a_{i} \leq m)\).

Output

  • Gồm một dòng duy nhất chứa một số nguyên là kết quả của bài toán.

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(m \leq 50\).
  • Subtask \(2\) (\(30\%\) số điểm): \(m \leq 120\).
  • Subtask \(3\) (\(20\%\) số điểm): không có ràng buộc gì thêm.

Example

Test 1

Input
3 5
1 2 4
Output
15
Note

Các số còn thiếu là \(3, 5\) nên tích các số là \(3 \times 5 = 15\)


Comments

There are no comments at the moment.