#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Funzione per allocare memoria
void crea(int h, int l, int ***p)
{
int i;
*p = (int **) malloc ( h * sizeof(int *) );
for ( i = 0; i < h; i++ )
*(*p+i) = (int *) malloc( l * sizeof(int) );
}
// Funzione per liberare memoria
void libera(int h, int ***p)
{
int i;
for ( i = 0; i < h; i++ ) {
free(*(*p+i));
*(*p+i) = NULL;
}
free(*p);
*p = NULL;
}
// Funzione per stampare soluzione
void soluzione(int l, int h, int **p){
int i, j;
for (i=0; i<h; i++){
for (j=0; j<l; j++){
printf("%d ", p[i][j]);
}
printf("\n");
}
}
int main(void){
int **p, l, h, i, j;
// Fase di acquisizione input
scanf("%d%d", &l, &h);
// Allocazione memoria per matrice
crea(h, l, &p);
// Riempimento matrice
for (i=0; i<h; i++){
for (j=0;j<l;j++){
scanf("%d", &p[i][j]);
}
}
// Stampa soluzione
printf("%d %d\n", l, h);
soluzione(l, h, &p);
libera(h, &p);
return 0;
}