/* 4781
#include <stdio.h>
int arr[1001][1001]= {};
int queue[1000000][2]= {};
int front=-1, rear=-1;
int m, n, day;
void enq(int x, int y)
{
rear++;
queue[rear][0]=x;
queue[rear][1]=y;
arr[x][y]=1;
}
void bfs(int x, int y)
{
if(x>=0&&x<n&&y>=0&&y<m&&arr[x][y]==0)
{
enq(x, y);
}
}
void di()
{
int max=rear;
int i, x, y;
for(i=front+1; i<=max; i++)
{
front++;
x=queue[i][0];
y=queue[i][1];
bfs(x, y+1);
bfs(x, y-1);
bfs(x+1, y);
bfs(x-1, y);
}
}
void view()
{
int i, j;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
printf("%2d ", arr[i][j]);
}
printf("\n");
}
printf("day=%d\n",day);
}
void func()
{
while(1)
{
if(front!=rear)
{
di();
day++;
view();
}
else
{
break ;
}
}
}
int main()
{
int i, j, x, y;
scanf("%d %d", &m, &n);
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
scanf("%d", &arr[i][j]);
if(arr[i][j]==1)
{
enq(i, j);
}
}
}
day=0;
func();
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
if(arr[i][j]==0)
{
printf("i=%d j=%d\n",i,j);
printf("-1");
return 0;
}
}
}
printf("%d", --day);
return 0;
}
*/
/*
#include <stdio.h>
void f()
{
if(n<0) return ;
else if(n=0) printf("영");
else {
}
}
int main()
{
int i, n;
scanf("%d", &n);
}
*/
/* 3017
#include <stdio.h>
typedef struct
{
int k, ma, in;
} stu;
int main()
{
stu s[1001]= {}, tmp;
int i, j, n;
scanf("%d", &n);
for(i=0; i<n; i++)
{
scanf("%d %d", &s[i].ma, &s[i].in);
s[i].k=i+1;
}
for(i=0; i<n-1; i++)
{
for(j=0; j<n-i-1; j++)
{
if(s[j+1].ma>s[j].ma)
{
tmp = s[j];
s[j] = s[j+1];
s[j+1] = tmp;
}
else if(s[j+1].ma==s[j].ma)
{
if(s[j+1].in>s[j].in)
{
tmp = s[j];
s[j] = s[j+1];
s[j+1] = tmp;
}
}
}
}
for(i=0; i<n; i++)
{
printf("%d %d %d\n", s[i].k, s[i].ma, s[i].in);
}
}
*/