앨버트와 바니는 어제 문을 연 식당 "부리토 킹"에 갔다. 앨버트가 개점 기념 상품권을 받아서 두 사람은 부리토 하나를 공짜로 받을 수 있다. 대신 재료 사용량에 제한이 있다. i번 재료는 최대 gi그램까지만 넣을 수 있다.
재료마다 만족도 수치가 두 개 붙는다. ai는 i번 재료 1그램이 앨버트에게 주는 기쁨이고, bi는 같은 1그램이 바니에게 주는 불만이다. 부리토에 i번 재료를 si그램 넣었을 때 앨버트의 기쁨 총합은
∑i=1nsiai
이고, 바니의 불만 총합은
∑i=1nsibi
이다. si는 정수가 아니어도 되며 0≤si≤gi를 만족한다.
앨버트는 자기 기쁨 총합이 A 이상이기를 바란다. 바니는 가장 친한 친구라서 바니의 불만 총합은 B 이하로 누르고 싶다. 두 조건을 모두 만족하는 부리토 중에서 앨버트는 기쁨이 가장 큰 것을 고른다.
두 조건을 만족하는 재료의 양 si를 정하거나, 그런 부리토가 없음을 알아내자.
첫째 줄에 재료의 개수 n, 앨버트가 원하는 기쁨의 하한 A, 바니의 불만 상한 B가 주어진다 (1≤n≤100000, 0≤A,B≤109).
다음 n개 줄에 재료 정보가 한 줄에 하나씩, i번 재료의 최대 사용량 gi, 1그램당 기쁨 ai, 1그램당 불만 bi 순서로 주어진다 (0≤gi,ai,bi≤100).
두 조건을 동시에 만족하는 부리토가 없으면 첫째 줄에 -1 -1을 출력한다.
그렇지 않으면 두 줄을 출력한다. 첫째 줄에는 달성할 수 있는 최대 기쁨과 그때의 불만을, 둘째 줄에는 1번부터 n번까지 재료의 사용량 s1,…,sn을 공백 하나로 구분해 출력한다.
모든 수는 기약분수로 정확히 출력한다. 값이 정수면 분모를 붙이지 않고 p로, 정수가 아니면 p/q 꼴로 출력한다 (q≥2, gcd(p,q)=1).
기쁨이 최대인 부리토가 여러 개일 수 있으므로 다음 규칙으로 답을 하나로 정한다.
이 규칙은 기쁨을 최대로 만들며, 그 최대를 달성하는 불만 중 가장 작은 값을 준다.