#include <bits/stdc++.h>
using namespace std;
long long f(int n, vector<long long> &vec, vector<int> &l, vector<int> &r) {
  if (vec.at(n) >= 0) return vec.at(n);
  long long ff = 0;
  int mi;
  for (int i = 0; i < l.size(); i++) {
    mi = l.at(i);
    while (mi <= r.at(i) && mi <= n) {
      ff += f(n - mi, vec, l, r);
      if (ff >= 998244353LL) ff -= 998244353LL;
      mi++;
    }
  }
  if (ff >= 998244353LL) ff -= 998244353LL;
  vec.at(n) = ff;
  return ff;
}
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> l(k), r(k);
  vector<long long> vec(n + 1, -1);
  for (int i = 0; i < k; i++) cin >> l.at(i) >> r.at(i);
  vec.at(0) = 1;
  cout << f(n - 1, vec, l, r) << endl;
}
