범죄 파티

용의자마다 두 친구와 각각의 임계값이 주어질 때, 모든 용의자가 임계값이 K 이하인 친구에게서 변호를 받되 한 사람이 한 용의자만 변호하도록 하는 최소 비용 K를 구한다.

보통7이분 탐색그리디그래프구현아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

용의자 NN명이 있다. 용의자마다 친구가 정확히 2명 있다. 용의자는 모두 알리바이가 없어서 친구에게 거짓 알리바이 증언을 부탁한다. 부탁을 들어준 친구를 그 용의자의 변호인이라고 한다.

위증은 범죄라서 용의자는 친구에게 성의를 보여야 한다. 친구는 받은 성의를 수치로 환산하고, 만족하면 범죄에 협력해 변호인이 되어 준다. 친구가 만족하기 시작하는 수치를 임계값이라고 한다. 한 용의자의 두 친구도 친한 정도가 달라 임계값이 서로 다를 수 있고, 서로 다른 두 용의자와 친구인 사람은 용의자마다 임계값이 다를 수 있다.

웬만한 성의로는 꿈쩍하지 않는 친구를 움직이려고 용의자들은 파티를 연다. 파티에는 용의자의 친구가 모두 초대되고, 파티에 들인 비용이 클수록 만족하는 친구도 많아진다. 파티 비용이 KK이면 임계값이 KK 이하인 친구는 모두 그 용의자의 변호인이 되어 준다.

용의자끼리는 서로를 변호하지 못하므로 용의자 집단과 친구 집단은 완전히 분리되어 있다. 한 사람이 여러 용의자를 변호하면 의심을 사기 때문에 한 사람은 최대 한 용의자의 변호인이 된다. 또 한 사람에게 용의자 친구는 최대 2명이다. 즉 서로 다른 용의자 X1X_1, X2X_2, X3X_3 모두와 친구인 사람 AA는 없다.

각 용의자의 친구 관계와 두 친구의 임계값이 주어질 때, 모든 용의자가 변호인을 1명 이상 두게 하는 최소 파티 비용 KK를 구하라.

입력

첫째 줄에 용의자의 수 NN (1N2000001 \le N \le 200000)이 주어진다. 다음 NN개의 줄에는 ii번째 용의자의 정보가 주어진다. 한 줄에 한 친구의 번호 AiA_i, 그 친구를 변호인으로 두기 위한 임계값 KAiKA_i, 다른 친구의 번호 BiB_i, 그 친구의 임계값 KBiKB_i가 차례로 주어진다. 친구 번호는 1 이상 2N2N 이하이고, 임계값은 0 이상 1,000,000 이하의 정수다.

출력

모든 용의자가 변호인을 두게 되는 최소 파티 비용 KK를 출력한다. 어떤 비용으로도 불가능하면 -1을 출력한다.