영수증으로 각 사람의 순 잔액을 구한 뒤, 모든 사람의 잔액을 0으로 만드는 최소 이체 횟수를 구한다.
네덜란드 산간 지역으로 떠났던 휴가에서 막 돌아왔다. 여행 중에는 지출이 생길 때마다 나누어 내기가 번거로워서 영수증을 모두 모아 두었고, 누가 누구 몫으로 얼마를 냈는지 적어 두었다. 이제 정산할 차례다.
자기 몫을 대신 내 준 사람에게 각자 그대로 돌려주는 방법도 있다. 그러면 송금 횟수가 너무 많아지고, 여행에서 이어 온 게으름을 지키기 어렵다. 마지막에 모든 사람의 잔액이 000이 되기만 하면 누가 누구에게 보내는지는 상관없다.
정산을 끝내는 데 필요한 최소 송금 횟수를 구하라. 송금 한 번은 한 사람이 다른 한 사람에게 금액을 보내는 것이고, 모두가 원하는 만큼 보낼 현금 여유가 있다고 가정한다.
첫째 줄에 사람 수 MMM과 여행에서 모은 영수증 수 NNN이 주어진다. 1≤M≤201 \le M \le 201≤M≤20, 0≤N≤10000 \le N \le 10000≤N≤1000이다.
다음 NNN개 줄에 세 정수 aaa, bbb, ppp가 주어진다. 0≤a,b<M0 \le a, b < M0≤a,b<M, 1≤p≤10001 \le p \le 10001≤p≤1000이며, 사람 aaa가 사람 bbb 몫으로 ppp 유로를 냈다는 뜻이다.
모든 계산을 끝내는 데 필요한 최소 송금 횟수를 한 줄에 출력한다.