#include <bits/stdc++.h>
const long long mod = 998244353;
using namespace std;
void solve() {
  long long n, k;
  cin >> n >> k;
  vector<long long> arr(n, 0);
  vector<long long> dis;
  long long l, r;
  for (long long i = 0; i < k; i++) {
    cin >> l >> r;
    for (long long j = l; j < r + 1; j++) {
      dis.push_back(j);
    }
  }
  sort(dis.begin(), dis.end());
  auto ip = unique(dis.begin(), dis.end());
  dis.resize(distance(dis.begin(), ip));
  long long len = dis.size();
  arr[0] = 1;
  for (long long i = 1; i < n; i++) {
    for (long long j = 0; j < len; j++) {
      if (i - dis[j] >= 0)
        arr[i] += arr[i - dis[j]];
      else
        break;
    }
  }
  cout << arr[n - 1] % mod << '\n';
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long t = 1;
  for (long long i = 0; i < t; i++) {
    solve();
  }
  return 0;
}
