#include <stdio.h>
typedef struct map{
int** map;
int** access;
int size;
int cols;
int num;
}Map;
void MapInt(Map* omap,int size,int cols){
omap->size=size;
omap->cols=cols;
omap->num=0;
omap->map=(int**)malloc(sizeof(int*)*size);
for (size_t i = 0; i < cols; i++){
omap->map[i]=(int*)malloc(sizeof(int)*cols);//知识点:calloc会将内存初始化为0而malloc不会
}
omap->access=(int**)calloc(size,sizeof(int*));
for (size_t i = 0; i < cols; i++){
omap->access[i]=(int*)calloc(cols,sizeof(int));
}
return ;
}
void MapInput(Map* omap){
for (size_t i = 0; i < omap->size; i++){
for (size_t i1 = 0; i1 < omap->cols; i1++){
scanf("%d",omap->map[i][i1]);
}
}
return ;
}
void MapDestroy(Map* omap){
free(omap->map);
free(omap->access);
return ;
}
int main(){
int size;
int cols;
Map omap;
while (scanf("%d %d",&size,&cols)!=EOF){
MapInt(&omap,size,cols);
MapInput(&omap);
MapProcess(&omap);
MapDestroy(&omap);
}
}