#2688. Sam的春秋大梦

Sam的春秋大梦

题目描述

【鸡毛信奥】的学生都被其他老师拐走了,SamSam 没课上,他觉得很无聊,于是趴在课桌上深深睡去。

SamSam 梦见来很多很多优秀的学生,形成了一棵大小为 nn 的有根树,根节点为 11 号点,且根节点的深度为 11

树上每个节点代表 SamSam 的一个学生,每个节点有一个名字 sis_i,用小写字母 aza\sim z 表示。

SamSam 对他的学生很满意,于是他开始了 mm 次点名,每次点名会把节点 uu 的子树中,深度为 kk 的节点的名字都取出来,然后进行重排

现在 SamSam 想知道,重排后能否形成一个回文串?

回文串定义为一个字符串从左往右读,和从右往左读是一样的,比如aabbcbbaaabba 等。

输入格式

第一行两个数 n,mn,m,表示树上节点个数和 SamSam 点名的次数。

第二行 n1n-1 个数,第 ii 个数表示树上第 i+1i+1 的节点的父亲节点的编号 pip_i,保证父亲节点的编号比该节点小。

第三行是一个长度为 nn 的字符串 ss,其中 sis_i 表示 ii 号节点的名字。

接下来 mm 行,每行一个询问 u,ku,k,表示查询的是 uu 子树中深度为 kk 的节点。

输出格式

mm 行,如果能构成回文串,输出huiwen,否则输出?

输入输出样例 #1

输入 #1

8 7
1 1 2 2 5 5 3
dacxyppx
1 1
1 2
1 3
1 4
2 2
2 3
3 3

输出 #1

huiwen
?
huiwen
huiwen
huiwen
?
huiwen

说明/提示

样例解释

询问 11a 是回文;

询问 22ac 重排不出回文串;

询问 33xyx 是回文;

询问 44pp是回文;

询问 55a 是回文;

询问 66xy 重排不出回文串;

询问 77x 是回文。

数据范围

对于全部数据 1n,m1061\le n,m\le10^61rin11\le r_i\le n-11xn1\le x\le n

测试点 nmn,m 特殊性质
对于前 20%20 \% 的数据 n10n\leq 10m20m\le 20
对于前 40%40 \% 的数据 n,m1000n,m \leq 1000
对于100%100\%的数据 1n,m1061\le n,m\leq 10^61pi<i1 \le p_i<isis_i 为小写英文字母, 1u,kn1\le u ,k\le n 保证 uu 子树内至少有一个深度为 kk 的节点