#include #include int main() { int a,b,c,k; scanf("%d %d %d %d", &a, &b, &k, &c); if(c != a && c != b) { printf("0\n"); return 0; } int result = 1; int maxMult = pow(2, 20); int i = k; int alpha = 0; int 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; } printf("%d\n", (result * k / 2) % 1000000007); return 0; }