Задача №1778. Перевод времени

Как известно, с целью экономии электроэнергии многие страны используют переход на так называемое летнее время. Перевод времени осуществляется два раза в год – весной и осенью. Весной осуществляется переход на летнее время: часы переводятся на один час вперед. Осенью летнее время отменяется и часы переводятся на один час назад.

Перевод времени осуществляется ночью. При переходе на летнее время через минуту после 01:59 сразу наступает 03:00. При отмене летнего времени час с 02:00 по 02:59 повторяется два раза. А именно, в день перевода, когда первый раз после 02:59 должно стать 03:00, вместо этого снова становится 02:00.

Как одному из разработчиков новой операционной системы «Mocrosoft Widows 2006», вам поручено написать фрагмент ядра операционной системы, который будет осуществлять автоматический перевод системных часов на летнее время и обратно.

По заданным начальному моменту и информации о переводе в текущие и следующие сутки, ваша программа должна вывести показания часов в течение заданного количества минут.

Входные данные

Первая строка входного файла содержит целое число m – количество минут, которое прошло от начала текущих суток, до первого момента времени, который следует вывести. Гарантируется, что оно неотрицательно и строго меньше числа минут в текущих сутках.

На второй строке находятся два целых числа \(d_1\) и \(d_2\), которые указывают, какой перевод времени осуществляется в текущие и в следующие сутки. Значение 1 означает, что осуществляется переход на летнее время, -1 означает, что осуществляется отмена летнего времени, а 0 означает, что перевода времени не осуществляется.

На третьей строке записано число \(k\) – количество отсчетов времени, которое ваша программа должна вывести (1 ≤ \(k\) ≤ 600).

Выходные данные

Выходной файл должен состоять из \(k\) строк, \(i\)-я из которых должна содержать показания часов через (\(i\)-1) минут после начального момента времени. Выводите время в формате «hh:mm».

Примеры
Входные данные
118
1 0
4
Выходные данные
01:58
01:59
03:00
03:01
Входные данные
190
-1 0
1
Выходные данные
02:10
Входные данные
0
-1 0
3
Выходные данные
00:00
00:01
00:02
Входные данные
1438
0 1
4
Выходные данные
23:58
23:59
00:00
00:01
Сдать: для сдачи задач необходимо войти в систему