#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, mod = 998244353;
  int k;
  cin >> n >> k;
  set<long long> s, next;
  vector<long long> df(n, 0);
  for (int i = 0; i < k; i++) {
    long long tmp1, tmp2;
    cin >> tmp1 >> tmp2;
    for (long long j = tmp1; j < tmp2 + 1; j++) {
      s.insert(j);
    }
  }
  df[0] = 1;
  next.insert(0);
  for (long long i = 0; i < n; i++) {
    if (df[i] == 0) {
      continue;
    }
    next.erase(next.begin());
    for (auto itr = s.begin(); itr != s.end(); itr++) {
      if (i + *itr < n) {
        df[i + *itr] += df[i];
        df[i + *itr] %= mod;
        next.insert(i + *itr);
      } else {
        break;
      }
    }
  }
  cout << df[n - 1] << endl;
}
