#include using namespace std; #include using namespace atcoder; #define rep(i,a,b) for(int i=a;i>a>>b>>c>>d>>T; mint P=mint(a)/mint(b); mint Q=mint(c)/mint(d); vector X(T+1,1); rep(i,0,T) X[i+1]=X[i]*Q.pow(i+1); vector dp(T+1); dp[0]=1; auto f=[&](auto self,int l,int r) -> void { if(l+1==r) return; int m=(l+r)/2; self(self,l,m); vector A(m-l),B(r-l); rep(i,l,m) A[i-l]=dp[i]; rep(i,1,r-l) B[i]=X[i-1]*P; auto C=convolution(A,B); rep(i,m-l,r-l) dp[i+l]+=C[i]; self(self,m,r); }; f(f,0,T+1); mint ans=0; for(int i=T;i>=0;i--){ ans+=dp[i]*X[T-i]; } cout<