G - Topological Heads

2 secs 1024 MB
uni_kakurenbo's icon uni_kakurenbo

マルチテストについての説明はこちら (サンプル問題を確認されていない方のみお読みください。)


配点:300300

問題文

NN 個の相異なる整数 A1,A2,,ANA_1, A_2, \ldots, A_N と,各頂点に 11 から NN までの番号が付けられた NN 頂点の有向グラフ GG があります.

ここで,1i,jN1 \leq i, j \leq N なる任意の相異なる 22 整数 i,ji, j について Ai&Aj=AiA_i \,\&\, A_j = A_i であるとき,またそのときに限り,GG において 頂点 ii から 頂点 jj へ向かう有向辺が存在します.

  • なお,22 非負整数 a,ba, b に対して a&ba \,\&\, ba,ba, bbitwise AND を表す.

GG の頂点であって出次数が 00 であるものの個数を求めてください.

制約

  • Φ=1\Phi = 1
  • 1N4×1051 \leq N \leq 4 \times 10^5
  • 0Ai<220(1iN)0 \leq A_i < \bold{2^{20}} \scriptsize \; (1 \leq i \leq N)
  • AiAj(1i<jN)A_i \not= A_j \scriptsize \; (1 \leq i < j \leq N)
  • 入力はすべて整数

入力

各テストケースの入力は,それぞれ以下の形式で与えられる:

NN
A1A2ANA_1 \enspace A_2 \enspace \ldots \enspace A_N

出力

答えを出力せよ.

サンプル

入力例1
1
5
1 9 3 2 14
出力例1
3

GG は次のようなグラフになります:


入力例2
1
5
2 6 4 5 7
出力例2
1

入力例3
1
5
3 8 7 2 9
出力例3
2

提出


Go (1.21)