B. Вечеринка в Looksery
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В компании Looksery, состоящей из n сотрудников, намечается очередная большая вечеринка. У каждого сотрудника в телефонной книге записан свой номер и номера друзей. Каждый, кто приходит на вечеринку, рассылает сообщения своим контактам о том, как там классно. При этом все стараются как можно больше времени потратить на веселье, поэтому рассылают сообщения всем, без разбора, и даже себе.

Игорь и Макс — разработчики Looksery — затеяли спор, кому сколько придёт сообщений. Игорь указывает n чисел, i-е из которых обозначает, сколько, по его мнению, сообщений придет i-му сотруднику. Если Игорь угадает правильно хотя бы одно из этих чисел, то он выиграет, в противном случае выиграет Макс.

Вы поддерживаете Макса в этом споре, поэтому вам требуется по заданным спискам контактов сотрудников определить, существует ли расклад, при котором Игорь проиграет. Точнее, Вам нужно определить, кто из сотрудников должен прийти на вечеринку, а кто — нет, так чтобы после того, как все пришедшие разошлют сообщения своим контактам, каждый сотрудник получил число сообщений отличное от того, что указал Игорь.

Входные данные

В первой строке задано одно целое число n (1 ≤ n ≤ 100) — количество сотрудников компании Looksery.

В следующих n строках задано описание списков контактов сотрудников. В i-й из этих строк записана строка длины n, состоящая из нулей и единиц, задающая список контактов i-го сотрудника. Если j-й символ i-й строки равен 1, то j-ый сотрудник находится в списке контактов i-го, в противном случае — не находится. Гарантируется, что i-й символ i-й строки всегда равен 1.

В последней строке задано n целых чисел, разделенных пробелами: a1, a2, ..., an (0 ≤ ai ≤ n), где ai обозначает число сообщений, которое должен получить i-й сотрудник по мнению Игоря.

Выходные данные

В первой строке выведите одно целое число m — количество сотрудников, которые должны прийти на вечеринку, чтобы Игорь проиграл спор.

Во второй строке через пробел выведите m целых чисел — номера этих сотрудников в произвольном порядке.

Если же Игорь в любом случае выиграет спор, выведите -1.

Если возможных ответов несколько, выведите любой из них.

Примеры
Входные данные
3
101
010
001
0 1 2
Выходные данные
1
1
Входные данные
1
1
1
Выходные данные
0

Входные данные
4
1111
0101
1110
0001
1 0 1 0
Выходные данные
4
1 2 3 4
Примечание

В первом примере по мнению Игоря первый сотрудник получит 0 сообщений. Т.к. его нет в списке контактов других сотрудников, то он должен прийти на вечеринку, чтобы получить сообщение от самого себя. Если на вечеринку придет только первый сотрудник, то он получит 1 сообщение, второй — 0 сообщений, и третий также 1 сообщение. В итоге Игорь не угадает ни одного числа.

Во втором примере, если единственный сотрудник придет на вечеринку, то он получит 1 сообщение и Игорь победит в споре, следовательно ему не стоит этого делать.

В третьем примере первый сотрудник компании получит 2 сообщения, второй — 3, третий — 2, четвертый — 3.