Trò chơi của Lala

Xem dạng PDF

Gửi bài giải


Điểm: 0,63 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Lala năm nay mới vào lớp một. Sáng nay, Lala được học về phép tính cộng. Khi về nhà, Lala đã hứng thú đến nỗi đòi anh trai ~-~ Alex cho mình thêm các bài tập về phép cộng.

Alex của rất vui khi thấy được niềm đam mê toán học của em gái mình. Alex viết ra ~N~ con số vào một tờ giấy. Và đánh dấu các con số theo thứ tự ~1 \rightarrow N~ (kí hiệu ~a_{i}~ là số thứ ~i)~. Bây giờ Lala được cho thêm số ~S~ và phải viết ra tất cả các bộ số {~p_{1}~, ~p_{2}~, ~p_{3}~, ..., ~p_{x}~}, sao cho ~p_{1} < p_{2} < \dots < p_{x}~ và ~a_{p_{1}} + a_{p_{2}} + \dots + a_{p_{x}} = S~. Sau khi nghe xong câu hỏi, Lala liền hỏi ngược lại Alex: "Nếu vậy thì với mỗi số ~1~, ~2~, ~3~, ..., ~(N - 2)~, ~(N - 1)~, ~N~, Lala phải viết ít nhất bao nhiêu lần để làm xong bài tập trên vậy anh?!! ".

Lala thì đã cặm cụi viết ra các bộ số từ lâu. Còn Alex thì đang nhức óc với câu hỏi trên. Các bạn hãy giúp Alex giải nhanh câu đố trên trước khi Lala làm xong bài tập nhé. Nếu không thì Alex sẽ mất mặt với em gái mất!!!.

Input

  • Dòng đầu tiên là ~2~ số ~N~ và ~S~.
  • Dòng thứ hai gồm ~N~ số trong dãy.

Output

  • Gồm ~N~ số trên ~1~ dòng, số thứ ~i~ cho biết số lần viết ít nhất số thứ tự ~i~, để hoàn thành bài tập. Vì các số có thể rất lớn nên bạn chỉ cần in ra phần dư của chúng khi chia cho ~10^{9} + 7~.

Giới hạn

  • ~N \le 1\,000~, ~S \le 10\,000~, ~1 \le a_{i} \le 1\,000~
  • ~60\%~ số test có ~N \le 100~.

Sample Input 1

4 3
1 1 1 2

Sample Output 1

2 2 2 3

Sample Input 2

10 5
1 1 1 1 1 1 1 1 1 1

Sample Output 2

126 126 126 126 126 126 126 126 126 126

Note

Giải thích ví dụ 1:

Các bộ số Lala phải viết: ~\{1,2,3\}, \{1,4\}, \{2,4\}, \{3,4\}~.

Nên các số ~1, 2, 3, 4~ được viết lần lượt ~2, 2, 2, 3~ lần.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.