eolymp
bolt
Try our new interface for solving problems
Problems

Загранпаспорт

Загранпаспорт

Многим знакома ситуация, когда для получения какого-либо документа, например, загранпаспорта, требуется в строго определенном порядке обойти несколько мест, в каждом из которых требуется совершить какое-либо действие: получить справку, написать заявление, заверить ксерокопию и т.д. Для удобства граждан такие места стали объединяться в единые центры, где каждое место превращается в отдельное окно. Но все равно есть проблема: каждое окно имеет свой режим работы. Один человек планирует придти за своим загранпаспортом в \textbf{hh} часов \textbf{mm} минут. Он знает, что ему требуется обойти в определенном порядке ровно \textbf{n} окон, и знает их режим работы. В конце обслуживания в последнем из них он получит загранпаспорт. Человек хочет узнать, успеет ли он получить паспорт до конца дня, если кроме него в едином центре не будет других посетителей. Про каждое окно известно его время открытия и время закрытия. Также известно, сколько минут занимает обслуживание одного посетителя в каждом окне. Считается, что посетитель подходит к окну в начале некоторой минуты. Время открытия окна --- это первая минута, во время которой оно уже работает, а время закрытия --- первая минута, когда оно уже не работает. Например, если окно открывается в \textbf{12:00} и закрывается в \textbf{20:00}, а обслуживание занимает \textbf{11} минут, то если человек подошел к окну между \textbf{12:00} и \textbf{19:49}, включительно, то его обслужат сразу, если в \textbf{11:59} или раньше, то его начнут обслуживать в \textbf{12:00}, а если в \textbf{19:50} или позже, то его уже не обслужат. Человек перемещается между окнами мгновенно. Таким образом, например, если обслуживание в некотором окне занимает \textbf{10} минут, и человек подошел к нему в \textbf{12:45}, то обслуживание в следующем окне для него может начаться в \textbf{12:55} или позже. Все окна открываются не раньше, чем в \textbf{00:00}, и закрываются не позже, чем в \textbf{23:00}. В окне не обслуживают посетителя, если до конца рабочего времени окна осталось меньше времени, чем требуется на обслуживание. Требуется выяснить, успеет ли человек получить загранпаспорт, и если да, то в какой самый ранний момент времени он сможет покинуть единый центр, получив загранпаспорт. \InputFile Первая строка содержит время, когда человек планирует придти в единый центр, в формате \textbf{hh:mm}. Вторая строка содержит одно целое число \textbf{n} --- количество окон, которые требуется обойти (\textbf{1} ≤ \textbf{n} ≤ \textbf{100}). Следующие \textbf{n} строк содержат описание работы всех окон в том порядке, в котором их нужно обходить. Строка, описывающая окно номер \textbf{i}, содержит время открытия этого окна в формате \textbf{hh:mm}, затем через пробел время закрытия в том же формате, и через пробел одно целое число \textbf{t_i} --- количество минут, которые займет обслуживание посетителя в этом окне (\textbf{1} ≤ \textbf{t_i} ≤ \textbf{1440}). Время закрытия каждого окошка строго больше времени его открытия. \OutputFile В случае, если человек успеет получить загранпаспорт, выведите в первой строке \textbf{Yes}, а во второй --- время, когда он сможет покинуть единый центр в формате \textbf{hh:mm}. Иначе выведите в первой строке \textbf{No}.
Time limit 1 second
Memory limit 64 MiB
Input example #1
08:00
2
09:05 11:05 30
09:00 10:20 45
Output example #1
Yes
10:20
Source Russian-Code-Cup-2011 3-й кв. раунд