M - 01 Tree Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 600

問題文

頂点 1 を根とする N 頂点の根付き木があります。頂点 i の親は頂点 P_i です。これから各頂点に 0 または 1 を書き込みたいです。

以下の与えられた条件を満たすような頂点に対する 01 の割り当て方を一つ求めてください。また、そのような割り当て方が存在しない場合はそのことを報告してください。

  • K 個の頂点 M_1 ,M_2, \cdots M_K にはそれぞれ S_1 ,S_2, \cdots S_K が書き込まれている。
  • 頂点 i1 が書き込まれているならば、頂点 A_i とその子孫の頂点には 1 が書き込まれている。
  • 頂点 i0 が書き込まれているならば、頂点 A_i とその子孫の頂点には 0 が書き込まれている。

制約

  • 2 \leq N \leq 10^5
  • 1 \leq P_i < i (2 \leq i \leq N)
  • 0 \leq K \leq N-1
  • 1 \leq M_i \leq N (1 \leq i \leq K)
  • M_i \neq M_j (1 \leq i < j \leq K)
  • S_i \in \lbrace 0,1 \rbrace (1 \leq i \leq K)
  • 1 \leq A_i \leq N (1 \leq i \leq N)
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられます。

N
P_2 P_3 P_4 \cdots P_N
K
M_1 S_1
M_2 S_2
\vdots 
M_K S_K
A_1 A_2 A_3 \cdots A_N

出力

一行目に解に対応する N 文字の 01 文字列を出力してください。i 文字目には頂点 i に 書き込まれている数字を出力してください。 解が存在しない場合は一行目に IMPOSSIBLE と出力してください。


入力例 1

4
1 1 2
1
2 1
3 4 3 2

出力例 1

1111

入力例 2

5
1 2 3 4
2
1 1
2 0
3 1 4 1 5

出力例 2

IMPOSSIBLE