#include <bits/stdc++.h>
int MOD = 1e9 + 7;
using namespace std;
long long binpow(long long a, long long n) {
  if (n == 0) return 1;
  if (n % 2 == 1)
    return (binpow(a, n - 1) * a) % MOD;
  else {
    long long b = binpow(a, n / 2);
    return (b * b) % MOD;
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n, m;
  int k;
  cin >> n >> m >> k;
  if ((n + m) % 2 == 1 && k == -1) {
    cout << 0 << '\n';
    return 0;
  }
  m--;
  n--;
  long long res = binpow(2, n);
  long long ans = binpow(res, m);
  cout << ans % MOD << '\n';
}
