#include #include#include#include#include#include#include#include#include#include#include#include
using namespacestd;
typedeflong longLL;const int INF=0x3f3f3f3f;const double eps=1e-8;const double pi=acos(-1.0);const int MOD=1e9+7;const int maxn=1005;intn,m,cnt;chars[maxn][maxn];boolvis[maxn][maxn];intmain()
{while(scanf("%d %d",&n,&m)!=EOF)
{
memset(vis,false,sizeof(vis));for(int i=1;i<=n;i++)
scanf("%s",s[i]+1);//for(int i=1;i<=n;i++)//printf("%s\n",s[i]+1);
cnt=0;for(int i=2;i<=n;i++)
{for(int j=1;j<=m;j++)
{if(s[i][j]=='v')
{if(j-2>0)
{if((s[i][j-2]=='v'&&vis[i][j-2]==false&&s[i-1][j-1]=='^'&&vis[i-1][j-1]==false))
{
cnt++;
vis[i][j]=true;vis[i][j-2]=true;vis[i-1][j-1]=true;
}
}if(s[i-1][j-1]=='^'&&s[i-1][j+1]=='^'&&vis[i-1][j-1]==false&&vis[i-1][j+1]==false)
{
cnt++;
vis[i][j]=true;vis[i-1][j-1]=true;vis[i-1][j+1]=true;
}
}
}
}//printf("%d\n",cnt);
if(n<3)
printf("%d\n",cnt);else{for(int i=3;i<=n;i++)
{for(int j=1;j<=m;j++)
{if(s[i][j]=='
{if(s[i-1][j+1]=='>'&&vis[i-1][j+1]==false&&s[i-2][j]=='
{
cnt++;
vis[i][j]=true;vis[i-1][j+1]=true;vis[i-2][j]=true;
}
}if(s[i][j]=='>')
{if(s[i-1][j-1]==''&&vis[i-2][j]==false)
{
cnt++;
vis[i][j]=true;vis[i-1][j-1]=true;vis[i-2][j]=true;
}
}
}
}
printf("%d\n",cnt);
}
}return 0;
}/**********************************************************************
Problem: 1361
User: HNCPCteam001
Language: C++
Result: AC
Time:528 ms
Memory:3996 kb
**********************************************************************/