Красная Шапочка

아직 제출이 없습니다시간 제한2초메모리 제한64 MB

문제

В непроходимом лесу имеется NN полянок и MM тропинок между ними. Каждая тропинка соединяет две различные полянки. Две полянки могут быть соединены несколькими тропинками. 

На двух разных полянках живут Красная Шапочка и ее бабушка. Домик Красной Шапочки находится на полянке с номером 11, а домик бабушки --- на полянке с номером NN. Красная Шапочка хорошо ориентируется в лесу и знает, какое минимальное время ей потребуется для прохождения каждой тропинки. Когда Красная Шапочка идет по лесу, она переходит с тропинки на тропинку только на полянках. На каждой полянке есть укрытие, в котором Красная Шапочка может спрятаться на некоторое время.

В этом же лесу живет Волк. Время, за которое Волк пробегает какую-либо тропинку, может отличаться от времени, за которое по ней проходит Красная Шапочка. Кроме того, если Волк пробегает по одной и той же тропинке несколько раз, то каждый раз он может тратить на это разное время.

С края полянки, где живет Красная Шапочка, Волк увидел, что она собирается нести пирожки бабушке и побежал по тропинкам привычного ему пути от дома Красной Шапочки к дому бабушки. Волк начинает бежать от домика Красной Шапочки в тот момент, когда она решила выйти из дома, его путь заканчивается как только он окажется на полянке с домиком бабушки. Ни на одной полянке Волк не задерживается.

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

Необходимо написать программу, которая поможет Красной Шапочке добраться к бабушке раньше Волка, если известна последовательность тропинок, по которым побежал Волк.

입력

Первая строка входного файла содержит числа NN, MM и KK (2N2,0002 \le N \le 2\\,000, 1M100,0001 \le M \le 100\\,000, 1K100,0001 \le K \le 100\\,000). Следующие MM строк содержат по три числа: B_iB\_i, E_iE\_i --- номера полянок, которые соединяет ii-я тропинка, и T_iT\_i --- минимальное время, за которое Красная Шапочка может по ней пройти (1T_i10,0001 \le T\_i \le 10\\,000).

В следующих KK строках находится последовательное описание пути Волка, по два числа в строке: P_iP\_i --- номер тропинки, по которой он побежит, и V_iV\_i --- время, которое он на это затратит (1V_i10,0001 \le V\_i \le 10\\,000). Путь волка всегда начинается на полянке 1 и заканчивается на полянке NN.

Все числа во входном файле целые и в пределах одной строки разделены пробелами.

출력

В том случае, если Красная Шапочка не может добраться до домика бабушки быстрее Волка, выходной файл должен содержать слово "NO".

Если Красная Шапочка сможет добраться до домика бабушки быстрее волка, в первой строке выходного файла должно быть слово "YES". Во второй строке в этом случае должно содержаться число тропинок в пути Красной Шапочки. В третью строку следует вывести номера тропинок в том порядке, в котором Красная Шапочка должна по ним пройти. Числа должны быть разделены пробелами.

Информацию о времени прохождения по тропинкам и остановках на полянках в выходной файл выводить не нужно.