牛妹是一个喜欢无向图的女孩子。
牛妹现在有 个点构成的点集
,每个点有点权
。
牛妹想用这 个点构造
个无向图
。对于第
个无向图,牛妹指定了一个参数
。牛妹规定
当且仅当
,其中
表示二进制按位异或运算。
牛妹并不想知道这 个无向图具体长什么样,所以对于第
个无向图,你只需要告诉牛妹
到
的最短路径长度。
第一行两个整数,表示点集大小和无向图数量。
第二行 n 个整数,
表示第 i 个点的点权。
接下来 q 行,第 i 行三个整数,
表示第 i 个无向图的参数,
表示询问最短路的起点和终点。
输出 q 行,第 i 行一个整数,表示第 i 个无向图中到
的最短路长度。若
和
不连通则输出 -1。