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

Автор:XIII командный чемпионат школьников Санкт-Петербурга по программированию   Ограничение времени:2 сек
Входной файл:time.in   Ограничение памяти:32 Мб
Выходной файл:time.out  

Условие

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

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

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

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

Формат входного файла

Первая строка входного файла содержит целое число m — количество минут, которое прошло от начала текущих суток, до первого момента времени, который следует вывести. Гарантируется, что оно неотрицательно и строго меньше числа минут в текущих сутках. На второй строке находятся два целых числа d1 и d2, которые указывают, какой перевод времени осуществляется в текущие и в следующие сутки. Значение 1 означает, что осуществляется переход на летнее время,  − 1 означает, что осуществляется отмена летнего времени, а 0 означает, что перевода времени не осуществляется. На третьей строке записано число k — количество отсчетов времени, которое ваша программа должна вывести.

Формат выходного файла

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

Ограничения

1 ≤ k ≤ 600

Примеры тестов

Входной файл (time.in) Выходной файл (time.out)
1
118
1 0
4
01:58
01:59
03:00
03:01
2
190
-1 1
1
02:10
3
0
-1 0
3
00:00
00:01
00:02
4
1438
0 1
4
23:58
23:59
00:00
00:01

0.109s 0.013s 13