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)

 

distance1=[-1 for i in range(n)]

distance1[0]=0

next=connection[0]

next2=[]

check=[-1 for i in range(n)]

check[0]=1

checkct=1

ct=0

while len(next)!=0 and checkct!=n:

  ct+=1

  for i in range(len(next)):

    distance1[next[i]]=ct

    check[next[i]]=1

    checkct+=1

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

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

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

  next=next2

  next2=[]



x=max(distance1)

x=distance1.index(x)



distance2=[-1 for i in range(n)]

distance2[x]=0

next=connection[x]

next2=[]

check=[-1 for i in range(n)]

check[x]=1

checkct=1

ct=0

while len(next)!=0 and checkct!=n:

  ct+=1

  for i in range(len(next)):

    distance2[next[i]]=ct

    check[next[i]]=1

    checkct+=1

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

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

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

  next=next2

  next2=[]



if max(distance2)%3==1:

  print('Second')

else:

  print('First')
import sys

input=sys.stdin.readline

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)

 

distance1=[-1 for i in range(n)]

distance1[0]=0

next=connection[0]

next2=[]

check=[-1 for i in range(n)]

check[0]=1

checkct=1

ct=0

while len(next)!=0 and checkct!=n:

  ct+=1

  for i in range(len(next)):

    distance1[next[i]]=ct

    check[next[i]]=1

    checkct+=1

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

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

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

  next=next2

  next2=[]



x=max(distance1)

x=distance1.index(x)



distance2=[-1 for i in range(n)]

distance2[x]=0

next=connection[x]

next2=[]

check=[-1 for i in range(n)]

check[x]=1

checkct=1

ct=0

while len(next)!=0 and checkct!=n:

  ct+=1

  for i in range(len(next)):

    distance2[next[i]]=ct

    check[next[i]]=1

    checkct+=1

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

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

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

  next=next2

  next2=[]



if max(distance2)%3==1:

  print('Second')

else:

  print('First')
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)
distance1 = [-1 for i in range(n)]
distance1[0] = 0
next = connection[0]
next2 = []
check = [-1 for i in range(n)]
check[0] = 1
checkct = 1
ct = 0
while len(next) != 0 and checkct != n:
    ct += 1
    for i in range(len(next)):
        distance1[next[i]] = ct
        check[next[i]] = 1
        checkct += 1
        for j in range(len(connection[next[i]])):
            if check[connection[next[i]][j]] == -1:
                next2.append(connection[next[i]][j])
    next = next2
    next2 = []
x = max(distance1)
x = distance1.index(x)
distance2 = [-1 for i in range(n)]
distance2[x] = 0
next = connection[x]
next2 = []
check = [-1 for i in range(n)]
check[x] = 1
checkct = 1
ct = 0
while len(next) != 0 and checkct != n:
    ct += 1
    for i in range(len(next)):
        distance2[next[i]] = ct
        check[next[i]] = 1
        checkct += 1
        for j in range(len(connection[next[i]])):
            if check[connection[next[i]][j]] == -1:
                next2.append(connection[next[i]][j])
    next = next2
    next2 = []
if max(distance2) % 3 == 1:
    print("Second")
else:
    print("First")

import sys

input = sys.stdin.readline
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)
distance1 = [-1 for i in range(n)]
distance1[0] = 0
next = connection[0]
next2 = []
check = [-1 for i in range(n)]
check[0] = 1
checkct = 1
ct = 0
while len(next) != 0 and checkct != n:
    ct += 1
    for i in range(len(next)):
        distance1[next[i]] = ct
        check[next[i]] = 1
        checkct += 1
        for j in range(len(connection[next[i]])):
            if check[connection[next[i]][j]] == -1:
                next2.append(connection[next[i]][j])
    next = next2
    next2 = []
x = max(distance1)
x = distance1.index(x)
distance2 = [-1 for i in range(n)]
distance2[x] = 0
next = connection[x]
next2 = []
check = [-1 for i in range(n)]
check[x] = 1
checkct = 1
ct = 0
while len(next) != 0 and checkct != n:
    ct += 1
    for i in range(len(next)):
        distance2[next[i]] = ct
        check[next[i]] = 1
        checkct += 1
        for j in range(len(connection[next[i]])):
            if check[connection[next[i]][j]] == -1:
                next2.append(connection[next[i]][j])
    next = next2
    next2 = []
if max(distance2) % 3 == 1:
    print("Second")
else:
    print("First")

+import sys + +input = sys.stdin.readline