import sys sys.setrecursionlimit(10**7) def ii(): return int(input()) def mi(d=0): return map(lambda x:int(x)-d,input().split()) INF = float("inf") MOD = 998244353 def answer(s): print(s) exit() def cross(xy): x,y = xy return (x+1,y),(x-1,y),(x,y+1),(x,y-1) ################################################ n = ii() back = [-1,-1] score = [0,0] for _ in range(n): x,y = mi() nb = [-1,-1] ns = [0,0] if x == y: ns[0] += x ns[1] += x i = 0 for x,y in ((x,y),(y,x)): if x in back: ns[i] = max(score[back.index(x)] + x,max(score)) else: ns[i] = max(score) nb[i] = y i += 1 back = nb score = ns print(max(score))