#include <bits/stdc++.h>
int main() {
  int N, K, i, j, k, l, Si;
  scanf("%d %d", &N, &K);
  int a[K][2];
  for (i = 0; i < K; i++) {
    scanf("%d %d", &a[i][0], &a[i][1]);
  }
  int S[N], f[N + 1];
  for (i = 0; i < N; i++) {
    S[i] = 0;
    f[i] = 0;
  }
  f[N] = 0;
  j = 0;
  for (k = 1; k <= N; k++) {
    for (i = 0; i < K; i++) {
      if (a[i][0] <= k && k <= a[i][1]) {
        S[j] = k;
        j++;
        break;
      }
    }
  }
  f[1] = 1;
  for (i = 1; i <= N; i++) {
    for (k = 0; k < j; k++) {
      Si = S[k] + i;
      if (Si <= N) {
        f[Si] += f[i];
        f[Si] = f[Si] % 998244353;
      } else {
        break;
      }
    }
  }
  printf("%d\n", f[N]);
}
