На днях Duff стала солдатом армии. Malek — её командир.
В их стране, Andarz Gu, есть n городов (пронумерованных от 1 до n) и n - 1 дорог. Каждая дорога соединяет два различных города. Между любыми двумя городами существует уникальный путь.
Также в Andarz Gu живут m людей (пронумерованных от 1 до m). У каждого человека есть номер. Номер i-го человека равен i, и он/она живет в городе номер ci. Обратите внимание, в одном городе могут жить несколько людей, либо не жить вовсе.
Malek любит отдавать приказы. Поэтому он попросил Duff ответить на q запросов. В каждом запросе он дает ей числа v, u и a.
Чтобы ответить на запрос:
Предположим, что x людей живут в городах, лежащих на пути из города v в город u. Предположим, что номера этих людей — p1, p2, ..., px, если выписать их в возрастающем порядке.
Пусть k = min(x, a). Duff должна назвать Malek'у числа k, p1, p2, ..., pk, именно в таком порядке. Иными словами, Malek хочет знать a минимумов на этом пути (или меньше, если дано меньше a людей).
Duff сейчас очень занята, так что она попросила тебя помочь ей ответить на запросы.
Выходные данные
Для каждого запроса выведите числа k, p1, p2, ..., pk через пробел в одной строке.