Bob is about to take a hot bath. 

There are two taps to fill the bath: a hot water tap and a cold water tap. The cold water's temperature is t1, and the hot water's temperature is t2. The cold water tap can transmit any integer number of water units per second from 0 to x1, inclusive. Similarly, the hot water tap can transmit from 0 to x2 water units per second.

If y1 water units per second flow through the first tap and y2 water units per second flow through the second tap, then the resulting bath water temperature will be:

<image>

Bob wants to open both taps so that the bath water temperature was not less than t0. However, the temperature should be as close as possible to this value. If there are several optimal variants, Bob chooses the one that lets fill the bath in the quickest way possible.

Determine how much each tap should be opened so that Bob was pleased with the result in the end.

Input

You are given five integers t1, t2, x1, x2 and t0 (1 ≤ t1 ≤ t0 ≤ t2 ≤ 106, 1 ≤ x1, x2 ≤ 106).

Output

Print two space-separated integers y1 and y2 (0 ≤ y1 ≤ x1, 0 ≤ y2 ≤ x2).

Examples

Input

10 70 100 100 25


Output

99 33

Input

300 500 1000 1000 300


Output

1000 0

Input

143 456 110 117 273


Output

76 54

Note

In the second sample the hot water tap shouldn't be opened, but the cold water tap should be opened at full capacity in order to fill the bath in the quickest way possible.
import java.util.*;
import java.io.*;
import java.math.*;
public class Main1
{
    static class Reader 
    { 
        private InputStream mIs;private byte[] buf = new byte[1024];private int curChar,numChars;public Reader() { this(System.in); }public Reader(InputStream is) { mIs = is;} 
        public int read() {if (numChars == -1) throw new InputMismatchException();if (curChar >= numChars) {curChar = 0;try { numChars = mIs.read(buf);} catch (IOException e) { throw new InputMismatchException();}if (numChars <= 0) return -1; }return buf[curChar++];} 
        public String nextLine(){int c = read();while (isSpaceChar(c)) c = read();StringBuilder res = new StringBuilder();do {res.appendCodePoint(c);c = read();}while (!isEndOfLine(c));return res.toString() ;} 
        public String s(){int c = read();while (isSpaceChar(c)) c = read();StringBuilder res = new StringBuilder();do {res.appendCodePoint(c);c = read();}while (!isSpaceChar(c));return res.toString();} 
        public long l(){int c = read();while (isSpaceChar(c)) c = read();int sgn = 1;if (c == '-') { sgn = -1 ; c = read() ; }long res = 0; do{ if (c < '0' || c > '9') throw new InputMismatchException();res *= 10 ; res += c - '0' ; c = read();}while(!isSpaceChar(c));return res * sgn;} 
        public int i(){int c = read() ;while (isSpaceChar(c)) c = read();int sgn = 1;if (c == '-') { sgn = -1 ; c = read() ; }int res = 0;do{if (c < '0' || c > '9') throw new InputMismatchException();res *= 10 ; res += c - '0' ; c = read() ;}while(!isSpaceChar(c));return res * sgn;} 
        public double d() throws IOException {return Double.parseDouble(s()) ;}
        public boolean isSpaceChar(int c) { return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1; } 
        public boolean isEndOfLine(int c) { return c == '\n' || c == '\r' || c == -1; } 
        public int[] arr(int n){int[] ret = new int[n];for (int i = 0; i < n; i++) {ret[i] = i();}return ret;}
    }
    
    
    ///////////////////////////////////////////////////////////////////////////////////////////
    //    RRRRRRRRR            AAA             HHH     HHH     IIIIIIIIIIIII   LLL           //
    //    RR    RRR           AAAAA            HHH     HHH      IIIIIIIIIII    LLL           //
    //    RR   RRR           AAAAAAA           HHH     HHH          III        LLL           //
    //    RR  RRR           AAA   AAA          HHHHHHHHHHH          III        LLL           //
    //    RRRRRR           AAA     AAA         HHHHHHHHHHH          III        LLL           //
    //    RR  RRR         AAAAAAAAAAAAA        HHH     HHH          III        LLL           //
    //    RR    RRR      AAA         AAA       HHH     HHH      IIIIIIIIIII    LLLLLLLLLLLL  //
    //    RR     RRR    AAA           AAA      HHH     HHH     IIIIIIIIIIIII   LLLLLLLLLLLL  //
    ///////////////////////////////////////////////////////////////////////////////////////////
    static int t1,t2,x1,x2,t0;
    static class B implements Comparable<B>
    {
        double temp;int y1;int y2;
        public B(double  a,int b,int c) 
        {
            temp=a;
            y1=b;
            y2=c;
        }
        public int compareTo(B num) 
        {
            return temp<num.temp?-1:1;
        }
    }
    public static double check(int a,int b)
    {
        return (t1*1.0*a+t2*1.0*b)/(a+b);
    }
    public static void main(String[] args)throws IOException
    {
        PrintWriter out= new PrintWriter(System.out);
        Reader sc=new Reader();
        t1=sc.i();t2=sc.i();x1=sc.i();x2=sc.i();t0=sc.i();
        if(t1==t0)
        out.println(x1+" 0");
        else if(t2==t0)
        out.println("0 "+x2);  
        else
        {
            int a1=-1;int a2=-1;
            B arr[]=new B[x1+1];
            double globallow=1000000000;
            for(int i=0;i<=x1;i++)
            {
                int low=0;
                int high=x2+1;
                int tempy2=-1;
                double lowtemp=1000000000;
                while(low<high)
                {
                    int mid=(low+high)/2;
                    if(check(i,mid)<t0)
                    low=mid+1;
                    else
                    {
                        high=mid;
                        if(check(i,mid)==lowtemp)
                        {
                            if(mid>tempy2)
                            tempy2=mid;
                        }
                        else if(check(i,mid)<lowtemp)
                        {
                            lowtemp=check(i,mid);
                            tempy2=mid;
                        }
                    }
                }
                arr[i]=new B(lowtemp,i,tempy2);
            }
            Arrays.sort(arr);
            double low=arr[0].temp;
            if(low==t2)
            {
                System.out.println(0+" "+x2);
                System.exit(0);
            }
            //out.println(low);
            for(int i=0;i<=x1;i++)
            {
                if(low!=arr[i].temp)
                break;
                if(a1+a2<arr[i].y1+arr[i].y2)
                {
                    a1=arr[i].y1;
                    a2=arr[i].y2;
                }
            }
            out.println(a1+" "+a2);
        }
        out.flush();
    }
}