#include<iostream>
using namespace std;
string s;
int X,Y;
int x[8000],y[8000],cx,cy;
bool f(int a[],int n,int u)
{
	bool dp[2][17500]={};
	int p=8500;int w=0;
	dp[w][p]=1;int f=p,l=p;
	for(int i=0;i<n;i++)
	{
		for(int j=f;j<=l;j++)
		{
			dp[1-w][j-a[i]]|=dp[w][j];
			dp[1-w][j+a[i]]|=dp[w][j];
			dp[w][j]=0;
		}
		f-=a[i];l+=a[i];w=1-w;
	}
	return dp[w][u+p];
}
int main()
{
	cin>>s>>X>>Y;bool flag=true;int cnt=0;
	int it=0;
	while(it<s.size()&&s[it]!='T')it++;
	X-=it;
	for(it++;it<s.size();it++)
	{
		if(s[it]=='T')
		{
			flag?y[cy++]=cnt:(x[cx++]=cnt);
			cnt=0;flag=!flag;
		}
		else cnt++;
	}
	flag?y[cy++]=cnt:(x[cx++]=cnt);
	cout<<(f(x,cx,X)&&f(y,cy,Y)?"Yes":"No")<<endl;
}