CF587C Duff in the Army

题目描述

Duff 是一个军队中的一名士兵。Malek 是她的上司。 他们在一个名为 Andarz Gu 的国家里,这个国家有 $n$ 个城市,分别编号 $1\sim n$。有 $n-1$ 条双向通行的道路联通整个国家。 一共有 $m$ 个人居住在这个国家中的一些城市里,每一个人有他的身份号(第 $i$ 个人的身份号是 $i$)。注意,有可能有多个人居住在同一个城市,也有可能有些城市无人居住。 Malek 喜欢对别人下命令,所以他让 Duff 回答他的 $q$ 个提问,每一个提问包含三个数 $v,u$ 和 $a$,表示:设一共有 $x$ 个人居住在从城市 $u$ 到城市 $v$(包含断点)的路径上,他们的身份号从小到大排序后分别是 $p_1,p_2,...,p_x$,设 $k=min(x,a)$,那么 Duff 应该按顺序告诉 Malek $k,p_1,p_2,...,p_k$。换句话说,Malek 想要知道在路径上身份编号前 $a$ 小的人(或者更少,如果这条路上总共居住的人少于 $a$ 个)。 Duff 现在非常忙碌,所以她让你来帮助她回答 Malek 的提问。

输入格式

输入的第一行包括 $3$ 个整数,$n,m$ 和 $q(1\le n,m,q\le 10^5)$。 接下来的 $n-1$ 行描述了连通城市的道路。每一行包括两个整数 $u$ 和 $v$,表示从城市 $u$ 到城市 $v$ 有一条双向道路。$(1\le u,v\le n,u\ne v)$ 接下来的一行包括 $m$ 个正整数 $c_1,c_2,...,c_m$,$c_i$ 表示编号为 $i$ 的人居住在城市 $c_i$ 里。(对所有 $1\le i\le m$,有 $1\le c_i\le n$) 接下来的 $q$ 行描述了 Malek 的提问。每一行包括三个正整数 $u,v$ 和 $a(1\le u,v\le n,1\le a\le 10)$。

输出格式

对于每次提问,输出一行,包括 $k,p_1,p_2,...,p_k$。

说明/提示

Graph of Andarz Gu in the sample case is as follows (ID of people in each city are written next to them): ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF587C/0b4bff2f57d38ed14a5c0dfe241322d00c36fcd2.png)