Магистр Максимус отправился в опасное путешествие в горы Ордена Магов. Внутри гор великими магами прошлого созданы комнаты, в каждой из которых хранятся магические артефакты. Максимус желает пройти через все n
комнат, но, как оказалось, все комнаты заперты, за исключением комнаты 0, в которую Максимус уже вошел.
В каждой комнате имеется набор уникальных заклинаний, открывающих двери других комнат. Магистр Максимус познал язык великих магов, поэтому он может легко прочитать эти заклинания и отпирать другие комнаты.
Максимус хочет посетить все комнаты и найти все магические артефакты. Однако, для этого ему необходимо найти заклинания открывающие каждую дверь.
По известному набору заклинаний, определите сможет ли Максимум получить все артефакты или нет.
Формат входных данных
В первой строке записано число n
(2 <= n <= 1000
), количество комнат. Далее идет n
строк. В i
-й строке описываются заклинания, хранящиеся в этой комнате. В каждой из этих строк первое число (m, 0 <= m <= 1000
) обозначает количество уникальных заклинаний, которые открывают комнаты, далее записаны m
уникальных чисел rooms[i](0 <= rooms[i][j] < n)
- номера комнат, которые открывают эти заклинания (0<=i<n,
1 <= общее количество заклинаний во всех комнатах <= 10000
).
Формат выходных данных
Выведите True
, если Максимус может посетить все комнаты и найти все магические артефакты, или False
в противном случае.
Примеры
№ | Входные данные | Выходные данные |
1
|
4
1 1
1 2
1 3
0
|
True
|
2
|
4
2 1 3
3 3 0 1
1 2
1 0
|
False
|