func_code_string: #include <bits/stdc++.h>   using namespace std;   long long dp[1001][1001];   long long mem(int sz, int rem) {     if (rem == 0) return 1;     if (dp[sz][rem] != -1) return dp[sz][rem];     long long& ref = dp[sz][rem];     ref = 0;     for (int i = 1; i <= sz - 2; i++) {       long long t = (sz - 1 - i) * mem(i, rem - 1);       ref = (ref + t) % 1000000007LL;     }     return ref;   }   int n, m, k;   int main() {     cin >> n >> m >> k;     memset(dp, -1, sizeof dp);     long long t1 = mem(n, k);     long long t2 = mem(m, k);     long long res = (t1 * t2) % 1000000007LL;     cout << res << endl;     return 0;   }   