#include <bits/stdc++.h>
using namespace std;
long long GCD(long long a, long long b) {
  while (b) b ^= a ^= b ^= a %= b;
  return a;
}
long long LCM(long long a, long long b) { return a * (b / GCD(a, b)); }
const double EPS = 10e-9;
const double PI = acos(-1.0);
const long long INF = (1LL << 30);
using namespace std;
template <typename T>
string toString(T t) {
  stringstream ss;
  ss << t;
  return ss.str();
}
int main() {
  long long N, M, X, Y, A, B;
  cin >> N >> M >> X >> Y >> A >> B;
  long long GC = GCD(A, B);
  A /= GC, B /= GC;
  long long hi = max(N, M) + 1LL, lo = 1LL;
  while (hi - lo >= 1LL) {
    long long mid = (hi + lo) / 2LL;
    long long nn = A * mid, mm = B * mid;
    if (nn <= N && mm <= M) {
      if (mid == lo) break;
      lo = mid;
    } else {
      if (mid == hi) break;
      hi = mid;
    }
  }
  long long K = lo, XX = K * A, YY = K * B, x1, y1;
  bool xOdd = ((K * A) % 2LL) == 1LL, yOdd = ((K * B) % 2LL) == 1LL;
  if (xOdd) {
    x1 = X - XX / 2LL - 1LL;
  } else {
    x1 = X - XX / 2LL;
  }
  if (yOdd) {
    y1 = Y - YY / 2LL - 1LL;
  } else {
    y1 = Y - YY / 2LL;
  }
  y1 = min(M - YY, max(0LL, y1));
  x1 = min(N - XX, max(0LL, x1));
  cout << x1 << " " << y1 << " " << x1 + XX << " " << y1 + YY << endl;
  return 0;
}
