#include<bits/stdc++.h>
using namespace std;
const int N=100005;
typedef unsigned long long ull;
inline int read()
{
char ch=getchar();
int X=0;
if(isdigit(ch))X=(X<<3)+(X<<1)+(ch^48),ch=getchar();
return X;
}
ull n,idx,ans;
char c[N];
ull f[N],a[N],stackt[N],ct,hs[N],sum[N];
inline void st(int u)
{
f[u]+=f[u-1];
stackt[++idx]=u;
if(c[u]=='(')
ct++;
else
{
if(ct)
{
f[u]++;
idx-=2;
ct--;
}
}
}
int main()
{
n=read();
for(int i=1;i<=n;i++)
cin>>c[i];
for(int i=1;i<n;i++)
a[i]=read();
for(int i=1;i<=n;i++)
st(i);
for(int i=1;i<=n;i++)
ans^=f[i]*i;
cout<<ans;
return 0;
}