#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ul; typedef unsigned int ui; typedef long double ld; typedef pair P; typedef pair LP; typedef pair LDP; typedef complex Point; const ll mod = 1000000007; const ll INF = mod*mod; const ld eps = 1e-8; const ld pi = acos(-1.0); #define stop char nyaa;cin>>nyaa; #define rep(i,n) for(int i=0;i=0;i--) #define Rep(i,sta,n) for(int i=sta;i=1;i--) #define Rep1(i,sta,n) for(int i=sta;i<=n;i++) ll c[60] = {}; void solve() { int n; cin >> n; rep(i, n) { ll k, l; int d; cin >> k >> l >> d; rep(j, 60) { if (l&((ll)1 << j)) { c[j] += k; c[j] %= 2; } if (j < d)continue; int dif = j - d; if (dif == 0) { if (k % 4 == 2 || k % 4 == 3)c[j] ^= 1; continue; } ll cop = l; cop >>= d;ll z = (ll)1 << dif; cop %= z; cop = z - cop; ll r = k - cop; if (r < 0)continue; r = r % (2*z); if (r >= z)continue; else if (r % 2) { c[j] ^= 1; } } } ll ans = 0; rep(j, 60) { if (c[j]) { ans += (ll)1 << j; } } cout << ans << endl; } int main() { cin.tie(0); ios::sync_with_stdio(false); solve(); //stop return 0; }