#include <stdio.h>

#define MMAX 20
#define NMAX 20

void troque(double *x, double *y);
void troque_linhas(double a[][NMAX], int m, int n, int i, int j);

void leia_matriz(double a[][NMAX], int m, int n);
void imprima_matriz(double a[][NMAX], int m, int n);

int main()
{
  double a[MMAX][NMAX];
  int i, j, m, n;

  scanf("%d %d", &m, &n);
  leia_matriz(a, m, n);
  scanf("%d %d", &i, &j);
  troque_linhas(a, m, n, i, j);
  imprima_matriz(a, m, n);
  return 0;
}

void troque(double *x, double *y)
{
  double t = *x;

  *x = *y; *y = t;
}

void troque_linhas(double a[][NMAX], int m, int n, int i, int j)
{
  int k;
  for (k=0; k<n; k++)
    troque(&a[i][k], &a[j][k]);
}

void leia_matriz(double a[][NMAX], int m, int n)
{
  int i, j;

  for (i=0; i<m; i++)
    for (j=0; j<n; j++)
      scanf("%lf", &a[i][j]);
}

void imprima_matriz(double a[][NMAX], int m, int n)
{
  int i, j;

  for (i=0; i<m; i++) {
    for (j=0; j<n; j++)
      printf("%3.2g", a[i][j]);
    putchar('\n');
  }
}
