#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, m;
    cin >> n >> m; // 输入二维数组的行数和列数

    vector<vector<int>> arr(n, vector<int>(m)); // 创建二维数组
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            cin >> arr[i][j]; // 输入二维数组的元素
        }
    }

    for (int i = 1; i < n - 1; ++i) { // 遍历除去第一行和最后一行的数组元素
        for (int j = 1; j < m - 1; ++j) { // 遍历除去第一列和最后一列的数组元素
            if (arr[i][j] > arr[i - 1][j] && arr[i][j] > arr[i + 1][j] && arr[i][j] > arr[i][j - 1] && arr[i][j] > arr[i][j + 1]) {
                // 如果当前元素大于其上下左右的元素,则为靶心数
                cout << arr[i][j] << endl; // 输出靶心数
            }
        }
    }

    return 0;
}





/**************************************************************
	Problem: 1384
	User: zhenghaoxuan
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2076 kb
****************************************************************/