local str = io.read()
local n = #str
local startx = 0
local curlen = 0
local curIsY = false
local xlist = {}
local ylist = {}
local isfirst = true
for i = 1, n do
  if str:sub(i, i) == "F" then
    curlen = curlen + 1
  else
    if curIsY then
      table.insert(ylist, curlen)
    else
      if isfirst then
        startx = curlen
        isfirst = false
      else
        table.insert(xlist, curlen)
      end
    end
    curIsY = not curIsY
    curlen = 0
  end
end
if isfirst then
  startx = startx + curlen
else
  if curIsY then table.insert(ylist, curlen)
  else table.insert(xlist, curlen)
  end
end
local xdst, ydst = io.read("*n", "*n")
xdst = xdst - startx
local xsum, ysum = 0, 0
for i = 1, #xlist do xdst = xdst + xlist[i] end
for i = 1, #ylist do ydst = ydst + ylist[i] end

local function check(list, dst)
  if dst == 0 then return true end
  local t = {}
  local ln = #list
  for i = 1, dst do t[i] = false end
  local curmax = 0
  for i = 1, ln do
    for j = curmax, 1, -1 do
      if (j + list[i] * 2) == dst then
        return true
      elseif (j + list[i] * 2) < dst then
        t[j + list[i] * 2] = true
      end
    end
    curmax = curmax + list[i] * 2
    t[list[i] * 2] = true
    if (list[i] * 2) == dst then return true end
  end
  return false
end
print(check(xlist, xdst) and check(ylist, ydst) and "Yes" or "No")
