Một mê cung có ~N~ phòng và các hành lang nối các phòng. Giữa hai phòng bất kì có tối đa một hành lang. Mỗi phòng chỉ có một trong hai trạng thái: khóa hoặc không khóa cửa. Một người đang ở trong một phòng của một mê cung. Thức ăn được đặt trong một phòng khác của mê cung. Nếu phòng bị khóa thì người đó không thể vào phòng để tiếp tục đi qua phòng khác từ phòng đó. Phòng không khóa thì người đó có thể vào ra tự do. Có ~S~ phòng có công tắc (~S \leq N, S~ cũng là số công tắc, các công tắc được đặt trong các phòng được đánh số từ ~1~ đến ~S~), ấn công tắc sẽ thay đổi trạng thái của một số phòng, nghĩa là những phòng này đang khóa thành không bị khóa và ngược lại. Trên lối vào phòng có công tắc, người đó có thể ấn công tắc nếu người đó muốn. Ví dụ: Có ~4~ phòng: ~P1, P2, P3, P4~ (trạng thái ban đầu của ~4~ phòng: ~P1~ mở, ~P2~ mở, ~P3~ đóng, ~P4~ mở). Có ~1~ công tắc ở ~P2~ (khi ấn công tắc này thì sẽ thay đổi trạng thái của ~P1~ và ~P3~). Ấn công tắc lần đầu tiên thì ~P1~ đóng và ~P3~ mở. Ấn tiếp công tắc này ~1~ lần nữa thì ~P1~ mở, ~P3~ đóng.
Yêu cầu:
Bạn hãy viết chương trình giúp đỡ người đó tìm được phòng có thức ăn càng sớm càng tốt (nghĩa là tìm số các hành lang người đó phải đi qua ít nhất để tìm đến phòng có thức ăn), có thể ấn một vài công tắc. Dữ liệu vào miêu tả các phòng và hành lang trong mê cung, trạng thái ban đầu của các phòng, danh sách các công tắc và với mỗi công tắc có một danh sách các phòng bị thay đổi trạng thái bởi công tắc đó.
Dữ liệu vào
- Dòng thứ nhất ghi ~2~ số nguyên ~N, S~ ~(1 \leq N \leq 100; 1 \leq S \leq 8 ; S \leq N)~.
- ~N~ dòng tiếp theo mô tả các phòng: Dòng thứ ~i~ trong ~N~ dòng này chứa thông tin về phòng thứ ~i~ ~(1 \leq i \leq N)~ như sau:
- Bắt đầu bằng số ~0~ nếu phòng này ban đầu không khóa, bắt đầu bằng ~1~ nếu phòng này ban đầu bị khóa;
- Tiếp theo là số ~K~ - số phòng có hành lang nối tới phòng thứ ~i~; sau đó là ~K~ số thể hiện số hiệu các phòng này.
- ~S~ dòng tiếp theo mô tả ~S~ công tắc (nằm từ phòng thứ nhất đến phòng thứ ~S~): Mỗi dòng bắt đầu bằng số nguyên dương ~L~ (là số lượng phòng bị thay đổi trạng thái bởi công tắc đang mô tả) ~L \leq N~; tiếp theo là ~L~ số (là các số hiệu các phòng bị tác động thay đổi trạng thái do công tắc này).
- Dòng cuối cùng là ~2~ số ~A~ và ~B~ (~A~ là số hiệu phòng người đó đang đứng, ~B~ là số hiệu phòng có thức ăn, ~1 \leq A, B \leq N, A \neq B~).
Các số trên một dòng cách nhau ít nhất một khoảng trống.
Kết quả ra
Gồm một số duy nhất là số hành lang ít nhất mà người đó đi qua để đến phòng có thức ăn.
Sample Input
4 1
0 1 3
1 2 3 4
0 2 1 2
0 1 2
1 2
3 4
Sample Output
4
Comments