#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
ll n;
ll p[101],ans;
bool ZZP_AK_IOI(ll x){//线性基插入操作
for (int i=65;i>=0;i--){
if (x&(1<<i)){
if (!p[i]){
p[i]=x;
return true;
} else x^=p[i];
}
}
return false;
}
struct Magic{//结构体定义
ll id,w;
friend bool operator < (Magic x,Magic y){
return x.w>y.w;
}//重载小于号
}m[100001];
int main()
{
cin>>n;
for (int i=1;i<=n;i++) cin>>m[i].id>>m[i].w;
sort(m+1,m+n+1);//贪心
for (int i=1;i<=n;i++){
if (ZZP_AK_IOI(m[i].id)){
ans+=m[i].w;
}
}
cout<<ans;//输出
return 0;
}