That's three of the hardest problems in CS ))