#include <bits/stdc++.h>
using namespace std;
set<long long> st[30];
long long Ans;
int main() {
  string s;
  cin >> s;
  s = "*" + s;
  for (int i = 1; i < s.size(); i++) {
    st[s[i] - 'a'].insert(i);
  }
  long long q;
  cin >> q;
  while (q--) {
    long long t;
    scanf("%I64d ", &t);
    if (t == 1ll) {
      long long pos;
      char c;
      scanf("%I64d %c", &pos, &c);
      st[s[pos] - 'a'].erase(pos);
      st[c - 'a'].insert(pos);
      s[pos] = c;
    } else {
      long long l, r;
      scanf("%I64d%I64d", &l, &r);
      Ans = 0;
      for (int i = 0; i < 26; i++) {
        auto p = st[i].lower_bound(l);
        if (p == st[i].end()) continue;
        if (*p <= r) {
          Ans++;
        }
      }
      printf("%I64d\n", Ans);
    }
  }
  return 0;
}
