#include<bits/stdc++.h>
using namespace std;
const int maxn=101;
int n,m;
string mp[maxn];
int sx,sy;
bool vis[maxn][maxn]= {false};
int dir[8][2]= {{2,1},{2,-1},{1,2},{1,-2},{-2,1},{-2,-1},{-1,2},{-1,-2}};
bool pre(int x,int y)
{
return (0<=x&&x<n&&0<=y&&y<m);
}
bool dfs(int x,int y)
{
vis[x][y]=true;
if(mp[x][y]=='T')
{
return true;
}
for(int i=0; i<8; i++)
{
int tx=x+dir[i][0];
int ty=y+dir[i][1];
if(pre(tx,ty)&&!vis[tx][ty]&&mp[tx][ty]!='#')
{
if(dfs(tx,ty))
{
return true;
}
}
}
return false;
}
int main()
{
n=10;
m=9;
for(int i=0; i<n; i++)
{
cin>>mp[i];
}
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
if(mp[i][j]=='S')
{
sx=i;
sy=j;
}
}
}
if(dfs(sx,sy))
{
printf("Yes\n");
}
else
{
printf("No\n");
}
return 0;
}