/*
#include<stdio.h>
int main()
{
int n,a[10]= {},m,k=0,i;
scanf("%d",&n);
m=n-1;
while(777)
{
a[k]=m%26;
m/=26;
if(m==0) break;
m--;
k++;
}
for(i=k; i>=0; i--)
{
printf("%c",a[i]+65);
}
return 0;
}
/*/
/*
#include <stdio.h>
int map[26][26]={};
int n,num=0,cnt=0;
int danji[400]={};
void dfs(int x, int y)
{
//1*2 + 8*9 + 7*9+ 5*6
if(map[x][y]!=1 || x<=0 || y<=0 || x>n || y>n ) return ;
map[x][y]=-1;
cnt++;
dfs(x,y+1);
dfs(x,y-1);
dfs(x+1,y);
dfs(x-1,y);
}
int main()
{
int 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)
{
cnt=0;
dfs(i,j);
num++;
danji[num]=cnt;
}
}
}
printf("%d\n",num);
//danji 정렬
for(i=1;i<=num;i++)
{
printf("%d\n",danji[i]);
}
return 0;
}
#include<stdio.h>
int n,m,num=0;
char map[101][101]={};
void dfs(int x,int y)
{
if(map[x][y]!='L'||x<=0||y<=0||x>n||y>m) return ;
map[x][y]='K';
dfs(x-1,y);
dfs(x+1,y);
dfs(x,y-1);
dfs(x,y+1);
dfs(x-1,y-1);
dfs(x+1,y-1);
dfs(x-1,y+1);
dfs(x+1,y+1);
}
int main()
{
int i,j;
scanf("%d %d",&m,&n);
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
scanf(" %c",&map[i][j]);
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
if(map[i][j]=='L')
{
dfs(i,j);
num++;
}
}
}
printf("%d",num);
}
*/