program scopa;
uses Math;
type carta = record
numero:integer;
seme:char
end;
var
line: ansistring;
c:integer;
i,j, h, t, tot, number, ricordaid, conta, ricordaconta: integer;
suit: char;
mano, table: array[1..4] of carta;
settebinmano, settebintable, fattoscopa: boolean;
procedure readcard(var s: ansistring; var number: integer; var suit: char);
begin
if (s[1] = '1') and (s[2] = '0') then
begin
number := 10;
suit := s[3];
s := copy(s, 5, length(s));
end else begin
number := ord(s[1]) - ord('0');
if ord(s[2])<>32 then
begin
suit := s[2];
s := copy(s, 4, length(s));
end
else
begin
suit := s[2+1];
s := copy(s, 4+1, length(s));
end;
end;
end;
begin
{
uncomment the following lines if you want to read/write from files
assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
}
settebinmano:=false; settebintable:=false; fattoscopa:=false;
readln(line);
for i:=1 to 3 do
begin
{ card in hand }
readcard(line, number, suit);
writeln (line);
mano[i].numero:=number;
mano[i].seme:=suit;
if (number=7) and (suit='G') then settebinmano:=true;
{ use number and suit }
end;
readln(line);
tot:=0;
for i:=1 to 4 do
begin
{ card on table }
readcard(line, number, suit);
writeln(line);
table[i].numero:=number;
table[i].seme:=suit;
tot:=tot+number;
if (number=7) and (suit='G') then settebintable:=true;
{ use number and suit }
end;
for t:=1 to 3 do
begin
for i:=1 to 16 do
begin
tot:=0; conta:=0; ricordaconta:=0;
for j:=0 to 4 do
begin
c:=1 Shl j;
if i And c <>0 then
begin
tot:=tot+ table[j].numero;
conta:=conta+1;
end;
writeln (c,' ', tot);
end;
end;
end;
end.
cHJvZ3JhbSBzY29wYTsKdXNlcyBNYXRoOwp0eXBlIGNhcnRhID0gcmVjb3JkCiAgICAgICAgICAgICAgICAgICBudW1lcm86aW50ZWdlcjsKICAgICAgICAgICAgICAgICAgIHNlbWU6Y2hhcgogICAgICAgICAgICAgICAgZW5kOyAgICAKdmFyCiAgICBsaW5lOiBhbnNpc3RyaW5nOwogICAgYzppbnRlZ2VyOwogICAgaSxqLCBoLCB0LCB0b3QsIG51bWJlciwgcmljb3JkYWlkLCBjb250YSwgcmljb3JkYWNvbnRhOiBpbnRlZ2VyOwogICAgc3VpdDogY2hhcjsKICAgIG1hbm8sIHRhYmxlOiBhcnJheVsxLi40XSBvZiBjYXJ0YTsKICAgIHNldHRlYmlubWFubywgc2V0dGViaW50YWJsZSwgZmF0dG9zY29wYTogYm9vbGVhbjsKICAgIApwcm9jZWR1cmUgcmVhZGNhcmQodmFyIHM6IGFuc2lzdHJpbmc7IHZhciBudW1iZXI6IGludGVnZXI7IHZhciBzdWl0OiBjaGFyKTsKYmVnaW4KICAgIGlmIChzWzFdID0gJzEnKSBhbmQgKHNbMl0gPSAnMCcpIHRoZW4KICAgIGJlZ2luCiAgICAgICAgbnVtYmVyIDo9IDEwOwogICAgICAgIHN1aXQgOj0gc1szXTsKICAgICAgICBzIDo9IGNvcHkocywgNSwgbGVuZ3RoKHMpKTsKICAgIGVuZCBlbHNlIGJlZ2luCiAgICAgICAgbnVtYmVyIDo9IG9yZChzWzFdKSAtIG9yZCgnMCcpOwogICAgICAgIGlmIG9yZChzWzJdKTw+MzIgdGhlbiAKICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgc3VpdCA6PSBzWzJdOwogICAgICAgICAgICAgICAgICAgICAgICAgIHMgOj0gY29weShzLCA0LCBsZW5ndGgocykpOwogICAgICAgICAgICAgICAgICAgICAgICAgZW5kICAKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VpdCA6PSBzWzIrMV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzIDo9IGNvcHkocywgNCsxLCBsZW5ndGgocykpOwogICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDsgIAogICAgZW5kOwplbmQ7CgoKCmJlZ2luCnsKICAgIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmVzIGlmIHlvdSB3YW50IHRvIHJlYWQvd3JpdGUgZnJvbSBmaWxlcwogICAgYXNzaWduKGlucHV0LCAgJ2lucHV0LnR4dCcpOyAgcmVzZXQoaW5wdXQpOwogICAgYXNzaWduKG91dHB1dCwgJ291dHB1dC50eHQnKTsgcmV3cml0ZShvdXRwdXQpOwp9CiAgICBzZXR0ZWJpbm1hbm86PWZhbHNlOyBzZXR0ZWJpbnRhYmxlOj1mYWxzZTsgZmF0dG9zY29wYTo9ZmFsc2U7CiAgICAKICAgIHJlYWRsbihsaW5lKTsKICAgIGZvciBpOj0xIHRvIDMgZG8KICAgIGJlZ2luCiAgICAgICAgeyBjYXJkIGluIGhhbmQgfQogICAgICAgIHJlYWRjYXJkKGxpbmUsIG51bWJlciwgc3VpdCk7CiAgICAgICAgd3JpdGVsbiAobGluZSk7CiAgICAgICAgbWFub1tpXS5udW1lcm86PW51bWJlcjsKICAgICAgICBtYW5vW2ldLnNlbWU6PXN1aXQ7CiAgICAgICAgaWYgKG51bWJlcj03KSBhbmQgKHN1aXQ9J0cnKSB0aGVuIHNldHRlYmlubWFubzo9dHJ1ZTsKICAgICAgICB7IHVzZSBudW1iZXIgYW5kIHN1aXQgfQogICAgZW5kOwoKICAgIHJlYWRsbihsaW5lKTsKICAgIHRvdDo9MDsgCiAgICBmb3IgaTo9MSB0byA0IGRvCiAgICBiZWdpbgogICAgICAgIHsgY2FyZCBvbiB0YWJsZSB9CiAgICAgICAgcmVhZGNhcmQobGluZSwgbnVtYmVyLCBzdWl0KTsKICAgICAgICB3cml0ZWxuKGxpbmUpOwogICAgICAgIHRhYmxlW2ldLm51bWVybzo9bnVtYmVyOwogICAgICAgIHRhYmxlW2ldLnNlbWU6PXN1aXQ7CiAgICAgICAgdG90Oj10b3QrbnVtYmVyOwogICAgICAgIGlmIChudW1iZXI9NykgYW5kIChzdWl0PSdHJykgdGhlbiBzZXR0ZWJpbnRhYmxlOj10cnVlOwogICAgICAgIHsgdXNlIG51bWJlciBhbmQgc3VpdCB9CiAgICBlbmQ7CiAgICAKICAgIGZvciB0Oj0xIHRvIDMgZG8KICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgIGZvciBpOj0xIHRvIDE2IGRvCiAgICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgdG90Oj0wOyBjb250YTo9MDsgcmljb3JkYWNvbnRhOj0wOwogICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGo6PTAgdG8gNCBkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzo9MSBTaGwgajsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBpIEFuZCBjIDw+MCB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90Oj10b3QrIHRhYmxlW2pdLm51bWVybzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YTo9Y29udGErMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZWxuIChjLCcgJywgdG90KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIGVuZDsgCiAgICAgICAgICAgICAgCiAgZW5kLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg