Небольшой город, в котором вы живёте, планирует ввести новую систему номеров социального страхования (SSN). Каждому жителю будет присвоен пятизначный номер SSN. Его первые четыре цифры образуют базовый идентификационный номер (0000–9999), а последняя цифра является контрольной цифрой для обнаружения ошибок.
Для вычисления контрольных цифр власти города решили использовать таблицу операции. Таблица операции представляет собой таблицу десятичных цифр размера $10 \times 10$, все диагональные элементы которой равны $0$. Ниже приведены два примера таблиц операции.
Таблица операции 1
| $0$ | $1$ | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ | $8$ | $9$ | |
|---|---|---|---|---|---|---|---|---|---|---|
| $0$ | $0$ | $3$ | $1$ | $7$ | $5$ | $9$ | $8$ | $6$ | $4$ | $2$ |
| $1$ | $7$ | $0$ | $9$ | $2$ | $1$ | $5$ | $4$ | $8$ | $6$ | $3$ |
| $2$ | $4$ | $2$ | $0$ | $6$ | $8$ | $7$ | $1$ | $3$ | $5$ | $9$ |
| $3$ | $1$ | $7$ | $5$ | $0$ | $9$ | $8$ | $3$ | $4$ | $2$ | $6$ |
| $4$ | $6$ | $1$ | $2$ | $3$ | $0$ | $4$ | $5$ | $9$ | $7$ | $8$ |
| $5$ | $3$ | $6$ | $7$ | $4$ | $2$ | $0$ | $9$ | $5$ | $8$ | $1$ |
| $6$ | $5$ | $8$ | $6$ | $9$ | $7$ | $2$ | $0$ | $1$ | $3$ | $4$ |
| $7$ | $8$ | $9$ | $4$ | $5$ | $3$ | $6$ | $2$ | $0$ | $1$ | $7$ |
| $8$ | $9$ | $4$ | $3$ | $8$ | $6$ | $1$ | $7$ | $2$ | $0$ | $5$ |
| $9$ | $2$ | $5$ | $8$ | $1$ | $4$ | $3$ | $6$ | $7$ | $9$ | $0$ |
Таблица операции 2
| $0$ | $1$ | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ | $8$ | $9$ | |
|---|---|---|---|---|---|---|---|---|---|---|
| $0$ | $0$ | $1$ | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ | $8$ | $9$ |
| $1$ | $9$ | $0$ | $1$ | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ | $8$ |
| $2$ | $8$ | $9$ | $0$ | $1$ | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ |
| $3$ | $7$ | $8$ | $9$ | $0$ | $1$ | $2$ | $3$ | $4$ | $5$ | $6$ |
| $4$ | $6$ | $7$ | $8$ | $9$ | $0$ | $1$ | $2$ | $3$ | $4$ | $5$ |
| $5$ | $5$ | $6$ | $7$ | $8$ | $9$ | $0$ | $1$ | $2$ | $3$ | $4$ |
| $6$ | $4$ | $5$ | $6$ | $7$ | $8$ | $9$ | $0$ | $1$ | $2$ | $3$ |
| $7$ | $3$ | $4$ | $5$ | $6$ | $7$ | $8$ | $9$ | $0$ | $1$ | $2$ |
| $8$ | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ | $8$ | $9$ | $0$ | $1$ |
| $9$ | $1$ | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ | $8$ | $9$ | $0$ |
С помощью таблицы операции контрольная цифра $e$ для четырёхзначного базового идентификационного номера $abcd$ вычисляется по следующей формуле. Здесь $i \otimes j$ обозначает элемент таблицы в строке $i$ и столбце $j$.
$$e = (((0 \otimes a) \otimes b) \otimes c) \otimes d$$
Например, при использовании Таблицы операции 1 контрольная цифра $e$ для базового идентификационного номера $abcd = 2016$ вычисляется следующим образом.
$$\begin{aligned} e &= (((0 \otimes 2) \otimes 0) \otimes 1) \otimes 6 \\ &= ((1 \otimes 0) \otimes 1) \otimes 6 \\ &= (7 \otimes 1) \otimes 6 \\ &= 9 \otimes 6 \\ &= 6 \end{aligned}$$
Таким образом, номер SSN равен $20166$.
Обратите внимание, что контрольная цифра зависит от используемой таблицы операции. При использовании Таблицы операции 2 для того же базового идентификационного номера $2016$ получается $e = 3$, а весь номер SSN будет равен $20163$.
$$\begin{array}{c} \begin{aligned} 2016 & \\ \Downarrow & \; \text{+контрольная цифра по Таблице операции 2} \\ 20163 & \\ \Downarrow & \; \text{человеческие ошибки} \end{aligned} \\[6pt] \boxed{\begin{array}{c} \overbrace{\mathbf{0}0163 \quad \mathbf{1}0163 \quad \dots \quad \mathbf{9}0163 \quad 2\mathbf{1}163 \quad 2\mathbf{2}163 \quad \dots \quad 2016\mathbf{8} \quad 2016\mathbf{9}}^{\text{Изменение одной цифры}} \\[10pt] \overbrace{\mathbf{02}163 \quad 2\mathbf{10}63 \quad 20\mathbf{61}3 \quad 201\mathbf{36}}^{\text{Перестановка двух соседних цифр}} \end{array}} \end{array}$$
Рисунок B.1. Два вида распространённых человеческих ошибок
Цель добавления контрольной цифры — обнаружение человеческих ошибок при записи или вводе номеров SSN. Следующая функция check способна обнаруживать некоторые человеческие ошибки. Для пятизначного числа $abcde$ функция check определяется следующим образом.
$$\operatorname{check}(abcde) = ((((0 \otimes a) \otimes b) \otimes c) \otimes d) \otimes e$$
Для корректного номера SSN эта функция возвращает $0$. Это объясняется тем, что каждый диагональный элемент таблицы операции равен $0$, а для корректного SSN выполняется $e = (((0 \otimes a) \otimes b) \otimes c) \otimes d$:
$$\operatorname{check}(abcde) = ((((0 \otimes a) \otimes b) \otimes c) \otimes d) \otimes e = e \otimes e = 0.$$
С другой стороны, ненулевое значение, возвращённое функцией check, означает, что данное число не может быть корректным номером SSN. Заметим, что в зависимости от используемой таблицы операции функция check может вернуть $0$ и для некорректного SSN. Какие именно виды ошибок обнаруживаются, зависит от используемой таблицы операции; таблица определяет качество обнаружения ошибок.
Городские власти хотят обнаруживать два вида распространённых человеческих ошибок в последовательностях цифр: изменение одной цифры и перестановку двух соседних цифр, как показано на рисунке B.1.
Таблица операции называется хорошей, если она позволяет обнаружить все распространённые ошибки обоих видов во всех номерах SSN, составленных из четырёхзначных базовых идентификационных номеров 0000–9999. Обратите внимание, что должны обнаруживаться ошибки как в контрольной цифре, так и в четырёх цифрах базового идентификационного номера. Например, Таблица операции 1 является хорошей. Таблица операции 2 не является хорошей, поскольку для числа $20613$, полученного перестановкой 3-й и 4-й цифр корректного номера SSN $20163$, значение $\operatorname{check}(20613)$ равно $0$. На самом деле среди $10000$ базовых идентификационных номеров Таблица операции 2 не может обнаружить одну или более распространённых ошибок сразу для $3439$ базовых идентификационных номеров.
По заданной таблице операции определите, насколько она хороша, подсчитав количество базовых идентификационных номеров, для которых данная таблица не может обнаружить одну или более распространённых ошибок.
Входные данные
Входные данные состоят из одного тестового примера в следующем формате.
$$\begin{array}{cccc} x_{00} & x_{01} & \cdots & x_{09} \\ \vdots & & & \\ x_{90} & x_{91} & \cdots & x_{99} \end{array}$$
Входные данные описывают таблицу операции, где $x_{ij}$ — десятичная цифра в строке $i$ и столбце $j$. Каждая строка входных данных соответствует строке таблицы, элементы в которой разделены одиночными пробелами. Диагональные элементы $x_{ii}$ ($i = 0, \ldots, 9$) всегда равны $0$.
Выходные данные
Выведите количество базовых идентификационных номеров, для которых заданная таблица не может обнаружить одну или более распространённых человеческих ошибок.
Примеры
Входные данные 1
0 3 1 7 5 9 8 6 4 2 7 0 9 2 1 5 4 8 6 3 4 2 0 6 8 7 1 3 5 9 1 7 5 0 9 8 3 4 2 6 6 1 2 3 0 4 5 9 7 8 3 6 7 4 2 0 9 5 8 1 5 8 6 9 7 2 0 1 3 4 8 9 4 5 3 6 2 0 1 7 9 4 3 8 6 1 7 2 0 5 2 5 8 1 4 3 6 7 9 0
Выходные данные 1
0
Входные данные 2
0 1 2 3 4 5 6 7 8 9 9 0 1 2 3 4 5 6 7 8 8 9 0 1 2 3 4 5 6 7 7 8 9 0 1 2 3 4 5 6 6 7 8 9 0 1 2 3 4 5 5 6 7 8 9 0 1 2 3 4 4 5 6 7 8 9 0 1 2 3 3 4 5 6 7 8 9 0 1 2 2 3 4 5 6 7 8 9 0 1 1 2 3 4 5 6 7 8 9 0
Выходные данные 2
3439
Входные данные 3
0 9 8 7 6 5 4 3 2 1 1 0 9 8 7 6 5 4 3 2 2 1 0 9 8 7 6 5 4 3 3 2 1 0 9 8 7 6 5 4 4 3 2 1 0 9 8 7 6 5 5 4 3 2 1 0 9 8 7 6 6 5 4 3 2 1 0 9 8 7 7 6 5 4 3 2 1 0 9 8 8 7 6 5 4 3 2 1 0 9 9 8 7 6 5 4 3 2 1 0
Выходные данные 3
9995
Входные данные 4
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Выходные данные 4
10000