This is a project of code interview.