import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.MathContext; public class Main { static int modulo = 1000000007; public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = br.readLine(); String[] numbers = line.split(" "); int firstDigit = Integer.parseInt(numbers[0]); int secondDigit = Integer.parseInt(numbers[1]); int length = Integer.parseInt(numbers[2]); int searchedNumber = Integer.parseInt(numbers[3]); if (searchedNumber != firstDigit && searchedNumber != secondDigit) { System.out.println("0"); } else { if (firstDigit != secondDigit) { double result = (Math.pow(2, length) * length) / 2; System.out.println((int)result); } else { System.out.println(length % modulo); } } } }