#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
inline int add(int x, int y) { return (x += y) - (x >= mod ? mod : 0); }
inline void inc(int &x, int y) { (x += y) -= (x >= mod ? mod : 0); }
inline int mul(int x, int y) { return 1ll * x * y % mod; }
inline int Power(int x, int y) {
  int res = 1;
  while (y) {
    if (y & 1) res = mul(res, x);
    x = mul(x, x), y >>= 1;
  }
  return res;
}
int n, m, k, a, b, p;
int fac[100005], ifac[100005];
int Pow1[100005], Pow2[100005];
int dpl[1505][1505], dpr[1505][1505];
int suml[1505], sumr[1505];
int pre[100005];
int C(int x, int y) {
  if (x < y || y < 0) return 0;
  return mul(fac[x], mul(ifac[y], ifac[x - y]));
}
int P(int x) {
  if (x > k) return 0;
  return mul(C(k, x), mul(Pow1[x], Pow2[k - x]));
}
void init(int n) {
  fac[0] = ifac[0] = 1;
  for (int i = 1; i <= n; ++i) fac[i] = mul(fac[i - 1], i);
  ifac[n] = Power(fac[n], mod - 2);
  for (int i = n - 1; i; --i) ifac[i] = mul(ifac[i + 1], i + 1);
  Pow1[0] = Pow2[0] = 1;
  for (int i = 1; i <= n; ++i) {
    Pow1[i] = mul(Pow1[i - 1], p);
    Pow2[i] = mul(Pow2[i - 1], mod + 1 - p);
  }
  pre[0] = P(0);
  for (int i = 1; i <= n; ++i) pre[i] = add(pre[i - 1], P(i));
}
int main() {
  scanf("%d%d%d%d%d", &n, &m, &a, &b, &k);
  p = mul(a, Power(b, mod - 2));
  init(100005 - 5);
  dpr[0][m] = sumr[m] = 1;
  dpl[0][1] = suml[1] = 1;
  for (int i = 1; i <= n; ++i) {
    for (int r = 1; r <= m; ++r)
      dpr[i][r] = add(dpr[i][r - 1], mod - mul(P(r - 1), sumr[r - 1]));
    for (int r = 1; r <= m; ++r)
      inc(dpr[i][r],
          add(mul(sumr[m], pre[r - 1]), mod - mul(pre[r - 1], suml[r + 1])));
    for (int r = 1; r <= m; ++r) dpr[i][r] = mul(dpr[i][r], P(m - r));
    for (int l = m; l; --l)
      dpl[i][l] = add(dpl[i][l + 1], mod - mul(P(m - l), suml[l + 1]));
    for (int l = m; l; --l)
      inc(dpl[i][l],
          add(mul(sumr[m], pre[m - l]), mod - mul(pre[m - l], sumr[l - 1])));
    for (int l = m; l; --l) dpl[i][l] = mul(dpl[i][l], P(l - 1));
    for (int j = 1; j <= m; ++j) sumr[j] = add(sumr[j - 1], dpr[i][j]);
    for (int j = m; j >= 1; --j) suml[j] = add(suml[j + 1], dpl[i][j]);
  }
  printf("%d\n", sumr[m]);
  return 0;
}
