import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num1 = scanner.nextInt();
        int num2 = scanner.nextInt();
        int[][] a = new int[num1][num2];
//        int[][] b = new int[num1][num2];
        for (int i = 0; i < num1; i++) {
            for(int j = 0;j < num2;j++)
            a[i][j] = scanner.nextInt();
        }
        int max = a[0][0];
        int min = a[0][0];
        int x1 = 0,y1 = 0,x2 = 0,y2 = 0,temp;
        for (int i = 0; i < num1; i++) {
            for(int j = 0;j < num2;j++){
                if(max < a[i][j]){max = a[i][j];x1 = i;y1 = j;}
                else if(min > a[i][j]){min = a[i][j];x2 = i;y2 = j;}
            }
        }
        temp = a[x1][y1];
        a[x1][y1] = a[x2][y2];
        a[x2][y2] = temp;
        for (int i = 0; i < num1; i++) {
            for(int j = 0;j < num2;j++){
                System.out.print(a[i][j] + " ");
            }
            System.out.println("");
        }






    }public static void paiXu(int[] a,int length){
        int temp;
        for(int i = 0;i < length - 1;i++){
            for(int k = 0;k < length - i - 1;k++){
                if(a[k] > a[k + 1]){
                    temp = a[k];
                    a[k] = a[k + 1];
                    a[k + 1] = temp;
                }
            }
        }
    } public static void paiXud(int[] a){
        int temp;
        for(int i = 0;i < a.length - 1;i++){
            for(int k = 0;k < a.length - i - 1;k++){
                if(a[k] < a[k + 1]){
                    temp = a[k];
                    a[k] = a[k + 1];
                    a[k + 1] = temp;
                }
            }
        }
    } public static void paiXux(int[] a){
        int temp;
        for(int i = 0;i < a.length - 1;i++){
            for(int k = 0;k < a.length - i - 1;k++){
                if(a[k] > a[k + 1]){
                    temp = a[k];
                    a[k] = a[k + 1];
                    a[k + 1] = temp;
                }
            }
        }
    }

    public static int MAX2(int[][] a){
        int max = a[0][0];
        for (int i = 0; i < a.length; i++) {
            for(int j = 0;j < a[0].length;j++){
                if(max < a[i][j])max = a[i][j];
            }
        }
        return max;
    }public static int MIN2(int[][] a){
        int min = a[0][0];
        for (int i = 0; i < a.length; i++) {
            for(int j = 0;j < a[0].length;j++){
                if(min > a[i][j])min = a[i][j];
            }
        }
        return min;
    }
    public static int MAX(int[] a){
        int max = a[0];
        for (int i = 0; i < a.length; i++) {
            if(max < a[i]){
                max = a[i];
            }
        }
        return max;
    }

    public static int MIN(int[] a){
        int min = a[0];
        for (int i = 0; i < a.length; i++) {
            if(min > a[i]){
               min = a[i];
            }
        }
        return min;
    }
    public static int sum(int a){
        int x,s = 0;
        while(a != 0){
            x = a % 10;
            s = s + x;
            a /= 10;
        }
        return s;
    }
    public static boolean isPrime(int a){
        if(a <= 1)return false;
        else
        for(int i = 2;i <= Math.sqrt(a);i++){
            if(a % i == 0)return false;
        }return true;
    }

    public static long qiuYu(long i){
        long a;
        a = i % 10;
        return a;
    }
    public static int daoXu(int x){
        int s = 0,m;
        while(x != 0){
            m = x % 10;
            s = s * 10 + m;
            x /= 10;
        }
        return s;
    }

    public static int jiaWei(int x){
        int s = 0,m;
        while(x != 0){
            m = x % 10;
            s = s + m;
            x /= 10;
        }
        return s;
    }

    public static int fun(int x){
        if(x == 1 || x == 2)return 1;
        else return fun(x - 1) + fun(x - 2);
    }
}

/**************************************************************
	Problem: 1999
	User: admin
	Language: Java
	Result: Accepted
	Time:952 ms
	Memory:41468 kb
****************************************************************/