CF1119H.Triple

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You have received your birthday gifts — nn triples of integers! The ii -th of them is {ai,bi,ci}\lbrace a_{i}, b_{i}, c_{i} \rbrace . All numbers are greater than or equal to 00 , and strictly smaller than 2k2^{k} , where kk is a fixed integer.

One day, you felt tired playing with triples. So you came up with three new integers xx , yy , zz , and then formed nn arrays. The ii -th array consists of aia_i repeated xx times, bib_i repeated yy times and cic_i repeated zz times. Thus, each array has length (x+y+z)(x + y + z) .

You want to choose exactly one integer from each array such that the XOR (bitwise exclusive or) of them is equal to tt . Output the number of ways to choose the numbers for each tt between 00 and 2k12^{k} - 1 , inclusive, modulo 998244353998244353 .

输入格式

The first line contains two integers nn and kk ( 1n1051 \leq n \leq 10^{5} , 1k171 \leq k \leq 17 ) — the number of arrays and the binary length of all numbers.

The second line contains three integers xx , yy , zz ( 0x,y,z1090 \leq x,y,z \leq 10^{9} ) — the integers you chose.

Then nn lines follow. The ii -th of them contains three integers aia_{i} , bib_{i} and cic_{i} ( 0ai,bi,ci2k10 \leq a_{i} , b_{i} , c_{i} \leq 2^{k} - 1 ) — the integers forming the ii -th array.

输出格式

Print a single line containing 2k2^{k} integers. The ii -th of them should be the number of ways to choose exactly one integer from each array so that their XOR is equal to t=i1t = i-1 modulo 998244353998244353 .

输入输出样例

  • 输入#1

    1 1
    1 2 3
    1 0 1
    

    输出#1

    2 4 
    
  • 输入#2

    2 2
    1 2 1
    0 1 2
    1 2 3
    

    输出#2

    4 2 4 6 
    
  • 输入#3

    4 3
    1 2 3
    1 3 7
    0 2 5
    1 0 6
    3 3 2
    

    输出#3

    198 198 126 126 126 126 198 198 
    

说明/提示

In the first example, the array we formed is (1,0,0,1,1,1)(1, 0, 0, 1, 1, 1) , we have two choices to get 00 as the XOR and four choices to get 11 .

In the second example, two arrays are (0,1,1,2)(0, 1, 1, 2) and (1,2,2,3)(1, 2, 2, 3) . There are sixteen (44)(4 \cdot 4) choices in total, 44 of them ( 111 \oplus 1 and 222 \oplus 2 , two options for each) give 00 , 22 of them ( 010 \oplus 1 and 232 \oplus 3 ) give 11 , 44 of them ( 020 \oplus 2 and 131 \oplus 3 , two options for each) give 22 , and finally 66 of them ( 030 \oplus 3 , 212 \oplus 1 and four options for 121 \oplus 2 ) give 33 .

首页