#include <bits/stdc++.h>
using namespace std;
int k;
long long n, m, x, y;
const int MO = 1000000007;
long long powmod(long long n, long long m) {
  if (m == 0) return 1;
  if (m == 1)
    return n % MO;
  else
    return ((powmod(n, m / 2) * powmod(n, m / 2)) % MO * powmod(n, m % 2)) % MO;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n >> m >> k;
  if (k == -1 && abs(n - m) % 2 == 1)
    cout << 0;
  else {
    x = powmod(2, n - 1);
    y = powmod(x, m - 1);
    cout << y;
  }
}
