#NP0043. L11 NP0043-小码哥的完全二叉树

0

L11 NP0043-小码哥的完全二叉树

题目描述

在本题中,我们按以下方式定义满二叉树和完全二叉树。

满二叉树:一个二叉树,如果每一层的节点数都达到最大值,则这个二叉树是满二叉树,一个nn层的满二叉树有2n−12^n-1个节点。

完全二叉树:如果对满二叉树的节点,按照从上到下,从左到右的顺序,从11开始对节点编号,则一个nn个节点的完全二叉树,每一个节点ii,会和其对应编号的节点在满二叉树中的位置相同。

小码哥有一棵nn个节点,按以上方式编号的完全二叉树。他会给出qq个询问。 询问一:询问节点ii的父节点编号。 询问二:询问节点ii的左儿子节点编号。 询问三:询问节点ii的右儿子节点编号。

如果节点ii不存在于该树中,输出"Error";如果节点ii的父节点或子节点(询问的对应节点)不存在,输出"QAQ"(均不含引号);如果询问合法,则输出询问对应的节点编号。

输入格式

第一行输入两个整数n,qn,q。 接下来qq行,每行输入两个整数opt,iopt,i,ii表示询问的节点。若opt=1opt=1,表示询问一;opt=2opt=2,表示询问二;opt=3opt=3,表示询问三。

输出格式

输出共qq行,对于每个询问输出你的答案。

样例输入 #1

5 5
1 10
1 2
2 2
3 2
1 1

样例输出 #1

Error
1
4
5
QAQ

说明/提示

对于40%的数据,有1≤n≤1051\leq n\leq 10^5。 对于100%的数据,有$1\leq n\leq 10^{18},1\leq q\leq 10^5,1\leq i\leq 2\times 10^{18}$。