Abhinav: Final solution.