#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7, N = 2000;
int n, m, a, b, k, p, q, D[N], pi[200000], iv[200000];
int qpow(int x, int y) {
  int res = 1;
  for (int i = 0; (1 << i) <= y; ++i, x = 1ll * x * x % mod)
    if (y & (1 << i)) res = 1ll * res * x % mod;
  return res;
}
int inv(int x) { return qpow(x, mod - 2); }
int C(int n, int m) {
  if (m > n || m < 0 || n < 0) return 0;
  return 1ll * pi[n] * iv[m] % mod * iv[n - m] % mod;
}
int g[N][N], P[N], sum1[N][N], sum2[N], L[N][N], F[N];
int main() {
  m = 170000;
  pi[0] = 1;
  for (int i = 1; i <= m; ++i) pi[i] = 1ll * pi[i - 1] * i % mod;
  iv[m] = qpow(pi[m], mod - 2);
  for (int i = m - 1; i >= 0; --i) iv[i] = 1ll * iv[i + 1] * (i + 1) % mod;
  cin >> n >> m >> a >> b >> k;
  p = 1ll * a * inv(b) % mod;
  q = 1 - p + mod;
  for (int i = 0; i <= m; ++i) {
    sum2[i] = D[i] = 1ll * C(k, i) * qpow(p, i) % mod * qpow(q, k - i) % mod;
    if (i) sum2[i] = (sum2[i] + sum2[i - 1]) % mod;
  }
  for (int r = 1; r <= m; ++r) {
    P[r] = 1ll * sum2[r - 1] * D[m - r] % mod;
  }
  F[0] = L[0][m] = g[0][m] = 1;
  sum1[0][m] = D[m];
  for (int i = 1; i <= n; ++i) {
    for (int r = 1; r <= m; ++r) {
      g[i][r] = 0;
      g[i][r] += mod - 1ll * D[m - r] * sum1[i - 1][r - 1] % mod;
      g[i][r] +=
          mod - 1ll * D[m - r] * L[i - 1][m - r] % mod * sum2[r - 1] % mod;
      g[i][r] %= mod;
      g[i][r] += 1ll * F[i - 1] * P[r] % mod;
      g[i][r] %= mod;
      L[i][r] = (L[i][r - 1] + g[i][r]) % mod;
      sum1[i][r] = (sum1[i][r - 1] + 1ll * D[r] * L[i][r] % mod) % mod;
      F[i] = (F[i] + g[i][r]) % mod;
    }
  }
  cout << F[n] << endl;
  return 0;
}
