#h260. 权限位指令

权限位指令

h260. 权限位指令

题目描述

一个十位二进制掩码表示编号为 0099 的权限,第 kk 位为 1 表示拥有该权限。

依次执行以下指令:

  • GRANT k:授予权限 kk
  • REVOKE k:撤销权限 kk
  • TOGGLE k:翻转权限 kk
  • CHECK k:输出当前是否拥有权限 kk,有则输出 1,否则输出 0

全部指令执行后,再输出最终掩码的十进制值。

输入格式

第一行输入初始掩码 ss 和指令数 qq

接下来 qq 行,每行输入一条指令和一个权限编号 kk

输出格式

每条 CHECK 指令输出一行查询结果。最后再输出一行最终掩码。

数据范围

  • 0s<2100\le s<2^{10}
  • 1q1001\le q\le 100
  • 0k<100\le k<10

样例

输入

5 5
CHECK 0
GRANT 1
TOGGLE 2
REVOKE 0
CHECK 2

输出

1
0
2

标签:位掩码、模拟