27-30 умоляю! Даю 45 баллов)
Решение в двух приложениях. Второе приложение - "крик души". Там объяснение, почему условие задачи 30 некорректное.