{"raw_statement":[{"iden":"problem statement","content":"You are given a string $S$ of length $N$ consisting of lowercase English letters.\nProcess $Q$ queries of the following two types:\n\n*   Type $1$: change the $i_q$\\-th character of $S$ to $c_q$. (Do nothing if the $i_q$\\-th character is already $c_q$.)\n*   Type $2$: answer the number of different characters occurring in the substring of $S$ between the $l_q$\\-th and $r_q$\\-th characters (inclusive)."},{"iden":"constraints","content":"*   $N$, $Q$, $i_q$, $l_q$, and $r_q$ are integers.\n*   $S$ is a string consisting of lowercase English letters.\n*   $c_q$ is a lowercase English letter.\n*   $1 \\leq N \\leq 500000$\n*   $1 \\leq Q \\leq 20000$\n*   $|S| = N$\n*   $1 \\leq i_q \\leq N$\n*   $1 \\leq l_q \\leq r_q \\leq N$\n*   There is at least one query of type $2$ in each testcase."},{"iden":"input","content":"Input is given from Standard Input in the following format:\n\n$N$\n$S$\n$Q$\n$Query_1$\n$\\vdots$\n$Query_Q$\n\nHere, $Query_i$ in the $4$\\-th through $(Q+3)$\\-th lines is one of the following:\n\n$1$ $i_q$ $c_q$\n\n$2$ $l_q$ $r_q$"},{"iden":"sample input 1","content":"7\nabcdbbd\n6\n2 3 6\n1 5 z\n2 1 1\n1 4 a\n1 7 d\n2 1 7"},{"iden":"sample output 1","content":"3\n1\n5\n\nIn the first query, `cdbb` contains three kinds of letters: `b` , `c` , and `d`, so we print $3$.\nIn the second query, $S$ is modified to `abcdzbd`.\nIn the third query, `a` contains one kind of letter: `a`, so we print $1$.\nIn the fourth query, $S$ is modified to `abcazbd`.\nIn the fifth query, $S$ does not change and is still `abcazbd`.\nIn the sixth query, `abcazbd` contains five kinds of letters: `a`, `b`, `c`, `d`, and `z`, so we print $5$."}],"translated_statement":null,"sample_group":[],"show_order":["default"],"formal_statement":null,"simple_statement":null,"has_page_source":true}