def General_Binary_Increase_Search_Integer(L, R, cond, default=None): """ 条件式が単調増加であるとき, 整数上で二部探索を行う. L: 解の下限 R: 解の上限 cond: 条件(1変数関数, 広義単調増加を満たす) default: Lで条件を満たさないときの返り値 """ if not(cond(R)): return default if cond(L): return L R+=1 while R-L>1: C=L+(R-L)//2 if cond(C): R=C else: L=C return R #================================================== def solve(): H,W,LA,LB,KA,KB=map(int,input().split()) inf=float("inf") X=inf for A in range(H+1): def check(b): s=min(H,A*LA) t=min(W,b*LB) return s*t+A*KA+b*KB>=H*W B=General_Binary_Increase_Search_Integer(0,H*W+1,check,inf) X=min(X,A+B) return X #================================================== print(solve())