Доста сложна логическа задача.