T = int(input()) X, A = map(int, input().split()) Y, B = map(int, input().split()) ans = 10 ** 18 if T > 0: for r in range(T//Y + 1): q, p = divmod(T + B * r, A) ans = min(ans, p + X * q + Y * r) else: T = -T minv = (T + B - 1)//B maxv = B * minv - T + minv for r in range(minv, maxv + 1): q, p = divmod(r * B - T, A) ans = min(ans, p + X * q + Y * r) print(ans)