Solution by Vamsi Meenavilli.