{"code":"nc2_bfs_dfs_practice_1","name":"Đẩy hộp","description":"# Bài toán\r\n\r\nCho đồ thị có hướng gồm $N$ đỉnh, $M$ cạnh và $K$ chiếc hộp trên các đỉnh. Trên mỗi đỉnh có chứa $0$ hoặc $1$ chiếc hộp. Tại mỗi bước, bạn có thể đẩy hộp từ một đỉnh đến một đỉnh khác chưa có hộp. Hộp sẽ tự hủy khi đến đỉnh $1$.\r\n\r\nHãy tính số bước đẩy ít nhất để đẩy tất cả các hộp đến đỉnh $1$.\r\n\r\n#### Input\r\n- Dòng đầu tiên chứa $3$ số nguyên dương $N, M, K$ ($1 \\leq K \\leq N \\leq 10000, \\; 0 \\leq M \\leq 50000$).\r\n- Dòng thứ hai chứa $K$ số nguyên dương khác nhau, lần lượt là các đỉnh chứa hộp.\r\n- $M$ dòng tiếp theo, mỗi dòng chứa $2$ số nguyên dương $u, v$ mô tả đường đi từ $u$ đến $v$.\r\n\r\n#### Output\r\n- In ra số bước đẩy ít nhất.\r\n\r\n#### Example\r\n\r\n!!! question \"Test\"\r\n    ???+ Input\r\n        ```sample\r\n        4 3 3\r\n        2 3 4\r\n        3 1\r\n        2 1\r\n        4 2\r\n        ```\r\n    ??? success Output\r\n        ```sample\r\n        4\r\n        ```","points":100.0,"partial":true,"time_limit":1.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}