#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; const ll MOD=1e9+7; ll powmod(ll a, ll k){ ll ap=a, ans=1; while(k){ if(k&1){ ans*=ap; ans%=MOD; } ap=ap*ap; ap%=MOD; k>>=1; } return ans; } ll inv(ll a){ return powmod(a, MOD-2); } ll p[100010][202]; ll s[100010][202]; int main() { int k, n, m; cin>>k>>n>>m; ll a[202], c[202]; for(int i=0; i>a[i]; for(int i=0; i>c[i]; p[0][0]=1; for(int i=1; i<=n; i++){ for(int j=0; j>l>>r; s[l][0]++; if(s[l][0]>=MOD) s[l][0]-=MOD; for(int j=0; j=MOD) s[r][j]-=MOD; } } for(int i=0; i=MOD) s[i+1][j+1]-=MOD; } ll z=s[i+1][k]; s[i+1][k]=0; for(int j=0; j