#include <bits/stdc++.h>
using namespace std;
long long int bit[30][500001];
void update(long long int id, long long int ind, long long int val) {
  while (ind <= 100000) {
    bit[id][ind] += val;
    ind += (ind & -ind);
  }
}
long long int query(long long int id, long long int ind) {
  long long int sum = 0;
  while (ind > 0) {
    sum += bit[id][ind];
    ind -= (ind & -ind);
  }
  return sum;
}
int main() {
  ios::sync_with_stdio(false);
  ;
  cin.tie(0);
  ;
  long long int i, j, l, x, y, type, q, pos, l1, r1;
  string s;
  char ch;
  cin >> s;
  l = s.length();
  s = " " + s;
  for (i = 1; i <= l; i++) update(s[i] - 'a', i, 1);
  cin >> q;
  while (q--) {
    cin >> type;
    if (type == 1) {
      cin >> pos >> ch;
      update(s[pos] - 'a', pos, -1);
      update(ch - 'a', pos, 1);
      s[pos] = ch;
    } else {
      cin >> l1 >> r1;
      long long int ans = 0;
      for (i = 0; i < 26; i++) {
        if (query(i, r1) - query(i, l1 - 1) > 0) ans++;
      }
      cout << ans << "\n";
    }
  }
  return 0;
}
