#================================================ def nCr(n,r): if 0<=r<=n: return (F[n]*G[r]*G[n-r])%Mod else: return 0 #================================================ Mod=10**9+7 a,b=map(int,input().split()) N,K=map(int,input().split()) F=[1]*(N+1) for i in range(2,N+1): F[i]=(F[i-1]*i)%Mod G=[1]*(N+1) G[-1]=pow(F[-1],Mod-2,Mod) for i in range(N-1,-1,-1): G[i]=(G[i+1]*(i+1))%Mod X=0 for k in range(1,N+2): X+=pow(a*nCr(N-1,k-1)+b*nCr(N-1,k-2),2,Mod) X%=Mod print((a*nCr(N-1,K-1)+b*nCr(N-1,K-2))%Mod,X,sep="\n")