#P005819. 速记

速记

题目描述

小明在听英语听力时,需要记录一些关键信息。他手中有一个初始字符串 SS,仅由小写字母组成。

在听力过程中,会进行 QQ 次操作,操作有两种类型:

  1. 修改操作:将字符串 SS 中第 pospos 个字符修改为字符 cc
  2. 查询操作:查询字符串 SS 中第 LL 个字符到第 RR 个字符的子串中,有多少种不同的字符。

请你帮助小明处理这 QQ 次操作。

输入格式

第一行包含一个字符串 SS,表示初始字符串。

第二行包含一个整数 QQ,表示操作次数。

接下来 QQ 行,每行描述一个操作:

  • 修改操作:1 pos c,表示将 SS 的第 pospos 个字符改为 cc
  • 查询操作:2 L R,表示查询子串 S[L..R]S[L..R] 中不同字符的数量。

输出格式

对于每个查询操作,输出一行一个整数,表示查询结果。

样例 #1

输入

abcde
5
2 1 3
1 2 d
2 1 3
1 1 a
2 1 5

输出

3
3
4

数据范围

对于 100%100\% 的数据,S105|S| \le 10^5Q105Q \le 10^5pospos 合法,cc 为小写字母,1LRS1 \le L \le R \le |S|