#include using namespace std; const uint64_t M = 1'000'000'007; uint64_t mpow(uint64_t x, int y){ if(y==0) return 1; if(y==1) return x%M; if(y%2 == 0) return mpow(x*x%M, y/2); return mpow(x*x%M, y/2)*x%M; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); cout.precision(12); cout.setf(ios_base::fixed, ios_base::floatfield); int n, m, k; cin >> n >> m >> k; int l[3000], r[3000]; for(int i=0;i> l[i] >> r[i]; l[i]--; r[i]--; } static uint64_t dp[3001][3000], inc[3000][3001]; for(int i=0;i