#include <bits/stdc++.h>
using namespace std;
int dir1[8] = {1, -1, 0, 0, -1, 1, -1, 1};
int dir2[8] = {0, 0, -1, 1, -1, 1, 1, -1};
long long MAX = 1e18;
vector<long long> prime(1000001);
vector<long long> getprm;
long long power(long long a, long long b) {
  if (b == 0) return 1;
  auto q = (power(a, (b / 2)));
  q = q % MAX;
  q = (q * q) % MAX;
  if (b % 2 == 0)
    return q;
  else
    return ((q % MAX) * (a % MAX)) % MAX;
}
string lower(string str) {
  transform(str.begin(), str.end(), str.begin(), ::tolower);
  return str;
}
string upper(string str) {
  transform(str.begin(), str.end(), str.begin(), ::toupper);
  return str;
}
int main() {
  long long n;
  cin >> n;
  long long val;
  if (n & 1)
    return cout << 0, 0;
  else
    val = power(2, n / 2);
  cout << val;
  return 0;
}
