#include <bits/stdc++.h>
using namespace std;
long long int mod = pow(10, 9) + 7;
void rz(vector<vector<int> >& matrix, int rows, int columns) {
  matrix.resize(rows);
  for (int i = 0; i < rows; i++) matrix[i].resize(columns);
}
void cle(vector<vector<int> >& matrix, int rows, int columns) {
  for (int i = 0; i < rows; i++) matrix[i].clear();
  matrix.clear();
}
vector<bool> primes;
void gen_primes(int largest) {
  primes[0] = false;
  int m = sqrt(largest + 1);
  for (int i = 2; i <= m; i++) {
    if (primes[i])
      for (int j = i * 2; j <= largest; j += i) primes[j] = false;
  }
}
struct NODE {
  vector<int> adj;
};
void uedge(vector<NODE>& graph, int x, int y) {
  graph[x].adj.push_back(y);
  graph[y].adj.push_back(x);
}
void dedge(vector<NODE>& graph, int x, int y) { graph[x].adj.push_back(y); }
void make_graph(vector<NODE>& graph, int edges) {
  for (int i = 0; i < edges; i++) {
    int x, y;
    cin >> x >> y;
    uedge(graph, x - 1, y - 1);
  }
}
int cf, df, ef, ts, te, toc;
void getinput() { cin >> cf >> df >> ef >> ts >> te >> toc; }
int el() {
  int res1 = abs(ef - cf) * te;
  int res2 = 2 * toc;
  int res3 = abs(cf - df) * te;
  int res4 = toc;
  return res1 + res2 + res3 + res4;
}
int st() {
  int res1 = abs(df - cf) * ts;
  return res1;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  getinput();
  int sres = st();
  int eres = el();
  if (eres <= sres) {
    cout << "yes" << endl;
  } else {
    cout << "no" << endl;
  }
  return 0;
}
