Условие
Дано время суток: часы, минуты и секунды. Определите время, которое наступит через K секунд. При переходе через полночь отсчёт времени начинается снова с 0 0 0. За указанный промежуток может пройти несколько суток; количество прошедших суток выводить не требуется.
Объявите структуру struct Time с целочисленными полями hours, minutes и seconds. Реализуйте функцию void add_seconds(struct Time *time, int delta), которая изменяет время в переданной структуре. Указатель указывает на существующую структуру с корректным временем, а delta неотрицателен. После вызова поля должны оставаться в допустимых диапазонах. Функция не должна выполнять ввод или вывод.
В функции main прочитайте время и K, вызовите add_seconds и выведите изменённые поля. Опционально, для знакомых со ссылками в C++: используйте сигнатуру void add_seconds(struct Time &time, int delta).
Ограничения
Время: 2 секунды. Память: 64 МиБ. Вывод: до 2 МиБ. Стандарты: C11 / C++17.
Входные данные
В первой строке вводятся три целых числа h, m, s — часы, минуты и секунды. Во второй строке вводится целое число K. Ограничения: 0 ≤ h ≤ 23, 0 ≤ m, s ≤ 59, 0 ≤ K ≤ 10⁹.
Выходные данные
Три целых числа в одной строке через пробел — часы, минуты и секунды после прибавления K секунд. Ведущие нули не требуются.
Примеры
12 30 15 45
12 31 0
23 59 59 1
0 0 0
1 2 3 172800
1 2 3