#include <bits/stdc++.h>
using namespace std;
inline char get() {
  static char buf[30000], *p1 = buf, *p2 = buf;
  return p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 30000, stdin), p1 == p2)
             ? EOF
             : *p1++;
}
inline long long read() {
  register char c = get();
  register long long f = 1, _ = 0;
  while (c > '9' || c < '0') f = (c == '-') ? -1 : 1, c = get();
  while (c <= '9' && c >= '0') _ = (_ << 3) + (_ << 1) + (c ^ 48), c = get();
  return _ * f;
}
long long X1, X2, Y1, Y2;
long long X, Y;
long long dx, dy;
long long x_num, y_num;
signed main() {
  X1 = read(), Y1 = read(), X2 = read(), Y2 = read();
  X = read(), Y = read();
  dx = abs(X2 - X1), dy = abs(Y2 - Y1);
  if (dx % X != 0 || dy % Y != 0) {
    puts("NO");
    return 0;
  }
  x_num = dx / X, y_num = dy / Y;
  long long cas = abs(y_num - x_num);
  if (cas % 2 == 0)
    puts("YES");
  else
    puts("NO");
  return 0;
}
