#include<bits/stdc++.h>
using namespace std;
const int mod = 998244353;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	
	int n,k;
	unordered_set<int>st;
	cin>>n>>k;
	for(int i=0;i<k;i++){
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;j++){
			st.insert(j);
		}
	}
	if(n==1){
		cout<<0<<endl;
		return 0;
	}
	vector<int>a;
	for(int x:st){
		a.push_back(x);
	}
	sort(a.begin(),a.end());
	
	long long int dp[n+1]={0};
	dp[1]=1;
	for(int i=1;i<n;i++){
		for(int j=0;j<a.size();j++){
			if(i+a[j]>n){
				break;
			}
			else{
				dp[i+a[j]] = (dp[i+a[j]]%mod + dp[i]%mod)%mod;
			}
		}
	}
	cout<<dp[n]<<endl;
}