La piccola città in cui vivi prevede di introdurre un nuovo sistema di numeri di previdenza sociale (SSN). Ogni cittadino sarà identificato da un SSN a cinque cifre. Le prime quattro cifre indicano il numero ID di base (0000–9999) e l'ultima cifra è una cifra di controllo per rilevare gli errori.
Per calcolare le cifre di controllo, la città ha deciso di utilizzare una tabella di operazione. Una tabella di operazione è una tabella $10 \times 10$ di cifre decimali i cui elementi diagonali sono tutti $0$. Di seguito sono riportati due esempi di tabelle di operazione.
Tabella di operazione 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$ |
Tabella di operazione 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$ |
Utilizzando una tabella di operazione, la cifra di controllo $e$ per un numero ID di base a quattro cifre $abcd$ viene calcolata mediante la formula seguente. Qui, $i \otimes j$ indica l'elemento della tabella alla riga $i$ e alla colonna $j$.
$$e = (((0 \otimes a) \otimes b) \otimes c) \otimes d$$
Ad esempio, utilizzando la Tabella di operazione 1, la cifra di controllo $e$ per il numero ID di base $abcd = 2016$ si calcola nel modo seguente.
$$\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}$$
Pertanto, l'SSN è $20166$.
Si noti che la cifra di controllo dipende dalla tabella di operazione utilizzata. Con la Tabella di operazione 2 otteniamo $e = 3$ per lo stesso numero ID di base $2016$, e l'intero SSN sarà $20163$.
$$\begin{array}{c} \begin{aligned} 2016 & \\ \Downarrow & \; \text{+cifra di controllo usando la Tabella di operazione 2} \\ 20163 & \\ \Downarrow & \; \text{errori umani} \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{Alterazione di una singola cifra}} \\[10pt] \overbrace{\mathbf{02}163 \quad 2\mathbf{10}63 \quad 20\mathbf{61}3 \quad 201\mathbf{36}}^{\text{Trasposizione di due cifre adiacenti}} \end{array}} \end{array}$$
Figura B.1. Due tipi di errori umani comuni
Lo scopo dell'aggiunta della cifra di controllo è rilevare errori umani durante la scrittura o la digitazione degli SSN. La seguente funzione check può rilevare determinati errori umani. Per un numero a cinque cifre $abcde$, la funzione check è definita come segue.
$$\operatorname{check}(abcde) = ((((0 \otimes a) \otimes b) \otimes c) \otimes d) \otimes e$$
Questa funzione restituisce $0$ per un SSN corretto. Ciò avviene perché ogni elemento diagonale di una tabella di operazione è $0$ e, per un SSN corretto, vale $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.$$
D'altra parte, un valore diverso da zero restituito da check indica che il numero fornito non può essere un SSN corretto. Si noti che, a seconda della tabella di operazione utilizzata, la funzione check può restituire $0$ anche per un SSN errato. I tipi di errori rilevati dipendono dalla tabella di operazione usata; la tabella determina la qualità del rilevamento degli errori.
Le autorità cittadine vogliono rilevare due tipi di errori umani comuni sulle sequenze di cifre: l'alterazione di una singola cifra e la trasposizione di due cifre adiacenti, come mostrato nella Figura B.1.
Una tabella di operazione è buona se è in grado di rilevare tutti gli errori comuni dei due tipi su tutti gli SSN formati dai numeri ID di base a quattro cifre 0000–9999. Si noti che devono essere rilevati sia gli errori sulla cifra di controllo sia quelli sulle quattro cifre dell'ID di base. Ad esempio, la Tabella di operazione 1 è buona. La Tabella di operazione 2 non è buona perché, per $20613$, che è il numero ottenuto trasponendo la 3ª e la 4ª cifra di un SSN corretto $20163$, $\operatorname{check}(20613)$ vale $0$. In effetti, tra i $10000$ numeri ID di base, la Tabella di operazione 2 non riesce a rilevare uno o più errori comuni per ben $3439$ numeri ID di base.
Data una tabella di operazione, stabilisci quanto sia buona contando il numero di numeri ID di base per i quali la tabella data non riesce a rilevare uno o più errori comuni.
Input
L'input è costituito da un singolo caso di test nel formato seguente.
$$\begin{array}{cccc} x_{00} & x_{01} & \cdots & x_{09} \\ \vdots & & & \\ x_{90} & x_{91} & \cdots & x_{99} \end{array}$$
L'input descrive una tabella di operazione in cui $x_{ij}$ è la cifra decimale alla riga $i$ e alla colonna $j$. Ogni riga dell'input corrisponde a una riga della tabella, in cui gli elementi sono separati da un singolo spazio. Gli elementi diagonali $x_{ii}$ ($i = 0, \ldots, 9$) sono sempre $0$.
Output
Stampa il numero di numeri ID di base per i quali la tabella data non riesce a rilevare uno o più errori umani comuni.
Esempi
Input 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
Output 1
0
Input 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
Output 2
3439
Input 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
Output 3
9995
Input 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
Output 4
10000