#Lutece3346. Sleeping? Training?

Sleeping? Training?

Description

You are now participating in a points race, which lasts for XX days. You can choose to participate in the training activities of the day and get aa points, or choose to sleep but lose bb points. But if you participate in the training activities for kk consecutive days, you will be forced to sleep for one day.

Your initial score is 0 points, and your score can be reduced to negative numbers during the race.

But the local environment is too bad, so you heard from other channels that you only need to get YY points to advance to the next round.

You want to know, under the above conditions, how many days you need to get YY points or above, and get the judgment that your score will not be greater than or equal to YY points anyway.

Input

The first line contains three integers XX (1X3001\le X \le 300), aa, and bb (1a,b1051\le a,b\le 10^5), representing the number of training days and the points you get if you participate in training and the points you lose if you are sleeping.

The second line contains two integers kk (1kX1\le k \le X) and YY (1Y1091\le Y \le 10^9), representing the training limit mentioned in the statement and the points you should get.

Output

Output one integer tt, representing the minimum number of days that make your points over YY, or 1-1 if you can't make your points over YY during the XX days.

Samples

20 10 5
4 100
13
20 10 5
10 200
-1

Resources

电子科技大学第十五届 ACM 趣味程序设计竞赛