#include <bits/stdc++.h>
int main() {
  long long int n, k;
  scanf("%lld %lld", &n, &k);
  long long int i, j;
  long long int l[11], r[11];
  for (i = 0; i < k; i++) scanf("%lld %lld", &l[i], &r[i]);
  long long int p = 998244353;
  long long int cnt[200005], d[200005];
  for (i = 0; i <= n; i++) cnt[i] = d[i] = 0;
  cnt[0] = 1;
  for (i = 0; i < n; i++) {
    if (i > 0) {
      d[i] = (d[i] + d[i - 1]) % p;
      cnt[i] = d[i];
    }
    for (j = 0; j < k; j++) {
      d[l[j] + i] = (d[l[j] + i] + cnt[i]) % p;
      d[r[j] + 1 + i] = (d[r[j] + 1 + i] - cnt[i] + p) % p;
    }
  }
  printf("%lld\n", cnt[n - 1]);
  return 0;
}
