program paradox;
var n, i, j, h:integer;
S: array[1..325] of string;
A,B,SY: array [1..325] of char;
nodo, nodi : 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;
h:=1;
for i:= 1 to 26 do if nodo[i]<>0 then begin nodi[h]:=i; h:=h+1; end;
for i:=1 to h-1 do
if (visited[nodi[i]]=false) and (isCyclic(nodi[i])) then ciclo:=true
else if (visited[nodi[i]]=false) and (isCyclic(nodi[i])=false) then ciclo:=false;
if ciclo=true then risposta:=':('
else risposta:=':)';
writeln(risposta);
end.
cHJvZ3JhbSBwYXJhZG94Owp2YXIgbiwgaSwgaiwgaDppbnRlZ2VyOwogICAgUzogYXJyYXlbMS4uMzI1XSBvZiBzdHJpbmc7CiAgICBBLEIsU1k6IGFycmF5IFsxLi4zMjVdIG9mIGNoYXI7CiAgICBub2RvLCBub2RpIDogYXJyYXlbMS4uMjZdIG9mIGludGVnZXI7CiAgICBsZXR0ZXJlIDogYXJyYXlbMS4uMjYsMS4uMjZdIG9mIGJvb2xlYW47CiAgICByZWNTdGFjaywgdmlzaXRlZCA6IGFycmF5IFsxLi4yNl0gb2YgYm9vbGVhbjsKICAgIHJpc3Bvc3RhOiBzdHJpbmc7CiAgICBjaWNsbyA6IGJvb2xlYW47CgpmdW5jdGlvbiBpc0N5Y2xpYyAodSA6aW50ZWdlcikgOiBib29sZWFuOwogIHZhciB2IDppbnRlZ2VyOwogIGJlZ2luIAogICAgICBpZiByZWNTdGFja1t1XSB0aGVuIGJlZ2luIGlzQ3ljbGljOj10cnVlOyBjaWNsbzo9dHJ1ZTsgZXhpdDsgZW5kOwogICAgICBpZiB2aXNpdGVkW3VdIHRoZW4gaXNDeWNsaWM6PWZhbHNlOwogICAgICB2aXNpdGVkW3VdOj10cnVlOwogICAgICByZWNTdGFja1t1XTo9dHJ1ZTsKICAgICAgZm9yIHY6PTEgdG8gMjYgZG8gICBpZiAobGV0dGVyZVt1LHZdID0gdHJ1ZSkgdGhlbiBpZiBpc0N5Y2xpYyh2KSB0aGVuICBpc0N5Y2xpYzo9dHJ1ZTsgCiAgICAgIHJlY1N0YWNrW3VdOj1mYWxzZTsKICAgICAgaXNDeWNsaWM6PWZhbHNlOwogZW5kOyAgICAgCgoKICAgIApiZWdpbgogICAgcmVhZGxuKE4pOwogICAgZm9yIGk6PTEgdG8gIE4gIGRvIHJlYWRsbihTW2ldKTsKICAgIGZvciBpOj0xIHRvIE4gZG8gYmVnaW4gQVtpXTo9U1tpXVsxXTsgU1lbaV06PVNbaV1bM107IEJbaV06PVNbaV1bNV07ZW5kOwogICAgZm9yIGk6PTEgdG8gMjYgZG8gCiAgICAgICAgICAgICAgICAgZm9yIGo6PTEgdG8gMjYgZG8gbGV0dGVyZVtpLCBqXTo9ZmFsc2U7CiAgICBmb3IgaTo9MSB0byAyNiBkbyB2aXNpdGVkW2ldOj1mYWxzZTsKICAgIGZvciBpOj0xIHRvIDI2IGRvIHJlY1N0YWNrW2ldOj1mYWxzZTsKICAKICAgIGZvciBpOj0xIHRvIE4gZG8gCiAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgIGlmIFNZW2ldPSc8JyB0aGVuIGxldHRlcmVbb3JkKEFbaV0pLTk2LCBvcmQoQltpXSktOTZdICA6PSB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiBTWVtpXT0nPicgdGhlbiBsZXR0ZXJlW29yZChCW2ldKS05Niwgb3JkKEFbaV0pLTk2XSA6PXRydWU7CiAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgZm9yIGk6PTEgdG8gMjYgZG8gbm9kb1tpXTo9MDsKICAgIGZvciBpOj0xIHRvIE4gZG8gYmVnaW4gbm9kb1tvcmQoQVtpXSktOTZdOj1ub2RvW29yZChBW2ldKS05Nl0rMTsgbm9kb1tvcmQoQltpXSktOTZdOj1ub2RvW29yZChCW2ldKS05Nl0rMTsgZW5kOwogICAgaDo9MTsgCiAgICBmb3IgaTo9IDEgdG8gMjYgZG8gIGlmIG5vZG9baV08PjAgdGhlbiBiZWdpbiBub2RpW2hdOj1pOyAgaDo9aCsxOyBlbmQ7CiAgICBmb3IgaTo9MSB0byAgaC0xICBkbwogICAgICAgICAgICAgICAgICAgICBpZiAodmlzaXRlZFtub2RpW2ldXT1mYWxzZSkgYW5kIChpc0N5Y2xpYyhub2RpW2ldKSkgdGhlbiBjaWNsbzo9dHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh2aXNpdGVkW25vZGlbaV1dPWZhbHNlKSBhbmQgKGlzQ3ljbGljKG5vZGlbaV0pPWZhbHNlKSB0aGVuIGNpY2xvOj1mYWxzZTsgCiAgICAgICAgICAgICAgICAgICAgICAgCiAgICBpZiBjaWNsbz10cnVlIHRoZW4gcmlzcG9zdGE6PSc6KCcKICAgICAgICAgICAgICAgICAgZWxzZSByaXNwb3N0YTo9JzopJzsKICAgIHdyaXRlbG4ocmlzcG9zdGEpOwogZW5kLg==