#include<bits/stdc++.h>
using namespace std;
// typedef vector <int> vi;
// typedef pair< int ,int > pii;
// #define endl "\n"
// #define sd(val) scanf("%d",&val)
// #define ss(val) scanf("%s",&val)
// #define sl(val) scanf("%lld",&val)
// #define debug(val) printf("check%d\n",val)
// #define all(v) v.begin(),v.end()
// #define PB push_back
// #define MP make_pair
// #define FF first
// #define SS second
// #define ll long long
// #define MOD 1000000007
// #define clr(val) memset(val,0,sizeof(val))
// #define what_is(x) cerr << #x << " is " << x << endl;
// #define OJ \
// freopen("input.txt", "r", stdin); \
// freopen("output.txt", "w", stdout);
// #define FIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
void search(int a[][1000],int m,int n,int k){
if(k<a[0][0] || k>a[m-1][n-1]){
cout<<"The element is not present in the array";
return;
}
int i=0;
int j=n-1;
while(i<=m-1 && j>=0){
if(a[i][j]==k){
cout<<"The key is at "<< i<<","<<j;
return;
}
else if(a[i][j]<k){
i++;
}
else{
j--;
}
}
cout<<" Not Found";
return;
}
int main(){
int a[1000][1000]={{1,4,8,10},{2,5,9,15},{6,16,18,20}};
search(a,3,4,15);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAovLyB0eXBlZGVmIHZlY3RvciA8aW50PiB2aTsKLy8gdHlwZWRlZiBwYWlyPCBpbnQgLGludCA+IHBpaTsKLy8gI2RlZmluZSBlbmRsICJcbiIKLy8gI2RlZmluZSBzZCh2YWwpIHNjYW5mKCIlZCIsJnZhbCkKLy8gI2RlZmluZSBzcyh2YWwpIHNjYW5mKCIlcyIsJnZhbCkKLy8gI2RlZmluZSBzbCh2YWwpIHNjYW5mKCIlbGxkIiwmdmFsKQovLyAjZGVmaW5lIGRlYnVnKHZhbCkgcHJpbnRmKCJjaGVjayVkXG4iLHZhbCkKLy8gI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKLy8gI2RlZmluZSBQQiBwdXNoX2JhY2sKLy8gI2RlZmluZSBNUCBtYWtlX3BhaXIKLy8gI2RlZmluZSBGRiBmaXJzdAovLyAjZGVmaW5lIFNTIHNlY29uZAovLyAjZGVmaW5lIGxsIGxvbmcgbG9uZwovLyAjZGVmaW5lIE1PRCAxMDAwMDAwMDA3Ci8vICNkZWZpbmUgY2xyKHZhbCkgbWVtc2V0KHZhbCwwLHNpemVvZih2YWwpKQovLyAjZGVmaW5lIHdoYXRfaXMoeCkgY2VyciA8PCAjeCA8PCAiIGlzICIgPDwgeCA8PCBlbmRsOyAKLy8gI2RlZmluZSBPSiBcCi8vICAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsgXAovLyAgICAgZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKLy8gI2RlZmluZSBGSU8gaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShOVUxMKTtjb3V0LnRpZShOVUxMKTsKCnZvaWQgc2VhcmNoKGludCBhW11bMTAwMF0saW50IG0saW50IG4saW50IGspewogICAgaWYoazxhWzBdWzBdIHx8IGs+YVttLTFdW24tMV0pewogICAgICAgIGNvdXQ8PCJUaGUgZWxlbWVudCBpcyBub3QgcHJlc2VudCBpbiB0aGUgYXJyYXkiOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGludCBpPTA7CiAgICBpbnQgaj1uLTE7CiAgICB3aGlsZShpPD1tLTEgJiYgaj49MCl7CiAgICAgICAgaWYoYVtpXVtqXT09ayl7CiAgICAgICAgICAgIGNvdXQ8PCJUaGUga2V5IGlzIGF0ICI8PCBpPDwiLCI8PGo7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZihhW2ldW2pdPGspewogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGotLTsKICAgICAgICB9CiAgICB9CiAgICBjb3V0PDwiIE5vdCBGb3VuZCI7CiAgICByZXR1cm47Cgp9IAoKCmludCBtYWluKCl7CiAgICBpbnQgYVsxMDAwXVsxMDAwXT17ezEsNCw4LDEwfSx7Miw1LDksMTV9LHs2LDE2LDE4LDIwfX07CiAgICBzZWFyY2goYSwzLDQsMTUpOwogICAgcmV0dXJuIDA7Cn0K