N=int(input()) G=[[]*N for i in range(N)] for i in range(N-1): a,b=map(int, input().split()) a-=1 b-=1 G[a].append((b,1)) G[b].append((a,1)) from collections import deque def bfs(s): dist = [None]*N que = deque([s]) dist[s] = 0 while que: v = que.popleft() d = dist[v] for w, c in G[v]: if dist[w] is not None: continue dist[w] = d + c que.append(w) d = max(dist) return dist.index(d), d u, _ = bfs(0) v, d = bfs(u) #print(u,v,d) if d%3==1: print('Second') else: print('First')