/*
#include <stdio.h>
#define MAXSIZE 1001
int map[MAXSIZE][MAXSIZE] = {};
int m,n;
int day;
int v[MAXSIZE] = {};
int queue[MAXSIZE][MAXSIZE] = {};
int arr[MAXSIZE][MAXSIZE] = {};
int first = -1;
int rear = -1;
void SetTomatoBox() {
for(int i=0; i<=m; i++) {
map[i][0] = -1;
map[i][n+1] = -1;
}
for(int i=0; i<=n; i++) {
map[0][i] = -1;
map[m+1][i] = -1;
}
map[m+1][n+1] = -1;
}
int check() {
int sum = 0;
for(int i=1; i<=m; i++) {
for(int j=1; j<=n; j++) {
if(map[i][j] == 0 || map[i][j] == -1) {
sum++;
}
}
}
if(sum == 0) {
printf("0");
return 0;
}
else {
return 1;
}
}
void enque(int a,int b) {
queue[++rear][0] = a; //x좌표 저장
queue[rear][1] = b ; //y좌표 저장
}
int dequeArr0() {
return queue[++first][0];
}
int dequeArr1() {
return queue[first][1];
}
void bfs(int a,int b) {
if(map[a+1][b] == 0) {
enque(a+1,b);
map[a+1][b]=1;
}
if(map[a][b+1] == 0) {
enque(a,b+1);
map[a][b+1]=1;
}
if(map[a-1][b] == 0) {
enque(a-1,b);
map[a-1][b]=1;
}
if(map[a][b-1] == 0) {
enque(a,b-1);
map[a][b-1]=1;
}
}
int main() {
int day = -1;
int i,j;
int max;
scanf("%d %d", &m, &n);
for(i=1; i<=m; i++) {
for(j=1; j<=n; j++) {
scanf("%d", &map[i][j]);
}
}
SetTomatoBox();
if(check() == 0) {
return 0;
}
// for(i=0; i<=m+1; i++) {
// for(j=0; j<=n+1; j++) {
// printf("%d ", map[i][j]);
// }
// printf("\n");
// }
for(i=1; i<=m; i++) {
for(j=1; j<=n; j++) {
if(map[i][j] == 1) {
enque(i,j);
}
}
}
max=rear;
while(first != rear) {
while(first < max) {
int x = dequeArr0();
int y = dequeArr1();
bfs(x,y);
}
day++;
max=rear;
}
if(m==142 &&n==15)
{
for(i=1; i<=m; i++) {
for(j=1; j<=n; j++) {
printf("%d ", map[i][j]);
}
printf("\n");
}
}
//토마토가 모 두 익지는 못하는 상황이면 -1
for(i=1; i<=m; i++) {
for(j=1; j<=n; j++) {
if(map[i][j] == 0) {
printf("-1");
return 0;
}
}
}
printf("%d", day);
return 0;
}
*/
#include <stdio.h>
int main() {
}