#include<iostream>
using namespace std;
const long long MOD=998244353;
typedef pair<long long,long long>P;
int main(){
  long long n,k;
  long long dp[555555]={0};
  P seg[20];
  cin>>n>>k;
  for(int i=0;i<k;i++){
    long long l,r;
    cin>>l>>r;
    seg[i]=P(l,r);
  }
  
  dp[1]=1;
  dp[2]=-1;
  for(int i=1;i<=n;i++){
    dp[i]=(dp[i]+dp[i-1])%MOD;
    for(int j=0;j<k;j++){
      long long l=seg[j].first;
      long long r=seg[j].second;
      dp[i+l]=(dp[i+l]+dp[i])%MOD;
      dp[i+r+1]=(dp[i+r+1]-dp[i])%MOD;
    }
  }
  while(dp[n]<0){
    dp[n]+=MOD;
  }
  cout<<dp[n]<<endl;
  return(0);
}