Мелкие правки в первом задании
Добавлено второе задание
length -> distance
Добавлено третье задание
Правка в третьем задании
Промежуточный вариант