I am going to write the requirements on the question once you accept my question