program No_74;
const ty:array[1..24,1..4]of integer=
((1,2,3,4),
(1,2,4,3),
(1,3,2,4),
(1,3,4,2),
(1,4,2,3),
(1,4,3,2),
(2,1,3,4),
(2,1,4,3),
(2,3,1,4),
(2,3,4,1),
(2,4,1,3),
(2,4,3,1),
(3,1,2,4),
(3,1,4,2),
(3,2,1,4),
(3,2,4,1),
(3,4,1,2),
(3,4,2,1),
(4,1,2,3),
(4,1,3,2),
(4,2,1,3),
(4,2,3,1),
(4,3,1,2),
(4,3,2,1));
var x:char;
r,s:array[0..4]of longint;
a:array[0..4]of real;
i,j,k:integer;
begin
//assign(output,n74.txt);
//rewrite(output);
i:=0;
for k:=1 to 7 do
begin
read(x);
if x= then continue;
inc(i);
case x of
1:BEGIN READ(X);IF X=0 THEN S[I]:=10 ELSE S[I]:=1; END;
A:s[i]:=1;
J:s[i]:=11;
Q:s[i]:=12;
K:s[i]:=13;
else s[i]:=ord(x)-ord(0);
end;
end;
for k:=1 to 24 do
for r[1]:=1 to 4 do
for r[2]:=1 to 4 do
for r[3]:=1 to 4 do
begin
a[1]:=s[ty[k,1]];
a[2]:=s[ty[k,2]];
a[3]:=s[ty[k,3]];
a[4]:=s[ty[k,4]];
//writeln(a[1]:0:0, ,a[2]:0:0, ,a[3]:0:0, ,a[4]:0:0,-------,r[1],r[2],r[3]);
for j:=1 to 3 do
case r[j] of
1:a[j+1]:=a[j]+a[j+1];
2:a[j+1]:=a[j]-a[j+1];
3:a[j+1]:=a[j]*a[j+1];
4:a[j+1]:=a[j]/a[j+1];
end;
//writeln(a[4]:0:2);
if (ROUND(a[4])=24) and (round((a[4]+0.000001)*100) mod 100=0) then
begin
writeln(yes);
//readln;
//READLN;
exit;
end; {abcd}
a[1]:=s[ty[k,1]];
a[2]:=s[ty[k,2]];
a[3]:=s[ty[k,3]];
a[4]:=s[ty[k,4]];
case r[2] of
1:a[3]:=a[2]+a[3];
2:a[3]:=a[2]-a[3];
3:a[3]:=a[2]*a[3];
4:a[3]:=a[2]/a[3];
end;
case r[1] of
1:a[3]:=a[1]+a[3];
2:a[3]:=a[1]-a[3];
3:a[3]:=a[1]*a[3];
4:if a[3]=0 then a[3]:=-7474745 else a[3]:=a[1]/a[3];
end;
case r[3] of
1:a[4]:=a[3]+a[4];
2:a[4]:=a[3]-a[4];
3:a[4]:=a[3]*a[4];
4:a[4]:=a[3]/a[4];
end;
//writeln(a[4]:0:2);
if (ROUND(a[4])=24) and (round((a[4]+0.000001)*100) mod 100=0) then
begin
writeln(yes);
//readln;
//READLN;
exit;
end; {a(bc)d}
a[1]:=s[ty[k,1]];
a[2]:=s[ty[k,2]];
a[3]:=s[ty[k,3]];
a[4]:=s[ty[k,4]];
for j:=1 to 3 do
if j<>2 then
case r[j] of
1:a[j+1]:=a[j]+a[j+1];
2:a[j+1]:=a[j]-a[j+1];
3:a[j+1]:=a[j]*a[j+1];
4:if a[j+1]=0 then a[j+1]:=-7474745 else a[j+1]:=a[j]/a[j+1];
end;
case r[2] of
1:a[4]:=a[2]+a[4];
2:a[4]:=a[2]-a[4];
3:a[4]:=a[2]*a[4];
4:if a[4]=0 then a[4]:=-7474745 else a[4]:=a[2]/a[4];
end;
//writeln(a[4]:0:2);
if (ROUND(a[4])=24) and (round((a[4]+0.000001)*100) mod 100=0) then
begin
writeln(yes);
//readln;
//READLN;
exit;
end; {(ab)(cd)}
a[1]:=s[ty[k,1]];
a[2]:=s[ty[k,2]];
a[3]:=s[ty[k,3]];
a[4]:=s[ty[k,4]];
for j:=2 to 3 do
case r[j] of
1:a[j+1]:=a[j]+a[j+1];
2:a[j+1]:=a[j]-a[j+1];
3:a[j+1]:=a[j]*a[j+1];
4:if a[j+1]=0 then a[j+1]:=-7474745 else a[j+1]:=a[j]/a[j+1];
end;
case r[1] of
1:a[4]:=a[1]+a[4];
2:a[4]:=a[1]-a[4];
3:a[4]:=a[1]*a[4];
4:if a[4]=0 then a[4]:=-7474745 else a[4]:=a[1]/a[4];
end;
//writeln(a[4]:0:2);
if (ROUND(a[4])=24) and (round((a[4]+0.000001)*100) mod 100=0) then
begin
writeln(yes);
//readln;
//READLN;
exit;
end; {a(bcd)}
a[1]:=s[ty[k,1]];
a[2]:=s[ty[k,2]];
a[3]:=s[ty[k,3]];
a[4]:=s[ty[k,4]];
for j:=3 downto 2 do
case r[j] of
1:a[j]:=a[j]+a[j+1];
2:a[j]:=a[j]-a[j+1];
3:a[j]:=a[j]*a[j+1];
4:if a[j+1]=0 then a[j]:=-7474745 else a[j]:=a[j]/a[j+1];
end;
case r[1] of
1:a[2]:=a[1]+a[2];
2:a[2]:=a[1]-a[2];
3:a[2]:=a[1]*a[2];
4:if a[2]=0 then a[2]:=-7474745 else a[2]:=a[1]/a[2];
end;
//writeln(a[2]:0:2);
if (ROUND(a[2])=24) and (round((a[2]+0.000001)*100) mod 100=0) then
begin
writeln(yes);
//readln;
//READLN;
exit;
end; {a(b(cd))}
end;
writeln(no);
//close(output);
end.
我去把键盘修修...@$@#@$$
type arr=array[0..5] of real;
var
i,r,t,k:integer;
a:arr;
b:array[0..5] of char;
c:array[0..5,0..2] of real;
st:string;
function check(n:string):integer;
var i:integer;
begin
if ('2'<=n)and(n<='9')or(n='10') then begin val(n,check,i); exit; end;
if n='A' then exit(1);
if n='J' then exit(11);
if n='Q' then exit(12);
if n='K' then exit(13);
end;
procedure try(k:integer; a:arr);
var
i,j,l,s:integer;
t,x,y:real;
d:arr;
begin
if k=1 then if a[1]=24 then begin write('yes'); halt; end
else exit;
for i:=1 to k-1 do
for j:=i+1 to k do
begin
x:=a[i];
y:=a[j];
if x<y then begin t:=x; x:=y; y:=t; end;
c[5-k,0]:= x;
c[5-k,1]:= y;
s:=0;
for l:=1 to k do
if (l<>i)and(l<>j) then
begin inc(s); d[s]:=a[l]; end;
inc(s);
for l:=1 to 4 do
begin
case l of
1:begin inc(r); c[5-k,2]:=x+y; b[r]:='+'; end;
2:begin inc(r); b[r]:='-';c[5-k,2] :=x-y; end;
3:begin inc(r); c[5-k,2]:=x*y; b[r]:='*'; end;
4:begin if y<>0 then c[5-k,2]:=x/y; inc(r); b[r]:='/'; end;
end;
d[s]:=c[5-k,2];
try(s,d);
dec(r);
end;
end;
end;
begin
r:=0;
readln(st);
for i:=1 to 4 do a[i]:=check(copy(st,i*2-1,1));
try(4,a);
write('no');
end.