Trạng thái

Bạn được cho một dãy số nguyên dương \(a_1, a_2, ... a_n\) độ dài \(n\). Đếm số cách chọn ra một tập con từ dãy số \(a\) (có thể không liên tiếp) sao cho giá trị trung bình của tập con đó là một số nguyên.

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương \(n\) (\(1 \leq n \leq 100\)).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_i\) (\(1 \leq a_i \leq 10^9\)).

Dữ liệu ra

  • Một dòng duy nhất là kết quả bài toán modulo 998244353.

Ví dụ

Input Output
3
2 6 2
6
5
5 5 5 5 5
31

Notes

Ở ví dụ 1, ta có thể chọn các tập:

\(\dfrac{a_1}{1} = 2\) là một số nguyên.

\(\dfrac{a_2}{1} = 6\) là một số nguyên.

\(\dfrac{a_3}{1} = 2\) là một số nguyên.

\(\dfrac{a_1 + a_2}{2} = 4\) là một số nguyên.

\(\dfrac{a_1 + a_3}{2} = 2\) là một số nguyên.

\(\dfrac{a_2 + a_3}{2} = 4\) là một số nguyên.

\(\dfrac{a_1 + a_2 + a_3}{3} = \dfrac{10}{3}\) không phải là một số nguyên, nên ta không chọn tập này.

Thông tin
Thông tin bài tập
Gửi bài giải
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
250 M
I/O
stdin -> stdout
Loại đề bài
Phương pháp: Quy hoạch động
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text