luogu#P4275. 萃香的请柬

萃香的请柬

题目背景

管理员提示:数据中存在 l=0l=0,请等同于 l=1l=1 处理。

现在是宴会开始前一天

题目描述

萃香在小时候就一直有一个梦想,就是邀请全乡居民一起参加宴会,在上次发动异变被灵梦退治之后她仍旧没有放弃,而是在元宵节前早早准备好了难以计数的请柬。

现在,宴会即将开始,萃香却还是有一大堆请柬没有送出。经过大数学家琪露诺的严谨推算,到2018年时幻想乡的居民数目已经远远超过了外界,而这就使得宴会的邀请变得极为困难。

但是,拥有"操纵密度程度的能力"的萃香可以分成大大小小的萃香一起去送请柬。由于小萃香的移动速度过慢,因此她决定只让大萃香曲去送请柬。

开始时有S只萃香,之后每过一秒每一个大萃香会分成一大一小两个萃香,与此同时上一次分出的小萃香会积聚能量变大为大萃香。

直观的说,下面是开始只有一个大萃香时前四秒的变化情况(大萃香用"B"表示,小萃香用"L"表示)

(很容易看出,第一次的大萃香经过一秒后分成了一大一小两只萃香,之后一秒刚才分出的大萃香继续分裂,而刚才的小萃香长大为大萃香)

可是,我们这位"小小的百鬼夜行"发现了一个严重的问题:在经过无限长的时间后,萃香的数目太多了。于是她决定每一次只让一段区间内的大萃香去送请柬,而她现在想要知道每一次能够送出的请柬个数。

如果你能帮她完成这个任务,她就会送给你两个奖励——100分和宴会的请柬!

输入格式

第一行 SS 个大写字母 B\verb!B!L\verb!L!,表示开始时萃香的状态。

之后是一个整数 nn 表示询问的个数。

接下来 nn 行每行两个整数 l,rl,r 表示询问的区间。

输出格式

nn 行,每行一个整数 kk,表示区间 [l,r][l,r] 中大萃香的个数。

B
2
2 3
1 5
1
3

提示

【数据范围】: