Unlocking ChatGPT's Potential through Effective Prompt Engineering