program paradox;
var n, i, j, count:integer;
S: array[1..325] of string;
A,B,SY: array [1..325] of char;
nodo : array[1..26] of integer;
lettere : array[1..26,1..26] of boolean;
recStack, visited : array [1..26] of boolean;
risposta: string;
ciclo : boolean;
function isCyclic (u :integer) : boolean;
var v :integer;
begin
if recStack[u] then begin isCyclic:=true; ciclo:=true; exit; end;
if visited[u] then isCyclic:=false;
visited[u]:=true;
recStack[u]:=true;
for v:=1 to 26 do if (lettere[u,v] = true) then if isCyclic(v) then isCyclic:=true;
recStack[u]:=false;
isCyclic:=false;
end;
begin
readln(N);
for i:=1 to N do readln(S[i]);
for i:=1 to N do begin A[i]:=S[i][1]; SY[i]:=S[i][3]; B[i]:=S[i][5];end;
for i:=1 to 26 do
for j:=1 to 26 do lettere[i, j]:=false;
for i:=1 to 26 do visited[i]:=false;
for i:=1 to 26 do recStack[i]:=false;
for i:=1 to N do
begin
if SY[i]='<' then lettere[ord(A[i])-96, ord(B[i])-96] := true
else if SY[i]='>' then lettere[ord(B[i])-96, ord(A[i])-96] :=true;
end;
for i:=1 to 26 do nodo[i]:=0;
for i:=1 to N do begin nodo[ord(A[i])-96]:=nodo[ord(A[i])-96]+1; nodo[ord(B[i])-96]:=nodo[ord(B[i])-96]+1; end;
for i:=1 to 26 do
if (nodo [i]<>0) then begin
if (visited[i]=false) and (isCyclic(i)) then ciclo:=true
else if (visited[i]=false) and (isCyclic(i)=false) then ciclo:=false; end;
if ciclo=true then risposta:=':('
else risposta:=':)';
writeln(risposta);
end.
cHJvZ3JhbSBwYXJhZG94Owp2YXIgbiwgaSwgaiwgY291bnQ6aW50ZWdlcjsKICAgIFM6IGFycmF5WzEuLjMyNV0gb2Ygc3RyaW5nOwogICAgQSxCLFNZOiBhcnJheSBbMS4uMzI1XSBvZiBjaGFyOwogICAgbm9kbyA6IGFycmF5WzEuLjI2XSBvZiBpbnRlZ2VyOwogICAgbGV0dGVyZSA6IGFycmF5WzEuLjI2LDEuLjI2XSBvZiBib29sZWFuOwogICAgcmVjU3RhY2ssIHZpc2l0ZWQgOiBhcnJheSBbMS4uMjZdIG9mIGJvb2xlYW47CiAgICByaXNwb3N0YTogc3RyaW5nOwogICAgY2ljbG8gOiBib29sZWFuOwoKZnVuY3Rpb24gaXNDeWNsaWMgKHUgOmludGVnZXIpIDogYm9vbGVhbjsKICB2YXIgdiA6aW50ZWdlcjsKICBiZWdpbiAKICAgICAgaWYgcmVjU3RhY2tbdV0gdGhlbiBiZWdpbiBpc0N5Y2xpYzo9dHJ1ZTsgY2ljbG86PXRydWU7IGV4aXQ7IGVuZDsKICAgICAgaWYgdmlzaXRlZFt1XSB0aGVuIGlzQ3ljbGljOj1mYWxzZTsKICAgICAgdmlzaXRlZFt1XTo9dHJ1ZTsKICAgICAgcmVjU3RhY2tbdV06PXRydWU7CiAgICAgIGZvciB2Oj0xIHRvIDI2IGRvICAgaWYgKGxldHRlcmVbdSx2XSA9IHRydWUpIHRoZW4gaWYgaXNDeWNsaWModikgdGhlbiAgaXNDeWNsaWM6PXRydWU7IAogICAgICByZWNTdGFja1t1XTo9ZmFsc2U7CiAgICAgIGlzQ3ljbGljOj1mYWxzZTsKIGVuZDsgICAgIAoKCiAgICAKYmVnaW4KICAgIHJlYWRsbihOKTsKICAgIGZvciBpOj0xIHRvICBOICBkbyByZWFkbG4oU1tpXSk7CiAgICBmb3IgaTo9MSB0byBOIGRvIGJlZ2luIEFbaV06PVNbaV1bMV07IFNZW2ldOj1TW2ldWzNdOyBCW2ldOj1TW2ldWzVdO2VuZDsKICAgIGZvciBpOj0xIHRvIDI2IGRvIAogICAgICAgICAgICAgICAgIGZvciBqOj0xIHRvIDI2IGRvIGxldHRlcmVbaSwgal06PWZhbHNlOwogICAgZm9yIGk6PTEgdG8gMjYgZG8gdmlzaXRlZFtpXTo9ZmFsc2U7CiAgICBmb3IgaTo9MSB0byAyNiBkbyByZWNTdGFja1tpXTo9ZmFsc2U7CiAgCiAgICBmb3IgaTo9MSB0byBOIGRvIAogICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICBpZiBTWVtpXT0nPCcgdGhlbiBsZXR0ZXJlW29yZChBW2ldKS05Niwgb3JkKEJbaV0pLTk2XSAgOj0gdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgU1lbaV09Jz4nIHRoZW4gbGV0dGVyZVtvcmQoQltpXSktOTYsIG9yZChBW2ldKS05Nl0gOj10cnVlOwogICAgICAgICAgICAgICAgICAgIGVuZDsKICAgIGZvciBpOj0xIHRvIDI2IGRvIG5vZG9baV06PTA7CiAgICBmb3IgaTo9MSB0byBOIGRvIGJlZ2luIG5vZG9bb3JkKEFbaV0pLTk2XTo9bm9kb1tvcmQoQVtpXSktOTZdKzE7IG5vZG9bb3JkKEJbaV0pLTk2XTo9bm9kb1tvcmQoQltpXSktOTZdKzE7IGVuZDsKICAgIGZvciBpOj0xIHRvIDI2IGRvCiAgICAgICAgICAgaWYgKG5vZG8gW2ldPD4wKSB0aGVuIGJlZ2luIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRbaV09ZmFsc2UpIGFuZCAoaXNDeWNsaWMoaSkpIHRoZW4gY2ljbG86PXRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodmlzaXRlZFtpXT1mYWxzZSkgYW5kIChpc0N5Y2xpYyhpKT1mYWxzZSkgdGhlbiBjaWNsbzo9ZmFsc2U7IGVuZDsKICAgICAgICAgICAgICAgICAgICAgICAKICAgIGlmIGNpY2xvPXRydWUgdGhlbiByaXNwb3N0YTo9JzooJwogICAgICAgICAgICAgICAgICBlbHNlIHJpc3Bvc3RhOj0nOiknOwogICAgd3JpdGVsbihyaXNwb3N0YSk7CiAgICBlbmQu