/*
\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000 \u2227\uff3f\u2227
\u3000\u3000\u3000\u3000\u3000 \u2227\uff3f\u2227 \u3000\uff08\u00b4<_\uff40 \uff09\u3000 Welcome to My Coding Space ^_^
\u3000\u3000\u3000\u3000 \uff08 \u00b4_\u309d`\uff09\u3000/\u3000 \u2312i
\u3000\u3000\u3000\u3000\uff0f\u3000\u3000\u3000\uff3c\u3000 \u3000  |\u3000|
\u3000\u3000\u3000 /\u3000\u3000 /\uffe3\uffe3\uffe3\uffe3/\u3000|\u3000|
\u3000 \uff3f_(__\uff86\u3064/\u3000\u3000 \u3000 / .| .|\uff3f\uff3f\uff3f\uff3f
\u3000 \u3000\u3000\u3000\uff3c/\uff3f\uff3f\uff3f\uff3f/\u3000\uff08u\u3000\u2283
*/

#include <iostream>
#include <ranges>
#include <vector>
#define sv | std::ranges::views::

using namespace std;
using tp = long long int;

vector<tp> f, l, t;
vector<vector<tp>> e;
string s;

void dfs(tp x) {
  if (s[x] == '(') {
    l[x] = x;
  } else if (l[f[x]]) {
    tie(t[x], l[x]) = make_pair(t[f[l[f[x]]]] + 1, l[f[l[f[x]]]]);
  }
  for (auto&& i : e[x] sv reverse) {
    dfs(i);
  }
}

signed main() {
  tp n, tar = 0;
  scanf("%lld", &n);
  cin >> s;
  s = ' ' + s;
  f.resize(n + 1);
  e.resize(n + 1);
  l.resize(n + 1);
  t.reserve(n + 1);
  for (tp i = 2; i <= n; ++i) {
    scanf("%lld", &f[i]);
    e[f[i]].push_back(i);
  }
  dfs(1);
  for (tp i = 1; i <= n; ++i) {
    t[i] += t[f[i]];
    tar ^= i * t[i];
  }
  cout << tar << '\n';
  return 0;
}

/*#################################################################
#.................................................................#
#.............#......#............Created.By.RBTree...............#
#............#.#....#.#........... Limiting-Factor................#
#.............########............................................#
#............#........#..##############################...........#
#...........#..V....V......#..#........................#..#...#...#
#............#........#....#..........###..###..........#..#.#.#..#
#............#..X##X..#..#............#....#.#...........#..#...#.#
#...........#...N##N...#..#...........###..###..........#.........#
#.......MOE..#..@.....#....#.#.#.#...................#.#..........#
#.............########.....#.#.#.##############.#.#..#.#..........#
#..........................#.#.#.#.............#.#.#.#.#..........#
#......#########...........#.#.#.#.................#.#.#..........#
#.....#.........#..........#.#.#.#.................#.#.#..........#
#.#.#.#G#R#A#S#S#.#.#......#.#.#.#.................#.#.#..........#
#.###################......#.#.#.#.................#.#.#..........#
#...........................#.#.#...................#.#...........#
#.................................................................#
#################################################################*/