#include <bits/stdc++.h>
int compare_int(const void *a, const void *b) { return *(int *)a - *(int *)b; }
int compare_int2(const void *a, const void *b) { return *(int *)b - *(int *)a; }
int main(void) {
  int n, k;
  long long int ans[200010] = {0, 1, 0};
  long long int s[200010] = {0};
  int l[15] = {0}, r[15] = {0};
  int i, j;
  int count = 0;
  scanf("%d %d", &n, &k);
  for (i = 0; i < k; i++) {
    scanf("%d %d", &l[i], &r[i]);
  }
  qsort(l, k, sizeof(int), compare_int);
  qsort(r, k, sizeof(int), compare_int);
  for (i = 0; i < k; i++) {
    for (j = l[i]; j <= r[i]; j++) {
      s[count] = j;
      count++;
    }
  }
  for (i = 2; i <= n; i++) {
    for (j = 0; j < count; j++) {
      if (i > s[j]) {
        ans[i] += ans[i - s[j]];
      }
      ans[i] = ans[i] % 998244353;
    }
  }
  printf("%lld", ans[n]);
  return 0;
}
