

AC代码:
#include<iostream>
#include<utility>
using namespace std;
const int N = 1e5+10;
typedef pair<int,int> PII;
PII a[N];
int sum,n,m;;
int num[N];
bool check()
{
for(int i=1;i<=n;i++)
{
if(num[i] < 2) return false;
}
return true;
}
void dfs(int u)
{
if(u==m+1)
{
if(check())
sum++;
return;
}
//选
for(int i=a[u].first;i<=a[u].second;i++)
num[i]++;
dfs(u+1);
for(int i=a[u].first;i<=a[u].second;i++)
num[i]--;
//不选
dfs(u+1);
}
int main()
{
cin >> n >> m;
for(int i=1;i<=m;i++)
{
int st,ed;
cin >> st >> ed;
a[i] = {st,ed};
}
dfs(1);
printf("%d",sum % 998244353);
return 0;
}