#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10,P=998244353;
int n,m,res;
vector<pair<int,int>> v;
vector<int> cf(N+10,0);
bool pan_cf(){
int sum=0;
for(int i=1;i<=n;i++){
sum=sum+cf[i];
if(sum<2) return false;
}
return true;
}
void dfs(int i){
if(i==m){
if(pan_cf()){
res=(res+1)%P;
}
return;
}
cf[v[i].first]++;
cf[v[i].second+1]--;
dfs(i+1);
cf[v[i].first]--;
cf[v[i].second+1]++;
dfs(i+1);
return;
}
void solve(){
dfs(0);
cout<<res<<endl;
return;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m;
int start,end;
for(int i=1;i<=m;i++){
cin>>start>>end;
v.push_back({start,end});
}
solve();
return 0;
}