#include <bits/stdc++.h>
using namespace std;
const int mm = 2e5 + 100;
long long int n, m, k;
long long int d[mm], sum[mm], hou[mm], num[mm];
long long int mod = 1000000007;
long long int poww(long long int a, long long int b) {
  long long int r = 1;
  while (b) {
    if (b & 1) r = r * a % mod;
    a = a * a % mod;
    b >>= 1;
  }
  return r;
}
int main() {
  long long int i, j, a, b, c;
  scanf("%lld%lld%lld", &n, &m, &k);
  if (k == 1) {
    printf("%lld\n", poww(poww(2, n - 1), m - 1));
  } else {
    if ((m & 1) != (n & 1))
      printf("0\n");
    else
      printf("%lld\n", poww(poww(2, n - 1), m - 1));
  }
}
