Задан ориентированный граф \(G\), в котором допустимы петли (то есть рёбра из вершины в себя). В \(G\) отсутствуют кратные рёбра, то есть для каждой упорядоченной пары вершин \((u, v)\) существует не более одного ребра из \(u\) в \(v\). Вершины пронумерованы от \(1\) до \(n\).
Назовём путем из \(u\) в \(v\) такую последовательность рёбер, что:
- вершина \(u\) является началом первого ребра пути;
- вершина \(v\) является концом последнего ребра пути;
- для любой пары соседних рёбер следующее ребро начинается с вершины, на которую заканчивается предыдущее ребро.
Дополнительно будем считать, что пустая последовательность рёбер — это путь из \(u\) в \(u\).
Для каждой вершины \(v\) выведите одно из четырёх значений:
- \(0\), если не существует пути из \(1\) в \(v\);
- \(1\), если существует ровно один путь из \(1\) в \(v\);
- \(2\), если существует более одного пути из \(1\) в \(v\) и это число является конечной величиной;
- \(-1\), если существует бесконечно много путей из \(1\) в \(v\).
Рассмотрим пример, изображённый на рисунке.
Тогда:
- ответ для вершины \(1\) равен \(1\): существует ровно один путь из \(1\) в \(1\) (путь длины \(0\));
- ответ для вершины \(2\) равен \(0\): не существует пути из \(1\) в \(2\);
- ответ для вершины \(3\) равен \(1\): существует ровно один путь из \(1\) в \(3\) (это ребро \((1, 3)\));
- ответ для вершины \(4\) равен \(2\): существует более одного, но конечное число путей из \(1\) в \(4\) (два пути: \([(1, 3), (3, 4)]\) и \([(1, 4)]\));
- ответ для вершины \(5\) равен \(-1\): существует бесконечно много путей из \(1\) в \(5\) (петля может быть использована в пути сколько угодно раз);
- ответ для вершины \(6\) равен \(-1\): существует бесконечно много путей из \(1\) в \(6\) (петля может быть использована в пути сколько угодно раз).
Выходные данные
Выведите \(t\) строк. \(i\)-я строка должна содержать ответ на \(i\)-й набор входных данных — последовательность \(n\) целых чисел от \(-1\) до \(2\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5
6 7 1 4 1 3 3 4 4 5 2 1 5 5 5 6
1 0
3 3 1 2 2 3 3 1
5 0
4 4 1 2 2 3 1 4 4 3
|
1 0 1 2 -1 -1
1
-1 -1 -1
1 0 0 0 0
1 1 2 1
|