https://cs-people.bu.edu/evimaria/cs565-10/lect19.pdf
https://cs-people.bu.edu/evimaria/cs565-10/lect19.pdf