#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int dp[1501][1501], sum[1501], tsum[1501], pro, ex[2][100001], c[100001],
    P[1501];
int sp[1501], gp[1501], inv[1501];
int power(int a, int n) {
  if (n == 0) return 1;
  int res = power(a, n / 2);
  res = (int)((long long)res * (long long)res % mod);
  if (n % 2) res = (int)((long long)res * (long long)a % mod);
  return res;
}
int main() {
  int n, m, a, b, k, i, j, s, p, q, tmp;
  scanf("%d%d%d%d%d", &n, &m, &a, &b, &k);
  pro = (int)((long long)a * (long long)power(b, mod - 2) % mod);
  for (i = 0; i <= 100000; i++) {
    if (i == 0) {
      ex[0][i] = ex[1][i] = 1;
      c[i] = 1;
    } else {
      ex[1][i] = (int)((long long)ex[1][i - 1] * (long long)(1 - pro) % mod);
      if (ex[1][i] < 0) ex[1][i] += mod;
      ex[0][i] = (int)((long long)ex[0][i - 1] * (long long)pro % mod);
      c[i] = (int)((long long)c[i - 1] * (long long)(k - i + 1) % mod);
      c[i] = (int)((long long)c[i] * (long long)power(i, mod - 2) % mod);
    }
  }
  memset(P, 0, sizeof(P));
  for (i = 0; i <= m; i++) {
    if (i <= k) {
      P[i] = (int)((long long)c[i] * (long long)ex[0][i] % mod);
      P[i] = (int)((long long)P[i] * (long long)ex[1][k - i] % mod);
    }
    sp[i] = P[i];
    if (i) sp[i] = (sp[i - 1] + sp[i]) % mod;
    inv[i] = power(P[i], mod - 2);
  }
  memset(dp, 0, sizeof(dp));
  dp[0][m] = 1;
  for (i = 0; i < n; i++) {
    for (j = 0; j <= m; j++) {
      sum[j] = (int)((long long)P[j] * (long long)dp[i][j] % mod);
      if (j) sum[j] = (sum[j - 1] + sum[j]) % mod;
    }
    for (j = 0; j < m; j++) {
      tsum[j] = (int)((long long)sp[m - 1 - j] * (long long)dp[i][m] % mod);
      tmp = (int)((long long)sp[m - 1 - j] * (long long)dp[i][j] % mod);
      tsum[j] = (tsum[j] - tmp + mod) % mod;
      tsum[j] = (tsum[j] - sum[m - 1 - j] + mod) % mod;
      tsum[j] = (int)((long long)tsum[j] * (long long)P[j] % mod);
      if (j) tsum[j] = (tsum[j - 1] + tsum[j]) % mod;
    }
    dp[i + 1][0] = 0;
    dp[i + 1][m] = tsum[m - 1];
    for (j = 1; j < m; j++) {
      if (j == 0)
        dp[i + 1][m - j] = tsum[j - 1];
      else
        dp[i + 1][m - j] = (dp[i + 1][m] - tsum[j - 1] + mod) % mod;
    }
  }
  printf("%d\n", dp[n][m]);
  return 0;
}
