그래프 동형 문제를 연구하던 중, Pog는 몇 가지 어려움에 직면했습니다. 잘 알려져 있듯이 그래프 동형 문제는 계산 복잡도 이론에서 유명한 난제이며, 그 정확한 복잡도는 아직 완전히 밝혀지지 않았습니다. 그래서 Pog는 그래프 동형 문제의 정의를 수정하기로 했습니다.
먼저, 가중치가 있는 무방향 그래프 $G$에서 경로 $u \to x_1 \to \dots \to x_k \to v$의 가중치를 해당 경로에 포함된 모든 간선 가중치 중 최댓값으로 정의합니다.
다음으로, 그래프 $G$ 상의 서로 다른 두 정점 $u, v$ ($u \neq v$) 사이의 거리 $\text{dis}_{G,u,v}$를 $u$에서 $v$로 가는 모든 경로의 가중치 중 최솟값으로 정의합니다. 만약 $u$와 $v$가 연결되어 있지 않다면 (즉, $u$에서 $v$로 가는 경로가 존재하지 않는다면), $\text{dis}_{G,u,v} = +\infty$로 정의합니다.
$n$개의 정점(번호 $1, 2, \dots, n$)을 가진 두 그래프 $G_1, G_2$가 동형이라는 것은, 모든 $u, v$ ($1 \le u, v \le n, u \neq v$)에 대하여 $\text{dis}_{G_1,u,v} = \text{dis}_{G_2,u,v}$가 성립하는 경우로 정의합니다. 이 정의는 일반적인 의미의 동형과는 다르며, 정점 번호를 다시 매기는 것은 허용되지 않습니다.
이제, 이 새로운 정의에 따라 주어진 두 그래프가 동형인지 판별하는 것을 도와주세요.
입력
입력은 여러 개의 테스트 케이스로 구성됩니다. 첫 번째 줄에 테스트 케이스의 개수 $T$ ($1 \le T \le 10^4$)가 주어집니다.
각 테스트 케이스에 대하여: 첫 번째 줄에 세 정수 $n, m_1, m_2$ ($1 \le n \le 10^5, 1 \le m_1, m_2 \le 2 \times 10^5$)가 주어지며, 이는 그래프의 정점 개수와 $G_1, G_2$의 간선 개수를 나타냅니다.
이어서 $m_1$개의 줄에 각각 세 정수 $u, v, w$ ($1 \le u, v \le n, 1 \le w \le 10^9$)가 주어지며, 이는 $G_1$의 간선을 나타냅니다.
이어서 $m_2$개의 줄에 각각 세 정수 $u, v, w$ ($1 \le u, v \le n, 1 \le w \le 10^9$)가 주어지며, 이는 $G_2$의 간선을 나타냅니다.
모든 테스트 케이스에서 $n$의 합은 $10^5$을 넘지 않으며, $m_1$의 합과 $m_2$의 합은 각각 $2 \times 10^5$을 넘지 않습니다. 그래프에는 다중 간선, 자기 루프가 존재할 수 있으며, 연결되어 있지 않을 수도 있습니다.
출력
각 테스트 케이스에 대하여:
한 줄에 문자열을 출력합니다. 동형이라면 YES를, 그렇지 않다면 NO를 출력합니다 (대소문자는 구분하지 않습니다).
예제
예제 입력 1
3 2 1 1 1 2 1 1 2 2 2 1 1 1 2 1 1 2 1 3 3 3 1 2 1 1 3 1 2 3 2 1 2 1 1 3 2 2 3 1
예제 출력 1
NO YES YES