#include <bits/stdc++.h>
using namespace std;
long long ft[200005];
int n, k, l[15], r[15];
void update(int p, long long v) {
  while (p <= n) {
    ft[p] += v;
    ft[p] %= 998244353;
    p += p & -p;
  }
}
long long query(int p) {
  long long sum = 0;
  while (p) {
    sum += ft[p];
    sum %= 998244353;
    p -= p & -p;
  }
  return sum;
}
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 0; i < k; ++i) {
    scanf("%d%d", &l[i], &r[i]);
  }
  update(1, 1);
  for (int i = 0; i < k; ++i) {
    for (int j = n; j >= 1; ++j) {
      if (query(j) != 0) {
        update(j + l[i], query(j));
        update(j + r[i] - 1, -query(j));
      }
    }
  }
  printf("%lld\n", query(n));
}
