가중치가 있는 연결 멀티그래프(connected weighted multigraph)가 주어진다. 이 그래프의 최소 스패닝 트리(minimum spanning tree)의 개수를 구하는 프로그램을 작성하여라.
멀티그래프이므로 한 정점에서 자기 자신으로 향하는 간선(루프)이 있을 수 있고, 두 정점 사이에 여러 개의 간선이 존재할 수도 있다.
입력으로 주어지는 그래프에서 같은 가중치를 가진 간선은 최대 4개까지만 등장한다.
첫째 줄에 정점의 수 N과 간선의 수 M이 주어진다. (1≤N≤5×104, 1≤M≤105) 정점은 1번부터 N번까지 번호가 매겨져 있다.
다음 M개의 줄에는 각 간선을 나타내는 세 정수 a, b, w가 공백으로 구분되어 주어진다. (1≤a,b≤N, 1≤w≤230) 이는 정점 a와 정점 b를 잇는 가중치 w인 간선이 있음을 뜻한다.
첫째 줄에 최소 스패닝 트리의 개수를 1000003으로 나눈 나머지를 출력한다.