atcoder#ARC084D. [ARC084F] XorShift

[ARC084F] XorShift

Score : 10001000 points

Problem Statement

There are NN non-negative integers written on a blackboard. The ii-th integer is AiA_i.

Takahashi can perform the following two kinds of operations any number of times in any order:

  • Select one integer written on the board (let this integer be XX). Write 2X2X on the board, without erasing the selected integer.
  • Select two integers, possibly the same, written on the board (let these integers be XX and YY). Write XX XOR YY (XOR stands for bitwise xor) on the blackboard, without erasing the selected integers.

How many different integers not exceeding XX can be written on the blackboard? We will also count the integers that are initially written on the board. Since the answer can be extremely large, find the count modulo 998244353998244353.

Constraints

  • 1N61 \leq N \leq 6
  • 1X<240001 \leq X < 2^{4000}
  • 1Ai<24000(1iN)1 \leq A_i < 2^{4000}(1\leq i\leq N)
  • All input values are integers.
  • XX and Ai(1iN)A_i(1\leq i\leq N) are given in binary notation, with the most significant digit in each of them being 11.

Input

Input is given from Standard Input in the following format:

NN XX

A1A_1

::

ANA_N

Output

Print the number of different integers not exceeding XX that can be written on the blackboard.

3 111
1111
10111
10010
4

Initially, 1515, 2323 and 1818 are written on the blackboard. Among the integers not exceeding 77, four integers, 00, 33, 55 and 66, can be written. For example, 66 can be written as follows:

  • Double 1515 to write 3030.
  • Take XOR of 3030 and 1818 to write 1212.
  • Double 1212 to write 2424.
  • Take XOR of 3030 and 2424 to write 66.
4 100100
1011
1110
110101
1010110
37
4 111001100101001
10111110
1001000110
100000101
11110000011
1843
1 111111111111111111111111111111111111111111111111111111111111111
1
466025955

Be sure to find the count modulo 998244353998244353.