#include<iostream>
#include<algorithm>
using namespace std;
const int N=3333;
const int mod=80112002;
bool g[N][N];
int f[N][N];
int s[N];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
s[i]=s[i-1]+i;
while(m--)
{
int x,y;
cin>>x>>y;
g[x][y]=true;
}
int ans=0;
for(int len=2;len<=n;len++)
{
for(int i=1;i+len-1<=n;i++)
{
int l=i,r=i+len-1;
f[l][r]=-1e9;
for(int k=l;k<=r;k++)
if(!g[l][k]&&!g[k+1][r])
{
if(f[l][r]<f[l][k]+f[k+1][r]+s[r]-s[l-1])
{
f[l][r]=f[l][k]+f[k+1][r]+s[r]-s[l-1];
ans=max(ans%mod,len%mod);
}
}
}
}
cout<<ans;
return 0;
}