#include <stdio.h>

int main() {
    int n, m;
    int  i,j;
    scanf("%d %d", &n, &m);

    int arr[10][10];

    // 读取二维数组元素
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            scanf("%d", &arr[i][j]);
        }
    }

    // 查找每行最小值和每列最小值
    int row_min[10] = {0};
    int col_min[10] = {0};

    for (i = 0; i < n; i++) {
        row_min[i] = arr[i][0]; // 初始化为第一列的值
        for (j = 1; j < m; j++) {
            if (arr[i][j] < row_min[i]) {
                row_min[i] = arr[i][j];
            }
        }
    }
    
    for (j = 0; j < m; j++) {
        col_min[j] = arr[0][j]; // 初始化为第一行的值
        for (i = 1; i < n; i++) {
            if (arr[i][j] < col_min[j]) {
                col_min[j] = arr[i][j];
            }
        }
    }

    // 输出"最小点"
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            if (arr[i][j] == row_min[i] && arr[i][j] == col_min[j]) {
                printf("%d %d %d\n", arr[i][j], i + 1, j + 1); // 注意行列从1开始计数
            }
        }
    }

    return 0;
}
