На производстве имеется два станка. Необходимо изотовить как можно больше деталей за сегодняшнюю смену, продложительность которой k минут.
Станки находятся в законсервированном состоянии. Для того, чтобы ввести в строй первый станок, требуется a минут, после чего он будет производить x деталей в минуту. Для того, чтобы ввести в строй второй станок, требуется b минут, после чего он будет производить y деталей в минуту.
Для введения в строй станка требуется присутствие инженера, поэтому нельзя вводить в строй два станка одновременно. При этом введение станка в строй и изготовление деталей на другом станке, а также одновременное изготовление деталей на двух станках разрешается.
Требуется выяснить, какое максимальное количество деталей удастся изготовить за k минут.
В первой строке ввода дано единственное целое неотрицательное число k --- количество минут в смене (0≤k≤109).
Во второй строке ввода даны целые неотрицательные числа a и x --- время введения первого станка в строй и количество деталей, которое он изготавливает за одну минуту (0≤a,x≤109).
В третьей строке ввода даны целые неотрицательные числа b и y --- время введения второго станка в строй и количество деталей, которое он изготавливает за одну минуту (0≤b,y≤109).
Выведите единственное число --- максимальное количество деталей, которое удастся изготовить за смену.
Обратите внимание, что ответ в этой задаче может быть довольно большим и не помещаться в 32-битные типы данных. Рекомендуется использовать 64-битный тип данных, например <<\mbox{long long}>> в C++ или <<int64>> в Паскале.
В примере выгодно сначала ввести в строй второй станок и за оставшиеся 15 минут изготовить 45 деталей, а затем ввести в строй первый и за оставшиеся 5 минут изготовить на нём еще 20 деталей.
Если сначала ввести в строй первый станок и изготовить на нем в оставшиеся 10 минут 40 деталей, то после введения в строй второго на нем удастся изготовить лишь 15 деталей, суммарно 55, что меньше, чем 65.