The Default NTT Prime

More than one of these is a reason 998244353998244353 is the default NTT modulus. Select every true statement.

A

A large power of two dividing p−1p-1 is what guarantees a primitive 2k2^k-th root of unity for every k≤23k \le 23, which is what the divide and conquer needs.

B

It is the largest prime below 2302^{30}, chosen so that products of two residues fit in 64 bits.

C

998244353=7⋅17⋅223+1998244353 = 7 \cdot 17 \cdot 2^{23} + 1, so 2232^{23} divides p−1p - 1.

D

33 is a primitive root modulo 998244353998244353.

E

It is a Mersenne prime, so reduction modulo it is a shift and an add.