#include <bits/stdc++.h>
const long long int mod = 998244353;
using namespace std;
long long int dfs(int k, vector<int> &A, int n, vector<int> &dp) {
  if (k > n) {
    return 0;
  }
  if (dp[k] == 0) {
    int sum = 0;
    for (int i = 0; i < A.size(); i++) {
      sum += dfs(A[i] + k, A, n, dp);
    }
    dp[k] = sum % mod;
    return dp[k];
  } else {
    return dp[k];
  }
}
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> A;
  int l, r;
  for (int i = 0; i < k; i++) {
    cin >> l >> r;
    for (int j = l; j <= r; j++) {
      A.push_back(j);
    }
  }
  vector<int> dp(n + 1, 0);
  dp[n] = 1;
  int ans = dfs(1, A, n, dp);
  cout << ans;
  return 0;
}
