#include <bits/stdc++.h>   using namespace std;   const long long MOD = 1e9 + 7;   long long n, m, k;   long long mpow(long long b, long long e) {     if (e == 0) return 1;     if (e == 1) return b % MOD;     long long tmp = mpow(b, e / 2) % MOD;     tmp = tmp * tmp % MOD;     if (e % 2) tmp = tmp * (b % MOD) % MOD;     return tmp;   }   int main() {     cin >> n >> m >> k;     if (n % 2 != m % 2 && k == -1)       cout << 0 << endl;     else {       long long r = mpow(2, n - 1) % MOD;       r = mpow(r, m - 1) % MOD;       cout << r << endl;     }   }   