#include <iostream>
#include <vector>
#include <unordered_set>
#include <set>
#define endl '\n'

using namespace std;

long long dist[100005];
int n;

int main() {
    cin >> n;
    n--;
    for(int i = 1; i <= n; i++) {
        int a,b; long long w; cin >> a >> b >> w;
        dist[i]=dist[i-1]^w;
    }

    set<long long> vals;
    for(int i = 1; i <= n; i++) vals.insert(dist[i]);
    vals.insert(0);
    vector<long long> vals2;
    for(auto &x : vals) vals2.push_back(x);

    long long ans=0;
    for(int i = 0; i < vals2.size(); i++) {
        for(int j = 0; j < i; j++) {
            ans=max(ans, vals2[i]^vals2[j]);
        }
    }
    cout<<ans;
}