Gửi bài giải


Điểm: 0,90 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Quang Đạt được cho một danh sách ~F~ chuyến bay một chiều giữa ~C~ thành phố (đánh số từ ~0~ đến ~C-1~). Anh ta muốn thăm ~T~ thành phố đầu tiên (từ ~0~ đến ~T-1~). Nhiệm vụ của bạn là tìm số lần di chuyển ít nhất giữa các thành phố để Quang Đạt hoàn thành mục tiêu.

Quang Đạt sống ở thành phố ~0~. Do đó chuyến đi của anh ta phải bắt đầu và kết thúc ở thành phố ~0~. Một thành phố có thể được thăm nhiều lần.

Dữ liệu đảm bảo luôn bạn luôn tìm được đường bắt đầu và kết thúc tại thành phố ~0~ và đi qua tất cả các thành phố từ ~0~ đến ~T-1~.

Input

  • Dòng đầu chứa ~3~ số nguyên ~C~, ~T~ và ~F~.
  • ~F~ dòng tiếp chứa ~2~ số nguyên ~a~, ~b~ thể hiện đường đi một chiều từ ~a~ đến ~b~.

Output

In ra số nguyên duy nhất là số lần di chuyển ít nhất để Quang Đạt hoàn thành mục tiêu.

Giới hạn

  • ~3 \le T \le 8~
  • ~T \le C \le 5000~
  • ~C \le F \le 100000~
  • Trong ~60\%~ test: ~C \le 80~
  • Trong ~30\%~ test: ~T \le 5~, ~C \le 10~

Sample Input

7 4 12
0 5
0 4
1 0
1 2
2 6
3 0
3 6
4 3
4 5
6 1
6 2
6 5

Sample Output

7

Note

Trong ví dụ, có ~7~ thành phố, Fred chỉ cần thăm các thành phố ~0~, ~1~, ~2~, ~3~. Nếu anh ta thăm theo thứ tự:

~0 \rightarrow 4 \rightarrow 3 \rightarrow 6 \rightarrow 2 \rightarrow 6 \rightarrow 1 \rightarrow 0~ Anh ta chỉ cần di chuyển ~7~ lần, và đây chính là lộ trình ngắn nhất có thể để thăm hết các thành phố từ ~0~ đến ~3~ .


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.