#include <bits/stdc++.h>
using namespace std;
int all, n, k, m = 1, qq, ty, p, l, r;
long long int mi[32][524288], ma[32][524288], a[524288][5];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n >> k;
  while (m < n) m <<= 1;
  all = 1 << k;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < k; j++) cin >> a[i][j];
  for (int b = 0; b < all; b++) {
    for (int i = 0; i < n; i++) {
      long long int val = 0;
      for (int j = 0; j < k; j++) {
        if (((b >> j) & 1) == 1)
          val += a[i][j];
        else
          val -= a[i][j];
      }
      mi[b][i + m] = val;
      ma[b][i + m] = val;
    }
    for (int i = n; i < m; i++) {
      mi[b][i + m] = 1000000000;
      ma[b][i + m] = -1000000000;
    }
    for (int i = m - 1; i > 0; i--) {
      mi[b][i] = min(mi[b][i << 1], mi[b][i << 1 | 1]);
      ma[b][i] = max(ma[b][i << 1], ma[b][i << 1 | 1]);
    }
  }
  cin >> qq;
  while (qq-- > 0) {
    cin >> ty;
    if (ty == 1) {
      cin >> p;
      p--;
      for (int i = 0; i < k; i++) cin >> a[p][i];
      for (int b = 0; b < all; b++) {
        long long int val = 0;
        for (int j = 0; j < k; j++) {
          if (((b >> j) & 1) == 1)
            val += a[p][j];
          else
            val -= a[p][j];
        }
        mi[b][p + m] = val;
        ma[b][p + m] = val;
        for (int pp = (p + m) >> 1; pp > 0; pp >>= 1) {
          mi[b][pp] = min(mi[b][pp << 1], mi[b][pp << 1 | 1]);
          ma[b][pp] = max(ma[b][pp << 1], ma[b][pp << 1 | 1]);
        }
      }
    } else {
      cin >> l >> r;
      l--;
      r--;
      long long int ans = 0;
      for (int b = 0; b < all; b++) {
        long long int mx = -1000000000, mn = 1000000000;
        for (int ll = l + m, rr = r + m + 1; ll < rr; ll >>= 1, rr >>= 1) {
          if (ll & 1) {
            mx = max(mx, ma[b][ll]);
            mn = min(mn, mi[b][ll]);
            ll++;
          }
          if (rr & 1) {
            rr--;
            mx = max(mx, ma[b][rr]);
            mn = min(mn, mi[b][rr]);
          }
        }
        ans = max(ans, mx - mn);
      }
      cout << ans << "\n";
    }
  }
}
