#include #include int main() { using namespace std; int a,b,c,k; cin >> a >> b >> k >> c; if(c != a && c != b) { printf("0\n"); return 0; } long long result = 1; long long maxMult = pow(2, 20); int i = k; int alpha = 0; long long currentMult; while(i >= 1) { if(i >= 20) { alpha = 20; currentMult = maxMult; } else { alpha = i; currentMult = pow(2, alpha); } result *= currentMult; result = result % 1000000007; i -= alpha; } cout << ((result * (long long)(k) / 2L) % 1000000007L); return 0; }