To prepare for the upcoming school year, Richard has bought books for his English class. Each book is assigned a value,
, Richard's willingness to read that book.
Richard wants to choose of the
books and calculate his willingness to read those
books. The willingness to read those
books is the product of the willingness to read each individual book. For example, if he bought books of value
, and he chose
books with indices
, the willingness to read those books would be
.
Richard wants the sum of the willingness of all distinct combinations of books for all values of
.
However, since Richard does not like large numbers, he wants each sum modulo .
Two combinations are considered distinct if the indices of the books chosen are different, regardless of the values of the books.
Input Specification
The first line of input will contain a single integer
, the number of books that Richard bought.
The second line of input will contain space-separated integers, the
integer representing
, the value of each book.
Output Specification
On one line, print space-separated integers, the
integer representing the sum of the willingness of all distinct combinations of choosing
books, modulo
.
We define modulo
in the 2 equivalent ways:
- Taking the remainder of
, adding
if the result is negative.
- Subtracting
from
, or adding
to
, until
is in the interval
.
It may or may not help to know that .
Constraints
Subtask 1 [5%]
Subtask 2 [10%]
Subtask 3 [35%]
Subtask 4 [50%]
No additional constraints.
Sample Input 1
4
1 2 2 3
Sample Output 1
8 23 28 12
Explanation for Sample Output 1
,
.
There are distinct combinations to read
book:
Their sum is .
There are distinct combinations to read
books.
Their sum is .
There are distinct combinations of reading
books.
Their sum is .
The only distinct combination of reading books is
.
Sample Input 2
3
-1 -1 -1
Sample Output 2
998244350 3 998244352
Comments