#include<cstdio>
#define mod 1000000007
#define N 611
int dp[N][N],A[N],B[N],G[N],cnt[N][N],pd[N];
int main()
{
	int n,k,nn,all,ans=0;
	scanf("%d%d",&n,&k);nn=n<<1;all=(n-k)<<1;
	for (int i=1;i<=k;++i) scanf("%d%d",&A[i],&B[i]),pd[A[i]]=B[i],pd[B[i]]=A[i];
	G[0]=1;for (int i=2;i<=nn;i+=2) G[i]=1ll*G[i-2]*(i-1)%mod;
//	printf("%d\n",pd[1]);
	for (int i=1;i<=nn;++i)
		for (int j=i;j<=nn;++j)
			cnt[i][j]=cnt[i][j-1]+(!pd[j]);
	for (int i=1;i<=nn;++i)
		for (int j=i+1;j<=nn;j+=2)
		{
			for (int k=i;k<=j;++k) if (pd[k]&&(pd[k]>j||pd[k]<i)) goto C;
			dp[i][j]=G[cnt[i][j]];
			for (int k=i+1;k<j;k+=2)
				dp[i][j]=(dp[i][j]-1ll*dp[i][k]*G[cnt[k+1][j]]%mod+mod)%mod;
			C:;
		}
	for (int i=1;i<=nn;++i)
		for (int j=i+1;j<=nn;j+=2) ans=(ans+1ll*dp[i][j]*G[all-cnt[i][j]]%mod)%mod;
	printf("%d",ans);//,printf("dp[%d][%d]=%d\n",i,j,dp[i][j])
	return 0;
}