if(flag == 0){
if(StartR > i+1){
StartR = i+1;
StartC = j+1;
}
else if(StartR == i+1 && StartC > j+1){
StartR = i+1;
StartC = j+1;
}
}
}
//right - left
if(j - len + 1>= 0){
flag = 0;
for(k = 0;k < len;k++){
if(str[k] != Matrix[i][j-k]){
flag = 1;
break;
}
}
if(flag == 0){
if(StartR > i+1){
StartR = i+1;
StartC = j+1;
}
else if(StartR == i+1 && StartC > j+1){
StartR = i+1;
StartC = j+1;
}
}
}
//up - down
if(i + len <= M){
flag = 0;
for(k = 0;k < len;k++){
if(str[k] != Matrix[i+k][j]){
flag = 1;
break;
}
}
if(flag == 0){
if(StartR > i+1){
StartR = i+1;
StartC = j+1;
}
else if(StartR == i+1 && StartC > j+1){
StartR = i+1;
StartC = j+1;
}
}
}
//down - up
flag = 0;
for(k = 0;k < len;k++){
if(str[k] != Matrix[i-k][j]){
flag = 1;
break;
}
}
if(flag == 0){
if(StartR > i+1){
StartR = i+1;
StartC = j+1;
}
else if(StartR == i+1 && StartC > j+1){
StartR = i+1;
StartC = j+1;
}
}
}
//right - up
if(j + len <= N && i - len + 1 >= 0){
flag = 0;
for(k = 0;k < len;k++){
if(str[k] != Matrix[i-k][j+k]){
flag = 1;
break;
}
}
if(flag == 0){
if(StartR > i+1){
StartR = i+1;
StartC = j+1;
}
else if(StartR == i+1 && StartC > j+1){
StartR = i+1;
StartC = j+1;
}
}
}
//right - down
if(j + len <= N && i + len <= M){
flag = 0;
for(k = 0;k < len;k++){
if(str[k] != Matrix[i+k][j+k]){
flag = 1;
break;
}
}
if(flag == 0){
if(StartR > i+1){
StartR = i+1;
StartC = j+1;