program wp10zad1;

const
    AS = 14;
    KOLORY = 4;
    REKA = 5;

var s1, s2, n1, n2 : String;
    u1, u2 : Integer;
    w1, w2 : String;

procedure rozpoznaj(s : String; var u : Integer; var n, w : String);
var jestKolor : Boolean;
    i, j, x : Integer;
    wystapienia : array [2 .. AS] of 0 .. KOLORY;
    powtorzenia : array [0 .. KOLORY] of 0 .. REKA;
begin
    for i := 2 to AS do
        wystapienia[i] := 0;
    powtorzenia[0] := REKA;
    for i := 1 to KOLORY do
        powtorzenia[i] := 0;
    jestKolor := true;
    assert(length(s) = 2 * REKA);
    for i := 1 to REKA do begin
        assert(s[2 * i] in ['c', 'd', 'h', 's']);
        jestKolor := jestKolor and (s[2 * i] = s[2]);
        x := pos(s[2 * i - 1], '123456789TJQKA');
        assert(x > 1);
        assert(wystapienia[x] < KOLORY);
        dec(powtorzenia[wystapienia[x]]);
        inc(wystapienia[x]);
        inc(powtorzenia[wystapienia[x]])
    end;
    w := '';
    for i := KOLORY downto 1 do
        for j := AS downto 2 do
            w := w + chr(ord('0') + ord(wystapienia[j] = i));
    if pos('1000000001111', w) > 0 then begin
        w[(AS - 1) * KOLORY - (AS - 2)] := '0';
        w := w + '1'
    end;
    u := 9 * ord(jestKolor) + 8 * ord(pos('11111', w) > 0) +
            11 * powtorzenia[4] + 7 * powtorzenia[3] + 3 * powtorzenia[2];
    case u of
        0 :
            n := 'wysoka karta';
        3 * 1 :
            n := 'para';
        3 * 2 :
            n := 'dwie pary';
        7 :
            n := 'trojka';
        8 :
            n := 'strit';
        9 :
            n := 'kolor';
        7 + 3 * 1 :
            n := 'ful';
        11 :
            n := 'kareta';
        9 + 8 :
            n := 'poker'
    end
end;

begin
    readln(s1);
    rozpoznaj(s1, u1, n1, w1);
    readln(s2);
    rozpoznaj(s2, u2, n2, w2);
    if (u1 = u2) and (w1 = w2) then
        writeln(n1, '=', n2)
    else if (u1 < u2) or ((u1 = u2) and (w1 < w2)) then
        writeln(n1, '<', n2)
    else
        writeln(n1, '>', n2)
end.
