Word Creation from Names

Develop a function to check if words can be constructed using characters from a person's name.

Love word games like Scrabble or Crosswords? This code challenge is inspired by those games. Your task is to write a Python function `can_form_words(name, words)`. This function should take a name and a list of words as inputs, and it should return `True` if it's possible to construct the list of words from the characters in the name (each character to be used only once, ignoring spaces or case distinctions). If it's not possible to construct a word, it should return `False`. ### Parameters 1. `name` (str): A string that represents a person's name. 2. `words` (List[str]): A list of words. ### Return Value - The function returns `True` if it's possible to construct all words from the characters in the name, with each character being used only once and ignoring spaces or case distinctions. - The function returns `False` if it's not possible to construct a word. ### Examples ```python # The name has exactly the necessary characters to create all words can_form_words("Justin Bieber", ["injures", "ebb", "it"]) # Returns: True # The name has more characters than needed to create all words can_form_words("Natalie Portman", ["ornamental", "pita"]) # Returns: True # The name doesn't have enough characters to create all words can_form_words("Chris Pratt", ["chirps", "rat"]) # Returns: False # The name doesn't have all the necessary characters to create all words can_form_words("Jeff Goldblum", ["jog", "meld", "bluffs"]) # Returns: False ```