{-# OPTIONS_GHC -Wall #-}
toDigits a
| a<=0 =[]
toDigitsRev a
| a<=0 =[]
intListLength [] = 0
intListLength (x:xs) = 1 + intListLength xs
doubleEveryOther [] = []
doubleEveryOther [a] = [a]
doubleEveryOther (a:b:fin)
| (intListLength
(a:b:fin
) `
mod`
2 <= 0 )= a
*2:b:doubleEveryOther fin
sumDigits [] = 0
sumDigits
(a:
as) = sum(toDigits a
) + sumDigits
as
validate a
= (mod (sumDigits
(doubleEveryOther
(toDigits a
))) 10 <= 0)
CnstIyBPUFRJT05TX0dIQyAtV2FsbCAjLX0KIAogCnRvRGlnaXRzIDo6IEludGVnZXIgLT4gW0ludGVnZXJdCnRvRGlnaXRzICBhCiB8IGE8PTAgPVtdCiB8b3RoZXJ3aXNlICA9IHJldmVyc2UodG9EaWdpdHNSZXYoYSkpCgoKdG9EaWdpdHNSZXYgOjogSW50ZWdlciAtPiBbSW50ZWdlcl0KdG9EaWdpdHNSZXYgIGEKIHwgYTw9MCA9W10KIHwgb3RoZXJ3aXNlICA9IG1vZCBhIDEwIDogdG9EaWdpdHNSZXYgKGRpdiBhIDEwKQoKCmludExpc3RMZW5ndGggOjogW0ludGVnZXJdIC0+IEludGVnZXIKaW50TGlzdExlbmd0aCBbXSAgICAgPSAwCmludExpc3RMZW5ndGggKHg6eHMpID0gMSArIGludExpc3RMZW5ndGggeHMKCmRvdWJsZUV2ZXJ5T3RoZXIgOjogW0ludGVnZXJdIC0+IFtJbnRlZ2VyXQpkb3VibGVFdmVyeU90aGVyIFtdID0gW10KZG91YmxlRXZlcnlPdGhlciBbYV0gPSBbYV0KZG91YmxlRXZlcnlPdGhlciAoYTpiOmZpbikKIHwgKGludExpc3RMZW5ndGggKGE6YjpmaW4pIGBtb2RgIDIgPD0gMCApPSBhKjI6Yjpkb3VibGVFdmVyeU90aGVyIGZpbgogfCBvdGhlcndpc2UgPSBhOiBiKjIgOmRvdWJsZUV2ZXJ5T3RoZXIgZmluCgpzdW1EaWdpdHMgOjogW0ludGVnZXJdIC0+IEludGVnZXIKc3VtRGlnaXRzIFtdID0gMApzdW1EaWdpdHMgKGE6YXMpID0gc3VtKHRvRGlnaXRzIGEpICsgc3VtRGlnaXRzIGFzCgp2YWxpZGF0ZSA6OiBJbnRlZ2VyIC0+IEJvb2wKdmFsaWRhdGUgYSA9IChtb2QgKHN1bURpZ2l0cyhkb3VibGVFdmVyeU90aGVyKHRvRGlnaXRzIGEpKSkgMTAgPD0gMCkKCg==