#include <bits/stdc++.h>
using namespace std;
const int N = 1000 + 10, M = 3 * 1000 * 100 + 10, Z = 26;
long long n, m, K, a[M], b[M], c[M], d[M], cnt[N][N][Z + 5], dist[M], dis[N][N];
char s[N][N], e[M];
int main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> n >> m >> K;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) cin >> s[i][j];
  for (int i = 1; i <= K; i++) {
    cin >> a[i] >> b[i] >> c[i] >> d[i] >> e[i];
    cnt[a[i]][b[i]][e[i] - 'a']++;
    cnt[c[i] + 1][d[i] + 1][e[i] - 'a']++;
    cnt[c[i] + 1][b[i]][e[i] - 'a']--;
    cnt[a[i]][d[i] + 1][e[i] - 'a']--;
  }
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      for (int l = 0; l < Z; l++)
        cnt[i][j][l] +=
            cnt[i - 1][j][l] + cnt[i][j - 1][l] - cnt[i - 1][j - 1][l];
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) {
      int t = K;
      for (int k = 0; k < Z; k++) t -= cnt[i][j][k];
      cnt[i][j][s[i][j] - 'a'] += t;
    }
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      for (int k = 0; k < Z; k++)
        dis[i][j] += cnt[i][j][k] * abs((s[i][j] - 'a') - k);
  long long ans = 1LL << 59;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      dis[i][j] += dis[i - 1][j] + dis[i][j - 1] - dis[i - 1][j - 1];
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      for (int k = 0; k < Z; k++)
        cnt[i][j][k] +=
            cnt[i - 1][j][k] + cnt[i][j - 1][k] - cnt[i - 1][j - 1][k];
  for (int i = 1; i <= K; i++) {
    long long res = dis[n][m];
    res -= dis[c[i]][d[i]] - dis[a[i] - 1][d[i]] - dis[c[i]][b[i] - 1] +
           dis[a[i] - 1][b[i] - 1];
    for (int k = 0; k < Z; k++)
      res += (cnt[c[i]][d[i]][k] - cnt[a[i] - 1][d[i]][k] -
              cnt[c[i]][b[i] - 1][k] + cnt[a[i] - 1][b[i] - 1][k]) *
             abs(e[i] - 'a' - k);
    dist[i] = res;
  }
  cout << *min_element(dist + 1, dist + K + 1) << '\n';
  return 0;
}
