What is a patent? What are the types of patent?