import java.io.BufferedReader; import java.io.InputStreamReader; public class Barrels { public static void main(String[] args) { BufferedReader br; String[] line; double a = 0, b = 0, kDigits = 0, c = 0; try { br = new BufferedReader(new InputStreamReader(System.in)); line = br.readLine().split("\\s"); a = Double.parseDouble(line[0]); b = Double.parseDouble(line[1]); kDigits = Double.parseDouble(line[2]); c = Double.parseDouble(line[3]); } catch (Exception e) { System.out.println(e.getMessage()); } // if (c != a || c != b) { System.out.println(0); return; } // pocet moznosti / 2 double res = ((Math.pow(2, kDigits) * kDigits) / 2.0d) % 1000000007; System.out.println((int) res); } }