XorShift

AtCoder
IDarc084_d
Time2000ms
Memory256MB
Difficulty
There are $N$ non-negative integers written on a blackboard. The $i$\-th integer is $A_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 $X$). Write $2X$ on the board, without erasing the selected integer. * Select two integers, possibly the same, written on the board (let these integers be $X$ and $Y$). Write $X$ XOR $Y$ (XOR stands for bitwise xor) on the blackboard, without erasing the selected integers. How many different integers not exceeding $X$ 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 $998244353$. ## Constraints * $1 \leq N \leq 6$ * $1 \leq X < 2^{4000}$ * $1 \leq A_i < 2^{4000}(1\leq i\leq N)$ * All input values are integers. * $X$ and $A_i(1\leq i\leq N)$ are given in binary notation, with the most significant digit in each of them being $1$. ## Input Input is given from Standard Input in the following format: $N$ $X$ $A_1$ $:$ $A_N$ [samples]
Samples
Input #1
3 111
1111
10111
10010
Output #1
4

Initially, $15$, $23$ and $18$ are written on the blackboard. Among the integers not exceeding $7$, four integers, $0$, $3$, $5$ and $6$, can be written. For example, $6$ can be written as follows:

*   Double $15$ to write $30$.
*   Take XOR of $30$ and $18$ to write $12$.
*   Double $12$ to write $24$.
*   Take XOR of $30$ and $24$ to write $6$.
Input #2
4 100100
1011
1110
110101
1010110
Output #2
37
Input #3
4 111001100101001
10111110
1001000110
100000101
11110000011
Output #3
1843
Input #4
1 111111111111111111111111111111111111111111111111111111111111111
1
Output #4
466025955

Be sure to find the count modulo $998244353$.
API Response (JSON)
{
  "problem": {
    "name": "XorShift",
    "description": {
      "content": "There are $N$ non-negative integers written on a blackboard. The $i$\\-th integer is $A_i$. Takahashi can perform the following two kinds of operations any number of times in any order: *   Select one",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc084_d"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There are $N$ non-negative integers written on a blackboard. The $i$\\-th integer is $A_i$.\nTakahashi can perform the following two kinds of operations any number of times in any order:\n\n*   Select one...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments