题目描述
强哥准备了一个英文长句S, 这个长句只由大小写英文字母组成, len(S) (1≤len(S)≤105)表示该英文长句的长度.
现在强哥想和你玩一个游戏, 进行 q (1≤q≤105)次操作, 操作类型有两种:
query l r
. 表示询问下标在[l,r] (1≤l≤r≤len(S))区间内不同种类的字母有多少(注意, 对应的大小写字母被认为是同一个种类,比如'A'和'a','B'和'b'属于同一个种类的字母)。
do a b
. 表示将下标为a (字符串S的下标从1开始) 的字符改成字符b. (1≤a≤len(S), b 是一个大小写字母) 。
输入格式
输入第一行包含了一个长度不超过105的字符串,该字符串只含有大小写字母。
输入第二行有一个整数 q, 表示进行操作的次数 (1≤q≤105)。
接下来有 q 行,每一行的操作和问题描述的格式一样. 保证至少有一个查询。
输出格式
对于每一次查询, 输出对应区间 [l,r] 内不同种类字母的数量.
输入样例1:
AbAcaBa
5
query 1 4
do 4 b
do 5 b
query 4 6
query 1 7
输出样例1:
3
1
2
数据范围
对于20%的数据,1≤len(S)≤100, 1≤q≤100,1≤L≤R≤100。
对于80%的数据,1≤len(S)≤105, 1≤q≤105,1≤L≤R≤105。