#ABC249H. [ABC249Ex] Dye Color

[ABC249Ex] Dye Color

Score : 600600 points

Problem Statement

There are NN balls numbered 11 through NN. Initially, Ball ii is painted in Color AiA_i.

Colors are represented by integers between 11 and NN, inclusive.

Consider repeating the following operation until all the colors of the balls become the same.

  • There are 2N2^N subsets (including the empty set) of the set consisting of the NN balls; choose one of the subsets uniformly at random. Let X1,X2,...,XKX_1,X_2,...,X_K be the indices of the chosen balls. Next, choose a permutation obtained by choosing KK integers out of integers (1,2,,N)(1,2,\dots,N) uniformly at random. Let P=(P1,P2,,PK)P=(P_1,P_2,\dots,P_K) be the chosen permutation. For each integer ii such that 1iK1 \le i \le K, change the color of Ball XiX_i to PiP_i.

Find the expected value of number of operations, modulo 998244353998244353.

Here a permutation obtained by choosing KK integers out of integers (1,2,,N)(1,2,\dots,N) is a sequence of KK integers between 11 and NN, inclusive, whose elements are pairwise distinct.

Notes

We can prove that the sought expected value is always a rational number. Also, under the Constraints of this problem, when the value is represented by two coprime integers PP and QQ as PQ\frac{P}{Q}, we can prove that there exists a unique integer RR such that R×QP(mod 998244353)R \times Q \equiv P(\bmod\ 998244353) and 0R<9982443530 \le R < 998244353. Find this RR.

Constraints

  • 2N20002 \le N \le 2000
  • 1AiN1 \le A_i \le N
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN

A1A_1 A2A_2 \dots ANA_N

Output

Print the answer.

2
1 2
4

The operation is repeated until a subset of size 11 is chosen and the color of the ball is changed to the color of the ball not contained in the subset. The probability is $\displaystyle \frac{2}{4} \times \frac{1}{2}=\frac{1}{4}$, so the expected value is 44.

3
1 1 1
0

The operation is never performed, since the colors of the balls are already the same.

10
3 1 4 1 5 9 2 6 5 3
900221128