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

public class Barrels {

    public static void main(String[] args) throws IOException {
        new Barrels().solve();
    }

    private void solve() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] line = br.readLine().split(" ");
        int a = Integer.parseInt(line[0]);
        int b = Integer.parseInt(line[1]);
        int k = Integer.parseInt(line[2]);
        int c = Integer.parseInt(line[3]);

        if (a == b) {
            if (c == a) {
                System.out.println(k);
            }
            else {
                System.out.println(0);
            }
        }
        else {
            System.out.println(((long) Math.pow(2, k-1) * k) % 1000000007);
        }

    }
}

