n,a,b,k = map(int,input().split()) mod = 10**9+7 def calc(x,y): ans = [[0]*2 for i in range(2)] for i in range(2): for j in range(2): for k in range(2): ans[i][j] += x[i][k]*y[k][j] ans[i][j] %= mod return ans base = [[0]*2 for i in range(2)] for i in range(2): base[i][i] = 1 A = [[(a**2+b**2+k)*pow(a*b,mod-2,mod)%mod,-1],[1,0]] if n == 1: print(a) elif n == 2: print(b) else: n -= 2 while n: if n%2: base = calc(base,A) A = calc(A,A) n //= 2 ans = base[0][0]*b+base[0][1]*a print(ans%mod)