#arc079d. [arc079_d]Namori Grundy

[arc079_d]Namori Grundy

問題文

NN 頂点 NN 辺の有向グラフを考えます。頂点には番号 1,2,...,N1, 2, ..., N が振られているものとします。

このグラフは (p1,1),(p2,2),...,(pN,N)(p_1, 1), (p_2, 2), ..., (p_N, N)NN 本の辺からなり、弱連結です。 なお、この問題では頂点 uu から頂点 vv へ入り込む辺を (u,v)(u, v) と表します。また、弱連結とは、辺を無向辺として見るとグラフ全体が連結になっているという意味です。

このグラフの頂点に、以下の条件を満たすように値を割り当てたいです。頂点 ii に割り当てる値を aia_i とします。

  • aia_i は、00 以上の非負整数である。
  • すべての辺 (i,j)(i, j) について、aineqaja_i \\neq a_j である。
  • すべての頂点 ii と整数 x(0x<ai)x(0 ≦ x < a_i) について、辺 (i,j)(i, j) が存在し、かつ x=ajx = a_j を満たすような頂点 jj が存在する。

この条件をみたすような割り当て方が存在するか判定してください。

制約

  • 2N200,0002 ≦ N ≦ 200,000
  • 1piN1 ≦ p_i ≦ N
  • pineqip_i \\neq i
  • グラフは弱連結

入力

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

NN p1p_1 p2p_2 ... pNp_N

出力

うまく値を割り当てられるならば POSSIBLE、割り当てられないならば IMPOSSIBLE を出力する。


入力例 1

4
2 3 4 1

出力例 1

POSSIBLE

{aia_i} = {0,1,0,10, 1, 0, 1} か、{aia_i} \= {1,0,1,01, 0, 1, 0} と割り当てることができます。


入力例 2

3
2 3 1

出力例 2

IMPOSSIBLE

入力例 3

4
2 3 1 1

出力例 3

POSSIBLE

{aia_i} \= {2,0,1,02, 0, 1, 0} と割り当てることができます。


入力例 4

6
4 5 6 5 6 4

出力例 4

IMPOSSIBLE