#include <cstdlib>
#include <iostream>
#include <stdio.h>
#define MAXN 1000

using namespace std;


int n,q;
int a[MAXN+1][MAXN+1];
int b[MAXN+1][MAXN+1];

int aps(int a)
{
    if(a>0) return a;
    else return -a;
}

int dist(int i,int j,int k,int l)
{
    return aps(k-i)+aps(l-j);
}

int findmindist(int i,int j)
{
     int max=-1,dis;
     for(int k=0;k<=n-1;k++)
            {
                    for(int l=0;l<=n-1;l++)
                    {
                          dis=dist(i,j,k,l);
                          if( a[k][l]<a[i][j] && dis>max ) max=dis;
                    }
            }
     return max;
}

            
int main(int argc, char *argv[])
{
            //Q*N^4 MEGA FAIL
            freopen("pentranje.in","r",stdin);
            freopen("pentranje.out","w",stdout); 
            
            scanf("%d",&n);
            for(int i=0;i<=n-1;i++)
            {
                    for(int j=0;j<=n-1;j++)
                    {
                            scanf("%d",&a[i][j]);
                    }
            }
            for(int i=0;i<=n-1;i++)
            {
                    for(int j=0;j<=n-1;j++)
                    {
                            b[i][j]=findmindist(i,j);
                    }
            }
            
            int komanda,k1,k2,v,dd;
            scanf("%d",&q);
            for(int qq=1;qq<=q;qq++)
            {
                    scanf("%d",&komanda);
                    if(komanda==1)
                    {
                                  scanf("%d %d",&k1,&k2);
                                  printf("%d\n",b[k1-1][k2-1]);
                    }
                    else
                    {
                        scanf("%d %d %d",&k1,&k2,&v);
                        a[k1-1][k2-1]=v;
                        for(int i=0;i<=n-1;i++)
                        {
                            for(int j=0;j<=n-1;j++)
                            {
                               b[i][j]=findmindist(i,j);
                            } 
                        }
                    }
            }
         // system("PAUSE");
            return 0;
}
