#include<bits/stdc++.h>
using namespace std;
typedef vector<int> vt;
const int N=1e3+10;
int temp[N][3];
int main()
{
int m,n,k;
cin>>n>>m>>k;
vector<vt>arr(m+1,vt(n+1));
map<int,int>check;
int idx=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cin>>arr[i][j];
check[arr[i][j]]++;
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(check[arr[i][j]]==1)
{
if(i>0&&i<m-1)
{
if(j>0&&j<n-1)
{
bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
bool judge5=(abs(arr[i][j]-arr[i+1][j+1])>k);
bool judge6=(abs(arr[i][j]-arr[i-1][j+1])>k);
bool judge7=(abs(arr[i][j]-arr[i+1][j-1])>k);
bool judge8=(abs(arr[i][j]-arr[i-1][j-1])>k);
if(judge1&&judge2&&judge3&&judge4&&judge5&&judge6&&judge7&&judge8)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
else if(j==0)
{
bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
bool judge5=(abs(arr[i][j]-arr[i+1][j+1])>k);
bool judge6=(abs(arr[i][j]-arr[i-1][j+1])>k);
if(judge2&&judge3&&judge4&&judge5&&judge6)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
else if(j==n-1)
{
bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
bool judge7=(abs(arr[i][j]-arr[i+1][j-1])>k);
bool judge8=(abs(arr[i][j]-arr[i-1][j-1])>k);
if(judge1&&judge3&&judge4&&judge7&&judge8)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
}
else if(i==0)
{
if(j>0&&j<n-1)
{
bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
bool judge5=(abs(arr[i][j]-arr[i+1][j+1])>k);
bool judge7=(abs(arr[i][j]-arr[i+1][j-1])>k);
if(judge1&&judge2&&judge4&&judge5&&judge7)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
else if(j==0)
{
bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
bool judge5=(abs(arr[i][j]-arr[i+1][j+1])>k);
if(judge2&&judge4&&judge5)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
else if(j==n-1)
{
bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
bool judge7=(abs(arr[i][j]-arr[i+1][j-1])>k);
if(judge1&&judge4&&judge7)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
}
else if(i==m-1)
{
if(j>0&&j<n-1)
{
bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
bool judge6=(abs(arr[i][j]-arr[i-1][j+1])>k);
bool judge8=(abs(arr[i][j]-arr[i-1][j-1])>k);
if(judge1&&judge2&&judge3&&judge6&&judge8)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
else if(j==0)
{
bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
bool judge6=(abs(arr[i][j]-arr[i-1][j+1])>k);
if(judge2&&judge3&&judge6)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
else if(j==n-1)
{
bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
bool judge8=(abs(arr[i][j]-arr[i-1][j-1])>k);
if(judge1&&judge3&&judge8)
{
temp[idx][0]=i;
temp[idx][1]=j;
temp[idx++][2]=arr[i][j];
}
}
}
}
}
}
/*for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
cout<<arr[i][j]<<" ";
cout<<"DEBUG."<<endl;
}
for(int i=0;i<idx;i++)
cout<<"DEBUG."<<'('<<temp[i][1]+1<<", "<<temp[i][0]+1<<"): "<<temp[i][2]<<endl;
*/
if(idx>1)cout<<"Not Unique"<<endl;
else if(idx<1) cout<<"Not Exist"<<endl;
else cout<<'('<<temp[0][1]+1<<", "<<temp[0][0]+1<<"): "<<temp[0][2]<<endl;
return 0;
}