#include using namespace std; template inline S min_L(S a,T b){ return a<=b?a:b; } template inline S max_L(S a,T b){ return a>=b?a:b; } inline void rd(long long &x){ int k, m=0; x=0; for(;;){ k = getchar_unlocked(); if(k=='-'){ m=1; break; } if('0'<=k&&k<='9'){ x=k-'0'; break; } } for(;;){ k = getchar_unlocked(); if(k<'0'||k>'9'){ break; } x=x*10+k-'0'; } if(m){ x=-x; } } inline void wt_L(char a){ putchar_unlocked(a); } inline void wt_L(int x){ char f[10]; int m=0, s=0; if(x<0){ m=1; x=-x; } while(x){ f[s++]=x%10; x/=10; } if(!s){ f[s++]=0; } if(m){ putchar_unlocked('-'); } while(s--){ putchar_unlocked(f[s]+'0'); } } inline void wt_L(long long x){ char f[20]; int m=0, s=0; if(x<0){ m=1; x=-x; } while(x){ f[s++]=x%10; x/=10; } if(!s){ f[s++]=0; } if(m){ putchar_unlocked('-'); } while(s--){ putchar_unlocked(f[s]+'0'); } } long long P; long long Q; long long R; long long A; long long B; long long C; int main(){ long long x, y; rd(P); rd(Q); rd(R); rd(A); rd(B); rd(C); B += A; C += B; x =max_L(max_L(P*(A-1), Q*(B-1)), R*(C-1))+ 1; y =min_L(min_L(P*A, Q*B), R*C); if(x > y){ wt_L(-1); wt_L('\n'); } else{ wt_L(x); wt_L(' '); wt_L(y); wt_L('\n'); } return 0; } // cLay varsion 20190706-1 // --- original code --- // ll P, Q, R, A, B, C; // { // ll x, y; // // rd(P,Q,R,A,B,C); // B += A; // C += B; // // x = max(P*(A-1), Q*(B-1), R*(C-1)) + 1; // y = min(P*A, Q*B, R*C); // // if(x > y) wt(-1); else wt(x,y); // }