#include using namespace std; typedef long long int ll; typedef pair P; typedef vector> mat; #define repi(i,a,b) for(ll i=a;i=0;i--) #define MOD 1000000007 //debug #define debug(arr) cerr<<#arr<<"(l"<<__LINE__<<") : ";for(auto x:arr)cerr< 0){ if(k % 2) { matmul(res, pow, tmp); copy(tmp, res); } matmul(pow, pow, tmp); copy(tmp, pow); k /= 2; } } int main(){ ll N, M, K, p, q; cin >> N >> M >> K >> p >> q; ll b[N]; rep(i, N) cin >> b[i]; ll bsum = 0, b_in = 0; rep(i, N) bsum = (bsum + b[i]) % MOD; rep(i, M) b_in = (b_in + b[i]) % MOD; ll r = p * modinv(q, MOD) % MOD; ll E00 = (1 - 2 * r + MOD) % MOD; ll E01 = r * bsum % MOD; ll E[] = {E00, E01, 0, 1}; ll E_K[4]; matpow(E, K, E_K); ll R = (E_K[0] * b_in + E_K[1]) % MOD; cout << R << endl; return 0; }