The Damm algorithm is a checksum algorithm which detects all single digit errors and adjacent transposition errors.



The algorithm is named after H. Michael Damm.



Task

Verify the checksum, stored as last digit of an input.



Dim DT(9, 9)
 
For y = 0 To 9
    For x = 0 To 9
        Read val
        DT(x, y) = val
    Next x
Next y
 
Input check$
While (check$ <> "")
    D = 0
    For i = 1 To Len(check$)
        D = DT(Val(Mid$(check$, i, 1)), D)
    Next i
    If D Then
        Print "Invalid"
    Else
        Print "Valid"
    End If
    Input check$
Wend
End
 
DATA 0,3,1,7,5,9,8,6,4,2
DATA 7,0,9,2,1,5,4,8,6,3
DATA 4,2,0,6,8,7,1,3,5,9
DATA 1,7,5,0,9,8,3,4,2,6
DATA 6,1,2,3,0,4,5,9,7,8
DATA 3,6,7,4,2,0,9,5,8,1
DATA 5,8,6,9,7,2,0,1,3,4
DATA 8,9,4,5,3,6,2,0,1,7
DATA 9,4,3,8,6,1,7,2,0,5
DATA 2,5,8,1,4,3,6,7,9,0