#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000007;
long long qp(long long x, long long p) {
  long long res = 1;
  while (p) {
    if (p & 1) res = res * x % mod;
    p >>= 1;
    x = x * x % mod;
  }
  return res;
}
int main() {
  long long n, m, k;
  scanf("%I64d%I64d%I64d", &n, &m, &k);
  if (n % 2 != m % 2 && k == -1)
    printf("0\n");
  else {
    long long ans = qp(qp(1ll * 2, n - 1), m - 1);
    printf("%I64d\n", ans % mod);
  }
  return 0;
}
