만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

2021년 최고의 문제

시간 제한2초메모리 제한1024 MB

요약
길이 m인 이진수 n개로 이루어진 집합 B와 이진수 X가 주어집니다. 출력 형식은 문제에 명시되어 있지 않습니다.
난이도

보통10점 중 7점

유형
비트 연산, 행렬, 수학
정답자
아직 제출이 없습니다

문제

올해는 2021년이다. 사람들은 여전히 COVID에 관심이 많고, NNSU는 ICPC 2020에서 막 우승했으며, 이미 제정신이 아니다. 얼마나 그런지는 아직 모른다. 우리는 SnackDown 결승에 낼 문제를 찾고 있었고, 7dan이 이 문제를 제안했다. 어떤 이유에서인지 그때는 이 문제를 쓰지 않기로 했지만, 내부에서는 The Best Problem of 2021이라는 이름으로 알려지게 되었다.

정수 배열 BB와 정수 XX가 주어진다. 원소를 Z2\mathbf{Z}_2 위의 벡터로 보고, 덧셈을 비트 XOR로 할 때, 집합 {1,2,…,X}\{1, 2, \ldots, X\}의 부분집합 SS 중에서 BB가 그 기저인 것의 개수를 구하라. 답은 모듈러 998244353으로 나눈 나머지로 출력한다(당연히).

BB가 SS의 기저라는 것은, SS의 모든 원소가 BB의 원소들의 XOR로 표현되고, 그러한 배열 중 크기가 가장 작다는 뜻이다.

입력

첫 줄에 두 정수 nn과 mm (1≤n,m≤20001 \le n, m \le 2000)이 주어진다. 각각 BB의 크기와 이진수 표현의 길이이다. BB의 모든 원소와 정수 XX는 정확히 mm자리 이진수 문자열로 주어지며, 앞자리 0이 있을 수 있다.

다음 nn개의 줄에는 BB의 원소를 나타내는 길이 mm의 이진수 문자열이 한 줄에 하나씩 주어진다.

마지막 줄에는 XX를 나타내는 길이 mm의 이진수 문자열이 주어진다.

출력

답은 직접 알아내 보라.

예제4

  1. 예제 1

    입력
    4 4
    0001
    0010
    0100
    1000
    1101
    
    예상 출력
    7364
    
  2. 예제 2

    입력
    3 2
    00
    00
    00
    11
    
    예상 출력
    0
    
  3. 예제 3

    입력
    2 3
    110
    101
    101
    
    예상 출력
    1
    
  4. 예제 4

    입력
    3 10
    1111100110
    0011110100
    0101100001
    1110000001
    
    예상 출력
    38