var
a:array[1..4] of longint;
d:array[1..4] of longint;
i,j,k,r,n:longint;
s:string;
ans:boolean;
procedure qplsf;
var
t,p,q,i,j:longint;
begin
p:=n-1;
while d[p]>d[p+1] do dec(p);
q:=p+1;
while (q<n)and(d[q+1]>d[p]) do inc(q);
t:=d[p];
d[p]:=d[q];
d[q]:=t;
i:=p+1;
j:=n;
while i<j do begin
t:=d[i];
d[i]:=d[j];
d[j]:=t;
inc(i);
dec(j);
end;
end;
function v(a,b,o:longint):longint;
begin
case o of
1:v:=a+b;
2:v:=a-b;
3:v:=a*b;
4:begin
writeln(a,'div',b);
if (a mod b <>0)or(b=0) then v:=maxint
else v:=a div b;
end;
end;
end;
begin
readln(s);
n:=0;
for i:=1 to length(s) do
if s[i] in['A','2'..'9','1','J','Q','K'] then begin
inc(n);
d[n]:=n;
if s[i]='A' then a[n]:=1;
if s[i] in ['2'..'9'] then a[n]:=ord(s[i])-ord('0');
if s[i]='1' then a[n]:=10;
if s[i]='J' then a[n]:=11;
if s[i]='Q' then a[n]:=12;
if s[i]='K' then a[n]:=13;
end;
ans:=false;
for r:=1 to 24 do begin
for i:=1 to 4 do
for j:=1 to 4 do
for k:=1 to 4 do
if v(v(v(a[d[1]],a[d[2]],i),a[d[3]],j),a[d[4]],k)=21 then
ans:=true;
if r<>24 then qplsf;
end;
if ans then
write('yes')
else
write('no');
end.