import sys sys.setrecursionlimit(1000000) N = int(input()) E = [tuple(map(int,input().split())) for _ in range(N)] G = {i:[] for i in range(1,N+1)} for u,v in E: G[u].append(v) G[v].append(u) A = [0]*(N+1) B = [0]*(N+1) def dfs(u): for v in G[u]: if v==B[u]:continue if A[v]==0: A[v] = 1 B[v] = u flag = dfs(v) if flag==0: A[v] = 0 B[v] = 0 else: return flag else: B[v] = u return v return 0 s = dfs(1) ans = set() A = [0]*(N+1) x = s A[x] = 1 while B[x]!=s: ans.add((x,B[x])) x = B[x] A[x] = 1 ans.add((x,B[x])) def dfs2(u,pu): for v in G[u]: if A[v]==1 or v==pu: continue ans.add((v,u)) dfs2(v,u) for i in range(1,N+1): if A[i]==1: dfs2(i,B[i]) for u,v in E: if (u,v) in ans: print("->") else: print("<-")