F cusip_check(=cusip) I cusip.len != 9 X.throw ValueError(‘CUSIP must be 9 characters’) cusip = cusip.uppercase() V total = 0 L(i) 0.<8 V v = 0 V c = cusip[i] I c.is_digit() v = Int(c) E I c.is_alpha() V p = c.code - ‘A’.code + 1 v = p + 9 E I c == ‘*’ v = 36 E I c == ‘@’ v = 37 E I c == ‘#’ v = 38 I i % 2 != 0 v *= 2 total += v I/ 10 + v % 10 V check = (10 - (total % 10)) % 10 R String(check) == cusip.last V codes = [‘037833100’, ‘17275R102’, ‘38259P508’, ‘594918104’, ‘68389X106’, ‘68389X105’] L(code) codes print(code‘: ’(I cusip_check(code) {‘valid’} E ‘invalid’))