CSES - Hamiltonian Flights | Chuyến bay Hamilton

View as PDF

Points: 1800 (p) Time limit: 1.5s Memory limit: 512M Input: stdin Output: stdout

There are \(n\) cities and \(m\) flight connections between them. You want to travel from Syrjälä to Lehmälä so that you visit each city exactly once. How many possible routes are there?

Input

  • The first input line has two integers \(n\) and \(m\): the number of cities and flights. The cities are numbered \(1,2,\ldots,n\). City \(1\) is Syrjälä, and city \(n\) is Lehmälä.
  • Then, there are \(m\) lines describing the flights. Each line has two integers \(a\) and \(b\): there is a flight from city \(a\) to city \(b\). All flights are one-way flights.

Output

  • Print one integer: the number of routes modulo \(10^9+7\).

Constraints

  • \(2 \leq n \leq 20\)
  • \(1 \leq m \leq n^2\)
  • \(1 \leq a,b \leq n\)

Example

Sample input

4 6  
1 2  
1 3  
2 3  
3 2  
2 4  
3 4

Sample output
2


Comments

There are no comments at the moment.