Все решения описаны выше.