#include <bits/stdc++.h>

using namespace std;

using int64 = long long;
const int mod = 998244353;


int main() {
  int N, M;
  bitset< 300 > X[300];
  cin >> N >> M;
  int rank = 0;
  for(int i = 0; i < N; i++) {
    bitset< 300 > tap;
    for(int j = 0; j < M; j++) {
      int p;
      cin >> p;
      tap[j] = p;
    }
    for(int j = 0; j < M; j++) {
      if(tap[j]) {
        tap ^= X[j];
        if(tap[j]) {
          X[j] = tap;
          ++rank;
          break;
        }
      }
    }
  }
  int64 all = 1, sub = 1;
  for(int i = 0; i < N + M - 1; i++) (all *= 2) %= mod;
  for(int i = 0; i < N + M - rank - 1; i++) (sub *= 2) %= mod;
  cout << (all + mod - sub) % mod << endl;
}
