Стрелки часов
Имеются аналоговые часы с тремя стрелками (вторая стрелка, минутная стрелка, часовая стрелка), которые вращаются достаточно плавно. Вы умеете измерять два угла между второй стрелкой и двумя другими.
Напишите программу, которая найдет как можно меньшее время, в которое "Никакие две стрелки не накрывают друг друга" и "Оба угла между второй стрелкой и двумя другими стрелками равны".
Рисунок 1. Углы между второй и двумя другими стрелками
Часы не ограничиваются 12 часами. Часовая стрелка делает один круг вокруг циферблата за H часов. Минутная стрелка делает один полный оборот каждый час, а секундная делает оборот каждую минуту. В 0:0:0 (полночь) все стрелки смотрят вверх.
Входные данные
Состоит из нескольких тестов. Каждый тест содержит в одной строке четыре целых числа H, h, m и s. H указывает на то что это H-часовые часы. h, m и s задают час, минуту и секунду текущего времени. Известно, что 2 ≤ H ≤ 100, 0 ≤ h < H, 0 ≤ m < 60, 0 ≤ s < 60.
Последняя строка содержит четыре нуля.
Рисунок 2. Примеры H-часовых часов (6-часовые и 15-часовые)
Выходные данные
Выведите время T, для которого как можно раньше после заданного времени выполнятся условия "Никакие две стрелки не накрывают друг друга" и "Оба угла между второй стрелкой и двумя другими стрелками равны".
Для времени T равного h_o : m_o : s_o (s_o секунд, m_o минут и h_o часов) вывести четыре неотрицательных целых числа h_o, m_o, n и d в одной строке, где n/d - несократимая дробь, задающая s_o. Для s_o равного 0 считать d равным 1.
Время следует выражать по модулю H часов. То есть через секунду после (H - 1) : 59 : 59 идет 0 : 0 : 0, а не H : 0 : 0.