한별이는 졸업하기 전에 전국 대학생 프로그래밍 대회 동아리 연합에 들어올 후배들을 위해 직접 만든 반도체 몇 개를 기부하려고 한다. 이때 반도체를 최대한 많이 만들기 위해서 반도체 하나를 만드는 데 드는 비용을 최소화하려고 한다.
반도체는 정점이 N개, 간선이 M개인 방향 그래프 형태를 하고 있다. 각 정점에는 1번부터 N번까지의 번호가 붙어 있으며, i번 정점은 퍼텐셜 에너지 E_i를 가지고 있다. 퍼텐셜 에너지는 실수 값을 가지며, E_1=1.0, E_N=−1.0로 고정되어 있고 나머지 정점의 퍼텐셜 에너지는 한별이가 임의로 정할 수 있다. 덧붙여 1번 정점과 N번 정점은 특수한 정점이기에 1번 정점으로 들어오는 간선과 N번 정점에서 나가는 간선은 존재하지 않는다.
반도체를 구성하고 있는 간선 e=(u,v)은 정점 u에서 v로 양의 에너지와 음의 에너지를 각각 전달할 수 있다. 반도체의 각 간선은 에너지 전달 효율이라는 값을 가지고 있다. 만약 한별이가 양의 에너지 전달 효율이 a_e(≥0), 음의 에너지 전달 효율이 b_e(≥0)인 간선에 양의 에너지를 양의 실수 p_e(≥0), 음의 에너지를 음의 실수 m_e(≤0)만큼 보낸다면, 간선이 전달하는 에너지의 양은 (a_ep_e+b_em_e)가 된다. 다만, 간선 e=(u,v)에 보내는 에너지가 p_(u,v)+m_(u,v)≥E_u−E_v를 만족하지 않으면 과부하로 반도체가 고장날 수 있다.
반도체의 제작 비용은 반도체를 구성하는 각 간선이 전달하는 에너지의 총합과 같다. 좋은 일을 하려는 한별이를 도와, 반도체의 각 정점의 퍼텐셜 에너지와 각 간선에 보내는 에너지의 양을 적절히 조절해 반도체가 고장나지 않으면서 제작 비용이 최소가 되도록 해 보자.
첫 번째 줄에는 정점 개수 N과 간선 개수 M이 공백으로 구분되어 주어진다. (3≤N≤500; 1≤M≤N(N−1))
두 번째 줄부터 총 M개의 줄에 걸쳐서 반도체를 구성하고 있는 간선 정보가 공백으로 구분되어 4개의 정수 u, v, a, b로 주어진다. 이는 u번째 정점에서 v번째 정점으로 향하고 양의 에너지 전달 효율이 a, 음의 에너지 전달 효율이 b인 간선이 있음을 의미한다. 중복 간선이 있는 입력은 주어지지 않는다. (1≤u,v≤N; u=v; 0≤a,b≤109)
반도체 하나의 제작 비용의 최솟값을 출력하자. 단, 제작 비용이 −3×10−9보다 작아질 수 있다면, 반도체를 생산할 때마다 돈을 얻을 수 있는 한별이의 기분을 표현하는 단어인 HAPPY를 출력하자. 절대/상대 오차는 10−9까지 허용되며, 답이 −3×10−9 이상 −1×10−9 미만인 입력은 주어지지 않는다.