/*
#include <stdio.h>
int map[9][9]={0}, candynum=0;
int candy(int x, int y, int color)
{
if(map[x][y]!=color){
return 0;
}
map[x][y]=0;
return 1+candy(x+1, y, color)+candy(x-1, y, color)+candy(x, y+1, color)+candy(x, y-1, color);
}
int main(void)
{
int i, j, n;
for(i=1; i<=7; i++){
for(j=1; j<=7; j++){
scanf("%d", &map[i][j]);
}
}
for(i=1; i<=7; i++){
for(j=1; j<=7; j++){
if(map[i][j]!=0){
n = candy(i, j, map[i][j]);
if(n>=3){
candynum++;
}
}
}
}
printf("%d", candynum);
return 0;
}
*/
/*
#include <stdio.h>
#include <string.h>
char map[102][102]={};
void find_lake(int x, int y)
{
map[x][y]='.';
int i, j;
for(i=x-1; i<=x+1; i++){
for(j=y-1; j<=y+1; j++){
if(map[i][j]=='L'){
find_lake(i, j);
}
}
}
return ;
}
int main(void)
{
int w, h, i, j, num_lake=0;
char input;
scanf("%d %d", &w, &h);
for(i=1; i<=h; i++){
for(j=1; j<=w; j++){
scanf(" %c", &map[i][j]); //문자 받을때는 항상 주의!
}
}
for(i=1; i<=h; i++){
for(j=1; j<=w; j++){
if(map[i][j]=='L'){
//printf("[%d] i : %d j : %d\n", num_lake, i, j);
find_lake(i, j);
num_lake++;
}
}
}
printf("%d", num_lake);
return 0;
}
*/
/*
#include <stdio.h>
int map[27][27]={}, apart[400]={}, num=2, temp;
void find(int x, int y)
{
map[x][y]=num;
int i, j;
for(i=x-1; i<=x+1; i++){
for(j=y-1; j<=y+1; j++){
if((i+j)==(x+y+1) || (i+j)==(x+y-1)){
if(map[i][j]==1){
find(i, j);
apart[num]++;
}
}
}
}
return ;
}
int main(void)
{
int n, i, j;
scanf("%d", &n);
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
scanf("%1d", &map[i][j]);
}
}
for(i=1; i<=n; i++){
for(j=1; j<=n ;j++){
if(map[i][j]==1){
apart[num]=1;
find(i, j);
num++;
}
}
}
for(i=num-1; i>=2; i--){
for(j=2; j<=i; j++){
if(apart[j-1]>apart[j]){
temp=apart[j];
apart[j]=apart[j-1];
apart[j-1]=temp;
}
}
}
printf("%d\n", num-2);
for(i=2; i<=num-1; i++){
printf("%d\n", apart[i]);
}
return 0;
}
*/