import java.util.*;
public class Main {
private static long GetGCD(long a, long b)
{
if (a == b)
return a;
if (a < b)
return GetGCD(b, a);
while(true)
{
long temp = b;
b = a % b;
if (b == 0)
return temp;
a = temp;
}
}
private static void OutputResult(long cnt1, long cnt2, boolean result)
{
if (!result)
System.out.println("failed");
else
System.out.println(cnt1 + " " + cnt2);
}
private static boolean Calculate(long totalCnt, Box betterBox, Box worseBox)
{
long maxBetter = totalCnt / betterBox.capacity;
for (long i = maxBetter; i >= 0; --i)
{
if (((totalCnt - i * betterBox.capacity) % worseBox.capacity) == 0L)
{
betterBox.cnt = i;
worseBox.cnt = (totalCnt - i * betterBox.capacity) / worseBox.capacity;
return true;
}
}
return false;
}
private static void Handle(long totalCnt, Box box1, Box box2)
{
long gcd = GetGCD(box1.capacity, box2.capacity);
if ((totalCnt % gcd) != 0)
{
OutputResult(0L, 0L, false);
return;
}
box1.capacity /= gcd;
box2.capacity /= gcd;
totalCnt /= gcd;
boolean result;
if ((box1.capacity * box2.price) > (box2.capacity * box1.price))
result = Calculate(totalCnt, box1, box2);
else
result = Calculate(totalCnt, box2, box1);
OutputResult(box1.cnt, box2.cnt, result);
}
public static void main(String[] args)
{
Scanner inScanner = new Scanner(System.in);
long totalCnt;
while(true)
{
totalCnt = inScanner.nextLong();
if (totalCnt == 0)
return;
Box box1 = new Box(inScanner);
Box box2 = new Box(inScanner);
Handle(totalCnt, box1, box2);
}
}
}
class Box
{
Box(Scanner inScanner)
{
price = inScanner.nextLong();
capacity = inScanner.nextLong();
}
long price;
long capacity;
long cnt = 0;
}