My teacher of algorithm complexity gave me a challenge: make several large language models (LLM) generate a code in python that implements zipf's law to calculate the 5 most used words from a user-supplied input text and also should meet this requirements: 1- "show a graph of the 5 most used words with how many times each one of the top 5 was used", 2- "should work on google collab", 3- "the text should be provided though user input", 4- "must remove common punctuations like those we can find on English, Portuguese languages", 5- "must follow pep8 style". now it's your turn! can you provide me with your attempt/version of this python code that does what was requested by my teacher?