import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

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) {

                int result = 0;
                result = (int) Math.pow(searchedNumber, length-1) * length;
                System.out.println((result) % modulo);

            } else {
                System.out.println(length % modulo);
            }
        }


    }
}

