#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using lli = long long int; template void init_n(vector& v, size_t n, U x) { v = vector(n, x); } template void init_n(vector& v, size_t n) { init_n(v, n, T()); } template void read_n(vector& v, size_t n, size_t o = 0) { v = vector(n+o); for (lli i=o; i> v[i]; } template void read_n(T a[], size_t n, size_t o = 0) { for (lli i=o; i> a[i]; } template T gabs(const T& x) { return max(x, -x); } #define abs gabs const lli mod = 1e9+7; lli n, m, k, dp[2][3002]; using P = pair; P ps[3001]; int main() { cin >> n >> m >> k; for (lli i=0; i> ps[i].first >> ps[i].second; for (lli i=1; i<=n; ++i) dp[0][i] = 1; for (lli i=1; i<=k; ++i) { for (lli j=1; j<=n; ++j) dp[i&1][j] = 0; for (lli l=0; l