{
TASK: roulette
LANG: PASCAL
}
const m_type = 15624;


var b : array[0..6] of longint;
    a : array[0..56, 0..m_type] of longint;
    turn, fl, g, t, g1, t1, i, j, k, l, o, p, m, n : longint;
    tu, ch : char;


procedure pre;
 begin
  for j := 0 to m_type do
    a[49, j] := 2;
 end;

procedure preprocessing;
var i, j, s : longint;
    b : array[1..6] of longint;
 begin
  for i := 48 downto (g + t) do
    for j := 1 to m_type do
      begin
       for l := 1 to 6 do
         b[l] := 0;
       k := j;
       l := 7;
       while k > 0 do
         begin
          dec(l);
          b[l] := k mod 5;
          k := k div 5;
         end;
       s := 2;
       fl := 0;
       a[i, j] := 2;
       for o := 1 to 6 do
         begin
          if b[o] < 4 then
            begin
             inc(b[o]);
             p := 25*25*5*b[1] + 25*25*b[2] + 25*5*b[3] + 25*b[4] + 5*b[5] + b[6];
             if a[i + o, p] = 2 then
               begin
                a[i, j] := 1;
                break;
               end;
             dec(b[o]);
            end;
         end;
      end;
 end;










begin
 pre;
 i := 0;
 while not(eoln) do
   begin
    read(ch);
    inc(i);
    k := ord(ch) - 48;
    inc(b[k]);
    if i mod 2 = 1 then inc(g, k)
    else inc(t, k);
   end;
 if i mod 2 = 1 then tu := 'T'
 else tu := 'G';
 if (g = 3) and (t = 3) then writeln(tu, ' 6')
 else if (g + t <= 10) then writeln(tu, ' 0')
 else
 begin
 preprocessing;
 p := 25*25*5*b[1] + 25*25*b[2] + 25*5*b[3] + 25*b[4] + 5*b[5] + b[6];
 if a[g + t, p] = 2 then writeln(tu, ' ', 0)
 else
   begin
    write(tu, ' ');
    for o := 6 downto 1 do
      begin
       if b[o] < 4 then
         begin
          inc(b[o]);
          p := 25*25*5*b[1] + 25*25*b[2] + 25*5*b[3] + 25*b[4] + 5*b[5] + b[6];
          dec(b[o]);
          if a[g + t + o, p] = 2 then
            begin
             writeln(o);
             break;
            end;
         end;
      end;
   end;
 end;
end.



















































const ogr1 = 20000;
const max_t = 15624;

var a : array[0..ogr1] of longint;
    used : array[0..ogr1] of byte;
    op : array[0..ogr1] of longint;
    ans : array[0..ogr1] of longint;
    kind, i, j, k, l, o, p, m, n : longint;
    b : array[1..6] of longint;
    g1, t1, g, t, s, be, en, fl : longint;
    ch : char;


procedure preprocessing;
 begin
   for o := 15624 downto 0 do
   begin
    for j := 1 to 6 do
      b[j] := 0;
    j := 7;
    k := o;
    while k > 0 do
      begin
       dec(j);
       b[j] := k mod 5;
       k := k div 5;
      end;
    s := 0;
    for j := 1 to 6 do
      if b[j] > 0 then inc(s);
    ans[o] := s;
    s := 0;
    for j := 1 to 6 do
      s := s + b[j] * j;
    if s > 49 then
      begin
       a[o] := 2;
       inc(en);
       op[en] := o;
      end;
   end;
 be := 0;
 repeat
  inc(be);
  for j := 1 to 6 do
    b[j] := 0;
  k := op[be];
  kind := a[k];
  j := 7;
  while k > 0 do
    begin
     dec(j);
     b[j] := k mod 5;
     k := k div 5;
     if j = 0 then writeln('error');
    end;
  for j := 1 to 6 do
    if b[j] < 4 then
      begin
       inc(b[j]);
       p := b[1] * 25 * 25 * 5 + b[2] * 25 * 25 + b[3] * 25 * 5 + b[4] * 25 + b[5] * 5 + b[6];
       if (a[p] = 0) and (kind = 2) then a[p] := 1
       else if (a[p] = 0) and (kind = 1) then a[p] := 2
       else if (a[p] = 1) and (kind = 1) then a[p] := a[p]
       else if (a[p] = 1) and (kind = 2) then a[p] := a[p]
       else if (a[p] = 2) and (kind = 1) then a[p] := a[p]
       else if (a[p] = 2) and (kind = 2) then a[p] := 1;
       dec(ans[p]);
       if ans[p] = 0 then
         begin
          inc(en);
          op[en] := p;
         end;
       dec(b[j]);
      end;
 until be >= en;
  end;



begin
 preprocessing;

 for j := 1 to 6 do
   b[j] := 0;
 i := 0;
 g := 0;
 t := 0;
 while not(eoln) do
   begin
    inc(i);
    read(ch);
    k := ord(ch) - 48;
    inc(b[k]);
    if i mod 2 = 1 then inc(g, k)
    else inc(t, k);
   end;
 p := b[1] * 25 * 25 * 5 + b[2] * 25 * 25 + b[3] * 25 * 5 + b[4] * 25 + b[5] * 5 + b[6];
 fl := 0;
 if i mod 2 = 1 then {Tosho}
   begin
    write('T ');
    for o := 6 downto 1 do
      if b[o] < 4 then
        begin
         g1 := g;
         t1 := t + o;
         inc(b[o]);
         p := b[1] * 25 * 25 * 5 + b[2] * 25 * 25 + b[3] * 25 * 5 + b[4] * 25 + b[5] * 5 + b[6];
         if (t1 <= g1) and (a[p] = 2) then
           begin
            writeln(o);
            fl := 1;
            break;
           end;
         dec(b[o]);
        end;
    if fl = 0 then writeln(0);
   end
 else
   begin
    write('G ');
    for o := 6 downto 1 do
      if b[o] < 4 then
        begin
         g1 := g + o;
         t1 := t;
         inc(b[o]);
         p := b[1] * 25 * 25 * 5 + b[2] * 25 * 25 + b[3] * 25 * 5 + b[4] * 25 + b[5] * 5 + b[6];
         if (g1 <= t1) and (a[p] = 2) then
           begin
            writeln(o);
            fl := 1;
            break;
           end;
         dec(b[o]);
        end;
    if fl = 0 then writeln(0);
   end;
end.











