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

const int maxn = 2e5 + 5;
vector<int> g[maxn];
int fd, f;

void dfs(int x, int p, int d) {
    if (d > fd) {
        fd = d;
        f = x;
    }
    for (int i = 0; i < (int)g[x].size(); ++i) {
        int u = g[x][i];
        if (u == p) continue;
        dfs(u, x, d + 1);
    }
}

int main() {
    int n; scanf("%d", &n);
    for (int i = 0; i < n - 1; ++i) {
        int x, y; scanf("%d%d", &x, &y);
        --x, --y;
        g[x].push_back(y);
        g[y].push_back(x);
    }

    fd = -1;
    dfs(0, -1, 0);
    fd = -1;
    dfs(f, -1, 0);

    if ((fd + 1) % 3 == 2)
        puts("Second");
    else
        puts("First");
    return 0;
}
