#include<iostream>
#include<cstdio>
typedef unsigned long long ul;
using namespace std;
#define gc() getchar()
inline unsigned long long rd() {
unsigned long long x=0;
char ch=gc();
while(ch<'0' || ch>'9')ch=gc();
while(ch>='0' && ch<='9') x=x*10+(ch^48),ch=gc();
return x;
}
ul m[8];const ul t=0xff,tt=0x03ffffff;
unsigned long long h(ul p) {
for(int i=0;i<8;i++){
ul f=(i<<3);
m[i]=(t<<f);
m[i]&=p;
m[i]>>=f;
m[i]+=(i*i*3+11+i*7);
}
m[0]=m[0]&m[5]^m[6]^m[7];
m[1]=m[1]^m[4]&m[6]|m[7];
m[2]=m[2]^m[4]|m[5]&m[7];
m[3]=m[3]|m[4]^m[5]^m[6];
m[0]<<=17;
m[1]<<=11;
m[2]<<=6;
m[0]^=( m[1]^ m[2] ^ m[3]);
return m[0]%(1<<25);
}ul n,hh[1<<25],x,y,a;
int main(){n=rd();
for(ul i=1;i<=n;i++){
x=rd();y=rd();x=h(x);
a+=i*hh[x];
hh[x]=y;
}printf("%llu",a);
return 0;
}