#include <bits/stdc++.h>
using namespace std;
long long MOD = 998244353;
long long solve(long long i, vector<int> &v, long long n,
                vector<long long> &dp) {
  if (i > n) {
    return 0;
  }
  if (i == n) {
    return 1;
  }
  if (dp[i - 1] != -1) {
    return dp[i - 1];
  }
  long long ans = 0;
  for (int j = 0; j < v.size(); j++) {
    long long temp = solve(i + v[j], v, n, dp) % MOD;
    ans = (ans % MOD + temp) % MOD;
  }
  return dp[i - 1] = ans;
}
int main() {
  long long n, k;
  cin >> n >> k;
  vector<int> v;
  while (k--) {
    int l, r;
    cin >> l >> r;
    for (int i = l; i <= r; i++) {
      v.push_back(i);
    }
  }
  vector<long long> dp(n, -1);
  long long ans = solve(1, v, n, dp) % MOD;
  cout << ans << endl;
  return 0;
}
