시간 제한메모리 제한제출정답맞힌 사람정답 비율
8 초 (추가 시간 없음) 1024 MB4000.000%

문제

N 頂点の無向木があり,各頂点には 1 から N までの番号が付けられている.また,各頂点には,1 枚または 2 枚のクッキーが置かれている.

あなたは,この木を使ってゲームを行うことにした.はじめに,あなたは木の頂点を 1 つ選び,その頂点に駒を 1 つ置く.その後,次の行動を,ゲームが終わるまで繰り返す.

  • 現在駒が置かれている頂点にあるクッキーを,1 枚だけ食べる.さらに,現在駒が置かれている頂点に隣接する頂点を 1 つ選び,その頂点に駒を移動させる.移動先の頂点にクッキーが 1 枚も置かれていない場合,その時点でゲームは終了となる.

あなたが最適に行動したとき,ゲーム中,最大で何枚のクッキーを食べることができるだろうか.

입력

入力は 50 個以下のデータセットからなる. 各データセットは次の形式で表される.

N
x1x2...xN
p1
p2pN-1

1 行目には,木の頂点数 N (2 ≤ N ≤ 105) が与えられる.2 行目は 1 または 2 のみからなる N 文字の文字列が与えられる.このうち i 番目の文字 xi は,はじめに頂点 i に置かれているクッキーの枚数を表す.3 行目からの N-1 行には,木の頂点の隣接情報が与えられる.このうち j 行目に与えられる整数 pj (1 ≤ pj ≤ j) は,頂点 j+1 と 頂点 pj が隣接していることを表す.

入力の終わりは 1 つのゼロからなる行で表される.

출력

各データセットに対し,あなたがゲーム中に食べることのできるクッキーの枚数の最大値を,1 行に出力せよ.

예제 입력 1

2
11
1
5
12121
1
2
3
4
8
12112211
1
2
1
3
2
5
6
5
12122
1
2
3
4
0

예제 출력 1

2
7
11
8