from typing import List
def barrels(a,b,k,c):
    if c in [a,b]:
        return int(((2**k) * k) / 2 % 1000000007)
 


a = input()
#a = "1 2 1000 2"
space1 = a.index(" ")
space2 = a.index(" ",space1+1)
space3 = a.index(" ",space2+1)
a1 = a[0:space1]
a2 = a[space1+1:space2]
a3 = a[space2+1:space3]
a4 = a[space3+1::]
#print(a1)
#print(a2)
#print(a3)
#print(a4)
#a2 = a[a.index(" ")+1:a.index(" ")]
#print(a2)
#a2 = a[a.index(" ")+1:a.index(" ")]
#print(a2)
print(barrels(int(a1),int(a2),int(a3),int(a4)))
