이분 그래프 색칠
시간 제한12초메모리 제한512 MB
이분 그래프의 모든 2^n가지 흑백 색칠에 대해, 각 간선의 양 끝점 색에 따라 정해지는 가중치들의 곱을 모두 더해 10^9+7로 나눈 나머지를 구한다.
문제
Bobo는 개의 정점을 가진 이분 그래프를 하나 받는다. 즉, 홀수 길이의 사이클이 없는 그래프이다.
각 정점을 검은색 또는 흰색으로 색칠한 뒤, 모든 간선의 값의 곱을 계산한다. 간선의 값은 양 끝 정점의 색에 따라 결정되므로, 하나의 간선에 대해 서로 다른 값이 가지 있을 수 있다.
이제 Bobo는 가능한 가지 색칠 각각에 대해 그 곱을 모두 더한 값을 로 나눈 나머지를 알고 싶어 한다.
입력
첫째 줄에 정점의 수와 간선의 수를 나타내는 정수 이 주어진다 (, ).
정점은 편의상 으로 번호가 매겨진다.
다음 개의 줄 각각에는 개의 정수 이 주어지며, 이는 정점 와 를 잇는 간선을 나타낸다 (, ).
- 정점 와 가 모두 흰색이면 번째 간선의 값은 이다.
- 정점 가 흰색이고 가 검은색이면 값은 이다.
- 정점 가 검은색이고 가 흰색이면 값은 이다.
- 정점 와 가 모두 검은색이면 값은 이다.
출력
합을 나타내는 정수 하나를 출력한다.