var
  s1,s2:ansistring;
 function fz(n:ansistring):ansistring;
  var
    i:longint;
  begin
    fz:='';
    for i:=length(n) downto 1 do fz:=fz+n[i];
  end;
 function zh(n:ansistring):ansistring;
  var
    x:ansistring;
    i:longint;
  begin
    x:=n;
    for i:=1 to length(n) do
      begin
        if n[i]='b' then x[i]:='d';
        if n[i]='d' then x[i]:='b';
        if n[i]='p' then x[i]:='q';
        if n[i]='q' then x[i]:='p';
      end;
    exit(x);
  end;
begin
  readln(s1);
  s2:=fz(s1);
  s2:=zh(s2);
  if s1=s2 then writeln('Yes')
    else writeln('No');
end.