#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=200000;
const ll mod=998244353;
ll a[N*2];
bool d[N];
ll dp[N];
int main(){
	int n,k,cnt=0;
	scanf("%d %d",&n,&k);
	for (int i=1;i<=k;i++){
		int l,r;
		scanf("%d %d",&l,&r);
		for (int j=l;j<=r;j++){
			if (!d[j]){
				a[cnt++]=j;
				d[j]=1;
			}
		}
	}
	cnt--;
	sort(a,a+cnt);
	dp[1]=1;
//	for (int i=0;i<=cnt;i++) cout<<a[i]<<" ";
//	puts("");
	for (int j=1;j<=n;j++){
		for (int i=0;i<=cnt;i++){
			if (j-a[i]>0) {
				dp[j]=(dp[j]+dp[j-a[i]])%mod;
		//		if (j==5) cout<<a[i]<<endl;
			}
		//	cout<<i<<" "<<j<<" "<<dp[j]<<endl;
		}
	}
//	for (int i=0;i<=cnt;i++){
//		for (int j=a[i];j<=n;j++){
//			dp[j]=(dp[j]+(dp[j-a[i]]>0?1:0))%mod;
//			cout<<i<<" "<<j<<" "<<dp[j]<<endl;
//		}
//	}
	printf("%lld\n",dp[n]);
	return 0;
}