Maybe some of you haven't seen this logical maths problem. It seems impossible to solve, but actually it's not too hard to find the answer. I have already enjoyed massive holywar among my colleagues, so can't resist to share the puzzle with you.

Albert and Bernard just became friends with Cheryl, and they want to know when her birthday is. Cheryl gives them a list of 10 possible dates.

May 15 16 19
June 17 18
July 14 16
August 14 15 17

Cheryl then tells Albert and Bernard separately the month and the day of her birthday, respectively.

Albert: I don't know when Cheryl's birthday is, but I know that Bernard does not know, too.
Bernard: At first, I didn't know when Cheryl's birthday is, but I know now.
Albert: Then I also know when Cheryl's birthday is.

When is Cheryl's birthday?