시간 제한메모리 제한제출정답맞힌 사람정답 비율
15 초 256 MB267428.571%

문제

Mr Malnar has given up on his tree obsession and found something even more interesting, cacti! Formally, a cactus is a connected graph where each edge is contained in at most one cycle. A cycle is defined as a sequence of more than one distinct edge in which every two consecutive edges share a common endpoint, and the first and last edge share a common endpoint as well.

Unfortunately, the cactus that Mr Malnar bought is rather big, so he would like to cut it up into disjoint sticks. One stick is defined as a pair of edges that share a common endpoint. Mr Malnar is a pedantic individual, so he wants to know the exact number of ways he can cut up his cactus into sticks.

입력

The first line contains the number of vertices $N$ and the number of edges $M$. This is followed by $M$ lines, each containing two distinct integers $A_i$ and $B_i$ denoting an edge between vertices $A_i$ and $B_i$. Each edge will be listed exactly once.

출력

Compute the number of distinct ways Mr Malnar can cut his cactus up into sticks. Since this number can get quite large, output the result modulo $10^6 + 3$.

제한

  • $1 ≤ N, M ≤ 100\,000$
  • $1 ≤ A_i , B_i ≤ N$

예제 입력 1

10 12
1 6
2 5
7 2
8 9
8 1
2 6
4 3
4 10
3 10
3 9
1 3
5 7

예제 출력 1

8