    function Main(input){
      input = input.split("\n");
      const N = parseInt(input[0],10);
      const S = input[1];
      const Q = parseInt(input[2],10);
      let nextInputnum = 3;
      let Querys = [];
      let S_arr = [];
      for(let i= 0; i < N;i++)S_arr.push(S[i]);
      for(let i = 0; i < Q ; i++)Querys[i] = input[(nextInputnum + i)];
      for(let qry of Querys){
        qry = qry.split(" ");
        let type = parseInt(qry[0],10);
        switch(type){
          case 1:
            let iq = parseInt(qry[1],10);
            let c = qry[2];
            if(S_arr[iq-1] !== c){
		S_arr[iq-1] = c;	
	    }
            break;
          case 2:
            let l = parseInt(qry[1],10);
            let r = parseInt(qry[2],10);
            let result = {};
            if(l <= r && l < N){
              for(l; l <= r ;l++)result[S_arr[(l-1)]] = null;
            }
            let dup = Object.keys(result).length;
            console.log("%d\n",dup);
            break;
          default:
            break;
                   }
      }
    }
    Main(require("fs").readFileSync("/dev/stdin", "utf8"));
