def bfs(v):

  distance=[-1]*n

  distance[v]=0

  next=connection[v]

  next2=set()

  visited=[-1]*n

  visited[v]=1

  visitct=1

  ct=0

  while visitct!=n:

    ct+=1

    for i in range(len(next)):

      if visited[next[i]]==-1:

        distance[next[i]]=ct

        visited[next[i]]=1

        visitct+=1

        for j in range(len(connection[next[i]])):

          if visited[connection[next[i]][j]]==-1:

            next2.add(connection[next[i]][j])

    next=list(next2)

    next2=set()

    

  return distance

 

n=int(eval(input()))

l=[list(map(int,input().split())) for i in range(n-1)]

connection=[[] for i in range(n)]

for i in range(n-1):

  connection[l[i][0]-1].append(l[i][1]-1)

  connection[l[i][1]-1].append(l[i][0]-1)

 

if max(bfs(bfs(0).index(max(bfs(0)))))%3==1:

  print('Second')

else:

  print('First')
def bfs(v):

  distance=[-1]*n

  distance[v]=0

  next=connection[v]

  next2=set()

  visited=[-1]*n

  visited[v]=1

  visitct=1

  ct=0

  while visitct!=n:

    ct+=1

    for i in range(len(next)):

      distance[next[i]]=ct

      visited[next[i]]=1

      visitct+=1

      for j in range(len(connection[next[i]])):

        if visited[connection[next[i]][j]]==-1:

          next2.add(connection[next[i]][j])

    next=list(next2)

    next2=set()

    

  return distance



n=int(eval(input()))

l=[list(map(int,input().split())) for i in range(n-1)]

connection=[[] for i in range(n)]

for i in range(n-1):

  connection[l[i][0]-1].append(l[i][1]-1)

  connection[l[i][1]-1].append(l[i][0]-1)

 

if max(bfs(bfs(0).index(max(bfs(0)))))%3==1:

  print('Second')

else:

  print('First')
def bfs(v):
    distance = [-1] * n
    distance[v] = 0
    next = connection[v]
    next2 = set()
    visited = [-1] * n
    visited[v] = 1
    visitct = 1
    ct = 0
    while visitct != n:
        ct += 1
        for i in range(len(next)):
            if visited[next[i]] == -1:
                distance[next[i]] = ct
                visited[next[i]] = 1
                visitct += 1
                for j in range(len(connection[next[i]])):
                    if visited[connection[next[i]][j]] == -1:
                        next2.add(connection[next[i]][j])
        next = list(next2)
        next2 = set()
    return distance


n = int(eval(input()))
l = [list(map(int, input().split())) for i in range(n - 1)]
connection = [[] for i in range(n)]
for i in range(n - 1):
    connection[l[i][0] - 1].append(l[i][1] - 1)
    connection[l[i][1] - 1].append(l[i][0] - 1)
if max(bfs(bfs(0).index(max(bfs(0))))) % 3 == 1:
    print("Second")
else:
    print("First")

def bfs(v):
    distance = [-1] * n
    distance[v] = 0
    next = connection[v]
    next2 = set()
    visited = [-1] * n
    visited[v] = 1
    visitct = 1
    ct = 0
    while visitct != n:
        ct += 1
        for i in range(len(next)):
            distance[next[i]] = ct
            visited[next[i]] = 1
            visitct += 1
            for j in range(len(connection[next[i]])):
                if visited[connection[next[i]][j]] == -1:
                    next2.add(connection[next[i]][j])
        next = list(next2)
        next2 = set()
    return distance


n = int(eval(input()))
l = [list(map(int, input().split())) for i in range(n - 1)]
connection = [[] for i in range(n)]
for i in range(n - 1):
    connection[l[i][0] - 1].append(l[i][1] - 1)
    connection[l[i][1] - 1].append(l[i][0] - 1)
if max(bfs(bfs(0).index(max(bfs(0))))) % 3 == 1:
    print("Second")
else:
    print("First")

-            if visited[next[i]] == -1: -                distance[next[i]] = ct -                visited[next[i]] = 1 -                visitct += 1 -                for j in range(len(connection[next[i]])): -                    if visited[connection[next[i]][j]] == -1: -                        next2.add(connection[next[i]][j]) +            distance[next[i]] = ct +            visited[next[i]] = 1 +            visitct += 1 +            for j in range(len(connection[next[i]])): +                if visited[connection[next[i]][j]] == -1: +                    next2.add(connection[next[i]][j])