하늘이는 최근 입대하였다. 하늘이의 선임은 하늘이가 사회에서 코딩하다 온 것을 알고, 하늘이에게 다음과 같이 ”최소 스패닝 트리 다시 그리기 놀이”를 알려 주었다.
하늘이는 이 놀이를 듣고, 새로 그릴 수 있는 최소 스패닝 트리의 개수가 몇 개인지 궁금해졌다. 선임이 후임에게 주는 그래프 $G$가 주어졌을 때, ”최소 스패닝 트리 다시 그리기 놀이”를 통해 그릴 수 있는 최소 스패닝 트리의 개수의 기댓값을 구해보자.
첫 번째 줄에 $G$의 정점의 개수 $V$과 간선의 개수 $E$가 공백으로 구분되어 주어진다. $(2\le V\le 500;$ $V-1\le E\le\frac{V(V-1)}{2})$
두 번째 줄부터 $E$개의 줄에 걸쳐 $G$의 간선의 정보를 나타내는 정수 $u_i$, $v_i$, $w_i$가 공백으로 구분되어 주어진다. 이는 $u_i$번 정점과 $v_i$번 정점을 연결하는 가중치 $w_i$의 간선이 존재한다는 의미이다. $(1\le u_i, v_i\le V;$ $u_i \ne v_i;$ $1\le w_i\le 10^6)$
주어지는 그래프는 연결 그래프이며, 임의의 두 정점 사이의 간선은 최대 한 개 존재함이 보장된다.
$G$에 대해 “최소 스패닝 트리 다시 그리기 놀이”를 통해 그릴 수 있는 최소 스패닝 트리의 개수의 기댓값을 $10^9+7$로 나눈 나머지를 출력한다.
기약 분수 $\frac{p}{q}(p\ge 0,q>0,\gcd(p,q) =1)$를 $M$으로 나눈 나머지는 $q^{-1}$가 $q\cdot q^{-1}\equiv 1\pmod M$을 만족하는 정수, 즉 $q$의 $M$에 대한 모듈로 곱셈 역원일 때, $p\cdot q^{-1}\pmod M$로 정의한다. 만약 정수일 경우 $q=q^{-1}=1$이므로 $p\pmod M$를 의미한다.
만약 정답의 분모가 $10^9+7$의 배수인 경우 기댓값 대신 -1을 출력한다.