#include <bits/stdc++.h>
long long t1, t2, x1, x2, t0;
void read_input() {
  int _t1, _t2, _x1, _x2, _t0;
  scanf("%d %d %d %d %d", &_t1, &_t2, &_x1, &_x2, &_t0);
  t1 = _t1;
  t2 = _t2;
  x1 = _x1;
  x2 = _x2;
  t0 = _t0;
}
long long candidate(long long y1) {
  long long y2 = ((t0 - t1) * y1) / (t2 - t0);
  if (y2 > x2) return (y2);
  if ((t1 * y1 + t2 * y2) < t0 * (y1 + y2)) ++y2;
  return (y2);
}
inline bool is_best(long long y1, long long y2, long long yy1, long long yy2) {
  return (y2 * (yy1 + yy2) < yy2 * (y1 + y2));
}
inline bool is_equal(long long y1, long long y2, long long yy1, long long yy2) {
  return (y2 * (yy1 + yy2) == yy2 * (y1 + y2));
}
void solve() {
  if (t1 == t2) {
    printf("%d %d\n", (int)x1, (int)x2);
    return;
  }
  if (t2 == t0) {
    printf("%d %d\n", 0, (int)x2);
    return;
  }
  long long y1_res = 0, y2_res = x2;
  for (long long y1 = 1; y1 <= x1; ++y1) {
    long long y2 = candidate(y1);
    if (y2 > x2) continue;
    if (is_best(y1, y2, y1_res, y2_res)) {
      y1_res = y1;
      y2_res = y2;
    } else if (is_equal(y1, y2, y1_res, y2_res)) {
      if (y1 + y2 > y1_res + y2_res) {
        y1_res = y1;
        y2_res = y2;
      }
    }
  }
  printf("%d %d\n", (int)y1_res, (int)y2_res);
}
int main() {
  read_input();
  solve();
  return (0);
}
