#include <iostream>
#include <vector>
using namespace std;
int n, d[200000], z=0;
vector<int> v[200000];
void f(int x, int y){
    for(int i=0;i<v[x].size();i++){
        int c=v[x][i];
        if(c!=y){
            d[c]=d[x]+1;
            f(c, x);
            if(d[c]>d[z]){
                z=c;
            }
        }
    }
}
int main(void){
    cin>>n;
    for(int i=0;i<n-1;i++){
        int a, b;
        cin>>a>>b;
        a--;
        b--;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    d[0]=0;
    f(0, -1);

    d[z]=0;
    f(z, -1);
    /*
    cout<<d[z]<<endl;
    for(int i=0;i<n;i++){
        cout<<i<<" : "<<d[i]<<endl;
    }
    */
    if(d[z]%3==1){
        cout<<"Second"<<endl;
    }else{
        cout<<"First"<<endl;
    }
}
