MOD = 998244353 class Bit: def __init__(self, n): self.size = n self.tree = [0] * (n + 1) def sum(self, i): s = 0 while i > 0: s += self.tree[i] i -= i & -i return s def add(self, i, x): while i <= self.size: self.tree[i] += x i += i & -i N,M = map(int,input().split()) PK = [list(map(int,input().split())) for _ in range(M)] fact = [1]*(N+1) r = 1 for i in range(1, N+1): fact[i] = r = r * i % MOD ans = (N - M) * (N - M - 1) // 2 ans %= MOD ans *= fact[N - M] ans //= 2 ans %= MOD ans %= MOD PK.sort(key = lambda x:x[1]) bit = Bit(N) cnt = 0 for i,(p,k) in enumerate(PK,start = 1): bit.add(p,1) cnt += i - bit.sum(p) cnt %= MOD cnt *= fact[N-M] ans += cnt ans %= MOD tmp3 = 0 for i,(p,k) in enumerate(PK,start = 1): tmp = k - i tmp2 = N - M - tmp tmp3 += (N - p - M + bit.sum(p)) * tmp tmp3 += (p - bit.sum(p)) * tmp2 tmp3 %= MOD tmp3 *= fact[N - M - 1] tmp3 %= MOD ans += tmp3 ans %= MOD print(ans)