世界的なゲーム会社 KDH Corp. が開発したターン制アドベンチャーカードゲーム『大雑把なカードでモンスターを倒すゲーム』がついに本日発売された!以下はゲームのルールを説明したルールブックである。
- プレイヤーは最初に $1$ 番から $K$ 番までのカードをそれぞれ $1$ 枚ずつ手札に持ってゲームを開始する。
- ゲームは合計 $N$ ターンで構成されており、各ターンには $1$ 番から $K$ 番までのモンスターのうち最大 $1$ 体が登場する。
- プレイヤーは各ターンに手札にあるカードのうち最大 $2$ 枚のカードを出すことができる。カードを $1$ 枚も出さずにターンを終了することも可能である。
- モンスターが登場したターンに、プレイヤーが登場したモンスターの番号と同じ番号のカードを出せば、そのカードでモンスターを倒すことができる。
- もしあるターンに登場したモンスターをそのターンに倒せなければ、モンスターはそのターンが終わった後に逃げてしまう。
- プレイヤーが手札にあるカードをすべて使い切ると、ターン終了後に $1$ 番から $K$ 番までのカードを $1$ 枚ずつ再び手札に補充する。
- より多くのモンスターを倒すほど、より高いスコアを獲得する。
在野のゲームの達人であるドフンは『大雑把なカードでモンスターを倒すゲーム』が発売されるやいなや $1$ 位を獲得したが、彼のライバルであるカンミンが彼の $1$ 位の座を脅かしている!焦ったドフンは、あらかじめ可能な最大スコアを記録して $1$ 位を奪われることを防ごうとしている。ドフンがより確実に $1$ 位を占められるように、各ゲームで倒すことができる最大モンスター数を求めてあげよう。
入力
最初の行にゲームの合計ターン数 $N$ とカードおよびモンスターの種類 $K$ が空白で区切られて与えられる。($1 \le N, K \le 500\,000$)
2 行目に各ターンに登場するモンスターの種類 $c_1, c_2, \dots, c_N$ が空白で区切られて与えられる。($0 \le c_i \le K$) $c_i = 0$ であれば、ターン $i$ にはモンスターが登場しなかったことを意味する。
出力
倒すことができるモンスター数の最大値を出力する。
入出力例
入力 1
6 4 1 1 2 2 3 3
出力 1
5
入力 2
10 5 1 2 2 0 3 3 0 5 4 4
出力 2
7
注記
最初の入出力例において、各ターンに以下の順序でカードを出せば、2ターン目に登場した $1$ 番モンスターを除いたすべてのモンスターを倒すことができる。
i. $1$ 番カードと $3$ 番カードを出し、$1$ 番モンスターを倒す。 ii. $4$ 番カードを出す。$1$ 番モンスターは倒されずに逃げる。 iii. $2$ 番カードを出して $2$ 番モンスターを倒す。 $4$ 枚のカードをすべて出したので、ターン終了後にカードを再び手札に補充する。 iv. $1$ 番カードと $2$ 番カードを出し、$2$ 番モンスターを倒す。 v. $3$ 番カードと $4$ 番カードを出し、$3$ 番モンスターを倒す。 $4$ 枚のカードをすべて出したので、ターン終了後にカードを再び手札に補充する。 vi. $3$ 番カードを出して $3$ 番モンスターを倒す。