#include <bits/stdc++.h>
using namespace std;

const int MAX_N = (int)2e5 + 5;
int dist[MAX_N];
vector<int> G[MAX_N];

void dfs(int s, int p, int d){
    dist[s] = d;
    for(auto u : G[s]){
        if(u != p) dfs(u, s, d+1);
    }
}

int main(){
    ios::sync_with_stdio(false), cin.tie(nullptr);
    int N; cin >> N;
    for(int i=0;i<N-1;i++){
        int a, b; cin >> a >> b;
        G[a-1].push_back(b-1); G[b-1].push_back(a-1);
    }

    dfs(0, -1, 0);
    int idx = distance(dist, max_element(dist, dist+N));
    for(int i=0;i<N;i++) dist[i] = 0;
    dfs(idx, -1, 0);
    int r = *max_element(dist, dist+N);
    if(r%3==1) cout << "Second" << endl;
    else cout << "First" << endl;
    return 0;
}