#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
using ll=long long;
const int MOD=998244353;
int main(){
    int n,k;
    cin>>n>>k;
    vector<int> l(k),r(k),dp(n+5),sum(n+5);
    rep(i,k) cin>>l[i]>>r[i];
    dp[1]++;sum[1]++;
    for(int i=2;i<=n;i++){
        rep(j,k){
            int a=i-r[j];
            int b=i-l[j];
            a=max(a,1);
            if(b<0) continue;
            dp[i]+=sum[b]-sum[a-1];
            dp[i]=(dp[i]%MOD+MOD)%MOD;
        }
        sum[i]=dp[i]+sum[i-1];
        sum[i]=(sum[i]%MOD+MOD)%MOD;
    }
    cout<<(dp[n]+MOD)%MOD<<endl;
    return 0;
}