#include using namespace std; #define modulo 1000000007 #define mod(mod_x) ((((long long)mod_x+modulo))%modulo) #define Inf 10000000000000000 int beki(int a,int b){ int x = 1; while(b!=0){ if(b&1){ x=mod(x*a); } a=mod(a*a); b>>=1; } return x; } //ać®é€†å…ƒ int gyakugen(int a){ return beki(a,modulo-2); } struct matrix{ vector> value; matrix(int height,int width){ value.resize(height,vector(width,0)); if(height==width){ for(int i=0;i(width,0)); for(int i=0;i> &V){ value = V; } void set_value(initializer_list list){ auto it = list.begin(); for(int i=0;i>=1; } return R; } int main(){ int n,m; cin>>n>>m; long long K; cin>>K; int p,q; cin>>p>>q; int P = mod(p * gyakugen(q)); matrix M(2,2); M.set_value({mod(1-P),P,P,mod(1-P)}); M = matrix_beki(M,K); matrix M2(2,1); M2.set_value({1,0}); M2 = matrix_multiple(M,M2); matrix M3(2,1); M3.set_value({0,1}); M3 = matrix_multiple(M,M3); vector b(n); for(int i=0;i>b[i]; } int ans = 0; for(int i=0;i