#include <bits/stdc++.h>
using namespace std;
pair<long long, long long> rotate(pair<long long, long long> p) {
  return make_pair(-p.second, p.first);
}
int main() {
  pair<long long, long long> A;
  pair<long long, long long> B;
  pair<long long, long long> C;
  cin >> A.first >> A.second >> B.first >> B.second >> C.first >> C.second;
  pair<long long, long long> C2 = rotate(C);
  for (int i = 0; i < 4; i++, A = rotate(A)) {
    if (C.first == 0 && C.second == 0) {
      if (A.first == B.first && A.second == B.second) {
        printf("YES\n");
        return 0;
      }
    } else if (C.first == 0 || C.second == 0) {
      long long a = B.first - A.first;
      long long b = B.second - A.second;
      a = abs(a);
      b = abs(b);
      if (C.first == 0) {
        if (abs(a) % abs(C.second) == 0 && abs(b) % abs(C.second) == 0) {
          printf("YES\n");
          return 0;
        }
      } else {
        if (abs(a) % abs(C.first) == 0 && abs(b) % abs(C.first) == 0) {
          printf("YES\n");
          return 0;
        }
      }
    } else {
      long long a, b, c, d, e, f;
      c = B.first - A.first;
      a = C.first;
      b = C2.first;
      f = B.second - A.second;
      d = C.second;
      e = C2.second;
      if (a * e - b * d == 0 || (c * e - b * f) % (a * e - b * d) != 0)
        continue;
      long long first = c * e - b * f;
      first /= (a * e - b * d);
      long long second = c - a * first;
      if (abs(second) % abs(b) != 0) continue;
      second /= b;
      if (a * first + b * second != c || d * first + e * second != f) continue;
      printf("YES\n");
      return 0;
    }
  }
  printf("NO\n");
  return 0;
}
