#include <bits/stdc++.h>
using namespace std;
void merge(int *a, int *b) {
  for (int i = 0; i < 10; i++) a[i] = b[a[i]];
}
struct ST {
  int l, r;
  int a[10];
  long long sum[10];
  ST *left;
  ST *right;
  ST(long long l, long long r) : l(l), r(r) {
    iota(a, a + 10, 0);
    fill(sum, sum + 10, 0ll);
    if (l < r) {
      left = new ST(l, (l + r) / 2);
      right = new ST((l + r) / 2 + 1, r);
    }
  }
  void add(int i, long long w, long long c) {
    if (!(l <= i && i <= r)) return;
    sum[c] += w;
    if (l < r) {
      left->add(i, w, c);
      right->add(i, w, c);
    }
  }
  void fix() {
    long long sum1[10];
    fill(sum1, sum1 + 10, 0);
    for (long long t = 0; t < 10; t++) sum1[a[t]] += sum[t];
    if (l < r) {
      merge(left->a, a);
      merge(right->a, a);
    }
    iota(a, a + 10, 0);
    for (int i = 0; i < 10; i++) sum[i] = sum1[i];
  }
  void update(long long x, long long y, int *g) {
    if (x <= l && r <= y) {
      merge(a, g);
      fix();
      return;
    }
    fix();
    if (r < x || y < l) return;
    left->update(x, y, g);
    right->update(x, y, g);
    for (long long t = 0; t < 10; t++) sum[t] = left->sum[t] + right->sum[t];
  }
  long long summm(long long x, long long y) {
    if (x <= l && r <= y) {
      fix();
      long long summ = 0;
      for (long long t = 1; t < 10; t++) summ += t * sum[t];
      return summ;
    }
    fix();
    if (r < x || y < l) return 0;
    return left->summm(x, y) + right->summm(x, y);
  }
};
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  long long n, q;
  cin >> n >> q;
  ST X(1, n);
  for (long long i = 1; i <= n; i++) {
    string a;
    cin >> a;
    long long w = 1;
    reverse(a.begin(), a.end());
    for (char x : a) {
      X.add(i, w, x - '0');
      w *= 10;
    }
  }
  while (q--) {
    long long t, l, r;
    cin >> t >> l >> r;
    if (t == 1) {
      long long x, y;
      cin >> x >> y;
      int a[10];
      iota(a, a + 10, 0);
      a[x] = y;
      X.update(l, r, a);
    } else {
      cout << X.summm(l, r) << "\n";
    }
  }
}
