因为英语能力很差,所以只有简要题意。
给定点数 n,操作数 m 和模数 k。
再给定这 n 个点的点权 ai。
有三种操作:
-
给定点 u,v,给点 u,v 间连一条边,若已连通则忽略。
-
给定点 x 和值 val,表示把点 x 的权值改为 val。
-
给定点 u,v 和值 w,查询 u→v 的路径上点权小于等于 w 的点个数,以及点权小于等于 w 的点的点权乘积对 k 取模。
如果不存在这样的点则只输出一个 0。
n≤5×104,m≤105,k≤33333,多测,强制在线。
强制在线形式为,若读入数据为 x,上次答案为 lst,则实际数据为 x−lst。
lst 初始为 0,上次答案定义为上一次询问的第二问答案。
如果第一问答案为 0 则 lst=0。
多组数据以 EOF 结尾。