#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k, l, r;
  scanf("%d%d", &n, &k);
  vector<int> opts, path;
  path.resize(n);
  path[0] = 1;
  for (int i = 0; i < k; i++) {
    scanf("%d%d", &l, &r);
    for (int j = l; j <= r; j++) opts.push_back(j);
  }
  sort(opts.begin(), opts.end());
  int optss = opts.size();
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < optss; j++) {
      if (i + opts[j] < n) {
        path[i + opts[j]] += path[i];
        path[i + opts[j]] %= 998244353;
        continue;
      }
      break;
    }
  }
  cout << path[n - 1];
}
