#include using namespace std; using ll = long long; const int MX = 400010; ll f[MX],inv[MX],fi[MX]; constexpr ll mod = 1000000007; void solve(){ inv[1] = 1; for(int i=2;i> n >> m; solve(); ll ans = 2*n*nck(2*n,n)%mod; for(i=0;i> t >> x >> y; if(t==1){ (ans += mod - nck(x + y,y)*nck(2*n - x - y - 1,n - y)%mod) %= mod; }else{ (ans += mod - nck(x + y,y)*nck(2*n - x - y - 1,n - x)%mod) %= mod; } } cout << ans << endl; }