#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
int e[20][20], v[1 << 20], num[1 << 20], n, m;
int f[1 << 20];
int main() {
  int x, y;
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= m; i++) scanf("%d%d", &x, &y), e[x - 1][y - 1] = 1;
  for (int i = 1; i < (1 << n); i++) num[i] = num[i >> 1] + (i & 1);
  for (int i = 1; i < (1 << n); i++)
    for (int a = 0; a < n; a++)
      if (i & (1 << a))
        for (int b = 0; b < n; b++)
          if (i & (1 << b) && e[a][b]) v[i] = 1;
  f[0] = 1;
  for (int i = 1; i < (1 << n); i++)
    for (int j = i; j; j = (j - 1) & i)
      if (!v[j])
        if (num[j] & 1)
          f[i] = (f[i] + f[i - j]) % mod;
        else
          f[i] = (f[i] - f[i - j] + mod) % mod;
  printf("%lld\n", 1ll * f[(1 << n) - 1] * m % mod * (mod + 1) / 2 % mod);
  return 0;
}
