#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
ll ans;
ll p[1005];
struct node {
ll id, w;
}e[1005];
bool cmp(node x, node y) {
return x.w > y.w;
}
ll pd(ll x) {
int i;
for(i = 62; i >= 0; --i)
if((x >> i) & 1) {
if(!p[i]) return x;
x ^= p[i];
}
return x;
}
void insert(ll x) {
int i;
for(i = 62; i >= 0; --i) {
if((x >> i) & 1) {
if(p[i]) x ^= p[i];
else {
p[i] = x;
break;
}
}
}
}
int main() {
int i;
cin >> n;
for(i = 1; i <= n; ++i) {
cin >> e[i].id >> e[i].w;
}
sort(e + 1, e + 1 + n, cmp);
for(i = 1; i <= n; ++i) {
if(pd(e[i].id)) {
insert(e[i].id);
ans += e[i].w;
}
}
cout << ans;
return 0;
}