#include <bits/stdc++.h>
using namespace std;
const long long MOD = 998244353;
int main() {
  ios_base::sync_with_stdio(0);
  int n, k;
  cin >> n >> k;
  vector<int> l(k), p(k);
  for (int i = 0; i < k; ++i) cin >> l[i] >> p[i];
  vector<long long> dp(n);
  dp[0] = 1;
  for (int i = 1; i < n; ++i) {
    dp[i] = dp[i - 1];
    for (int j = 0; j < k; ++j) {
      int pocz = i - p[j];
      int kon = i - l[j];
      if (kon >= 0) {
        pocz = max(pocz, 0);
        long long pref = dp[kon];
        if (pocz != 0) pref -= dp[pocz - 1];
        dp[i] = (dp[i] + pref) % MOD;
      }
    }
  }
  long long odp = dp[n - 1] - dp[n - 2];
  if (odp < 0) odp += MOD;
  cout << odp;
  return 0;
}
