def generate_serial(name: str) -> str: if len(name) < 4: return "Need more characters!" if len(name) > 50: return "So many characters!" ebx = 0 ecx = 0 for i, ch in enumerate(name): ecx += 1 ebx += ord(ch) ^ ecx eax = ord(name[-1]) ^ ecx eax *= 6 ebx <<= 7 eax += ebx return format(eax, 'X') # Usage if __name__ == '__main__': user_input = input("Enter name: ") serial = generate_serial(user_input) print(f"Serial: {serial}")