https://www.cse.iitb.ac.in/~biswa/courses/CS773/lectures/L2.pdfhttps://www.cse.iitb.ac.in/~biswa/courses/CS773/lectures/L2.pdf