var
i,j,n,k,t,l:integer;
a,b:array[1..100]of real;
x:char;
s:string;
procedure zero(n:integer);
var
te:real;
begin
if n=1 then
if abs(a[1]-24)<0.00000000001 then begin write('yes'); halt; end else exit;
if a[1]=0 then exit;
te:=a[1];
a[1]:=a[1]+a[n]; zero(n-1); a[1]:=te;
a[1]:=a[1]-a[n]; zero(n-1); a[1]:=te;
a[1]:=a[n]-a[1]; zero(n-1); a[1]:=te;
a[1]:=a[1]*a[n]; zero(n-1); a[1]:=te;
if a[n]<>0 then
begin
a[1]:=a[1]/a[n]; zero(n-1); a[1]:=te;
a[1]:=a[n]/a[1]; zero(n-1); a[1]:=te;
end;
end;
begin
assign(input,'24d.in');
reset(input);
assign(output,'24d.out');
rewrite(output);
readln(s);
l:=length(s); k:=1; i:=0;
while k<=l+2 do
begin
if (s[k+1]=' ')or(k=l) then
begin
inc(i);
case s[k] of
'A':b[i]:=1;
'K':b[i]:=13;
'J':b[i]:=11;
'Q':b[i]:=12;
'2'..'9':b[i]:=ord(s[k])-ord('0');
end;
k:=k+2;
end
else begin inc(i); b[i]:=10; k:=k+3; end;
if i=4 then break;
end;
for i:=1 to 4 do
for j:=1 to 4 do if i<>j then
for k:=1 to 4 do if (i<>k)and(j<>k) then
for t:=1 to 4 do if (i<>t)and(j<>t)and(k<>t) then
begin
a[1]:=b[i]; a[2]:=b[j]; a[3]:=b[k]; a[4]:=b[t];
zero(4);
end;
writeln('no');
close(input);
close(output);
end.