#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
struct mint {
  int n;
  mint(int n_ = 0) : n(n_) {}
};
mint operator+(mint a, mint b) {
  a.n += b.n;
  if (a.n >= MOD) a.n -= MOD;
  return a;
}
mint operator-(mint a, mint b) {
  a.n -= b.n;
  if (a.n < 0) a.n += MOD;
  return a;
}
mint operator*(mint a, mint b) { return (long long)a.n * b.n % MOD; }
mint &operator+=(mint &a, mint b) { return a = a + b; }
mint &operator-=(mint &a, mint b) { return a = a - b; }
mint &operator*=(mint &a, mint b) { return a = a * b; }
mint modpow(mint a, long long b) {
  mint res = 1;
  while (b > 0) {
    if (b & 1) res *= a;
    a *= a;
    b >>= 1;
  }
  return res;
}
mint modinv(mint a) { return modpow(a, MOD - 2); }
mint operator/(mint a, mint b) { return a * modinv(b); }
template <class T>
void H(T *a, int l, int r) {
  if (r - l == 1) return;
  int n = r - l;
  int m = (l + r) / 2;
  H(a, l, m);
  H(a, m, r);
  for (int i = l; i < m; i++) {
    int j = i + n / 2;
    T x = a[i];
    T y = a[j];
    a[i] = x + y;
    a[j] = x - y;
  }
}
mint in() {
  int x;
  scanf("%d", &x);
  return x % MOD;
}
int main() {
  int N, K;
  scanf("%d %d", &N, &K);
  vector<int> A(1 << K);
  vector<int> B(1 << K);
  vector<int> C(1 << K);
  mint x = in(), y = in(), z = in();
  int s = 0;
  for (int i = 0; i < N; i++) {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    s ^= a;
    b ^= a;
    c ^= a;
    A[b]++;
    B[c]++;
    C[b ^ c]++;
  }
  H(A.data(), 0, 1 << K);
  H(B.data(), 0, 1 << K);
  H(C.data(), 0, 1 << K);
  vector<mint> ans(1 << K, 1);
  for (int i = 0; i < 1 << K; i++) {
    vector<int> D(4);
    D[0] = N;
    D[1] = A[i];
    D[2] = B[i];
    D[3] = C[i];
    H(D.data(), 0, 4);
    mint v = 1;
    v *= modpow(x + y + z, D[0] / 4);
    v *= modpow(x - y + z, D[1] / 4);
    v *= modpow(x + y - z, D[2] / 4);
    v *= modpow(x - y - z, D[3] / 4);
    ans[i] = v;
  }
  H(ans.data(), 0, 1 << K);
  vector<mint> out(1 << K);
  for (int i = 0; i < 1 << K; i++) {
    out[i ^ s] = ans[i] / (1 << K);
  }
  for (int i = 0; i < 1 << K; i++) {
    printf("%d ", out[i].n);
  }
  putchar('\n');
}
