Đường của nhà vua

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 2.0s
Memory limit: 256M

Authors:
Problem type

Vương quốc H32 Da Poet có ~N~ thị trấn, được đánh số từ ~1~ đến ~N~. Hiện tại, không có con đường nào được trải nhựa sẵn giữa các thị trấn.

Vua BanQ muốn đi thị sát vương quốc trong vòng ~M~ ngày. Mỗi ngày, ông chọn một thị trấn để đến, tạo thành một chuỗi các thị trấn ~c = [c_1, c_2, ..., c_m]~, trong đó ~c_i~ là thị trấn mà ông đến vào ngày thứ ~i~.

  • Ban đầu (trước ngày đầu tiên), ông ở thủ đô, tức thị trấn ~1~.
  • Vào ngày thứ ~i~, ông di chuyển từ nơi hiện tại đến ~c_i~. Nếu ông đã ở ~c_i~ rồi, ông sẽ không di chuyển.
  • Mỗi lần di chuyển từ ~a~ đến ~b~, vua sẽ cho binh lính trải nhựa đường một chiều từ thị trấn ~a~ đến thị trấn ~b~.
  • Hành trình kết thúc tại thị trấn ~c_m~, không cần quay lại thủ đô cũng được.

Sau chuyến đi, các con đường được trải nhựa tạo thành một đồ thị có hướng với các đỉnh là thị trấn, và các cạnh là những con đường một chiều mà vua đã đi qua. Vì lo cho dân nên nhà vua muốn sau khi kết thúc chuyến đi thì người dân có thể đi từ bất kỳ thị trấn nào đến bất kỳ thị trấn khác bằng hệ thống đường đã trải nhựa.

Bạn hãy giúp nhà vua tính xem có bao nhiêu dãy ~c = [c_1, c_2, ..., c_m]~ thỏa mãn điều kiện sau chuyến đi, có thể đi từ mọi thị trấn đến mọi thị trấn khác thông qua những con đường đã trải nhựa nhé.

Input

Một dòng duy nhất chứa hai số nguyên ~N~ và ~M~ (~2 ≤ N ≤ 300, 1 ≤ M ≤ 300~).

Output

In ra một số nguyên là số dãy các thị trấn thỏa mãn điều kiện, modulo ~10^9 + 7~.

Sample Input 1
3 3
Sample Output 1
2
Sample Input 2
150 300
Sample Output 2
734286322
Sample Input 3
300 150
Sample Output 3
0
Giải thích

Trong testcase 1, như hình dưới đây điều kiện chỉ được thỏa mãn khi ~ c = (2,3,1) ~ hoặc ~ c = (3,2,1) ~. Các dãy như ~ c = (2,3,2) ~, ~ c = (2,1,3) ~, ~ c = (1,2,2) ~ không thỏa mãn điều kiện.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.