Радость полета
Джейкобу нравится играть с его радиоуправляемым самолетом. Погода сегодня довольно ветреная, и Джейкобу приходится тщательно планировать полет. У него есть прогноз погоды - скорость и направление ветра на каждую секунду запланированного полета.
Самолет может развивать скорость до v[max]
единиц в секунду в любом направлении. Ветер сдувает самолет следующим образом: если скорость самолета составляет (v[x]
, v[y]
), а скорость ветра (w[x]
, w[y]
), то самолет перемещается на (v[x]
+ w[x]
, v[y]
+ w[y]
) каждую секунду.
У Джейкоба имеется топливо ровно k секунд, и он хочет узнать, сможет ли самолет пролететь от начальной до конечной точки за это время. Если это возможно, то ему необходимо знать план полета: положение самолета после каждой секунды полета.
Входные данные
Первая строка содержит четыре целых числа S[x]
, S[y]
, F[x]
, F[y]
(-10000 ≤ S[x]
, S[y]
, F[x]
, F[y]
≤ 10000) - координаты начала и конца.
Вторая строка содержит три целых числа n, k и v[max]
(1 ≤ n, k, v[max]
≤ 10000) - количество условий изменения ветра, продолжительность полета Джейкоба в секундах и максимальная скорость самолета.
Следующие n строк описывают изменения условий ветра. i-ая строка содержит целые числа t[i]
, w[xi]
и w[yi]
- начиная с времени t[i]
ветер дует по вектору (w[xi]
, w[yi]
) каждую секунду (0 = t[1]
< ... < t[i]
< t[i+1]
< ... < k, sqrt(w[xi]^2
+ w[yi]^2
) ≤ v[max]
).
Выходные данные
В первой строке выведите "Yes" если самолет Джейкоба сможет пролететь от начальной до конечной точки за k секунд, и "No" иначе.
Если полет возможен, в следующих k строках вывести план полета. В i-ой строке вывести два действительных числа x и y - координаты положения (P[i]
) самолета после i-ой секунды полета.
План считается корректным, если для каждого i (1 ≤ i ≤ k) можно пролететь за одну секунду от P[i-1]
до некоторой точки Q[i]
, такой что расстояние между Q[i]
и P[i]
не превосходит 10^(-5)
, где P[0]
= S. Расстояние между P[k]
и F также не должно превосходить 10^(-5)
.