AT_utpc2021_i Card Decks
Description
[problemUrl]: https://atcoder.jp/contests/utpc2021/tasks/utpc2021_i
$ 1 $ から $ M $ までの数が一つずつ書かれた $ M $ 枚のカードからなる山札が $ N $ 個あります。 $ i $ 個目の山札の上から $ j $ 枚目には、 $ a_{i,\ j} $ が書かれています。
あなたはこれらの山札に対して、以下の $ 2 $ 種類の操作をそれぞれ好きな順に何度でも行うことができます。
- 操作 $ 1 $:山札を $ 1 $ つ選び、一番上のカードを、同じ山札の一番下に移動させる。
- 操作 $ 2 $:$ N $ 個の山札の一番上のカードに書かれている数が全て同じなら、それらを全て取って食べる。
全てのカードを食べるために必要な操作 $ 1 $ の回数の最小値はいくつですか?
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ a_{1,\ 1} $ $ \ldots $ $ a_{1,\ M} $ $ \vdots $ $ a_{N,\ 1} $ $ \ldots $ $ a_{N,\ M} $
Output Format
答えを $ 1 $ 行に出力せよ。
Explanation/Hint
### 制約
- 入力は全て整数
- $ 1\ \le\ N\ \le\ 2\ \times\ 10^5 $
- $ 1\ \le\ M\ \le\ 22 $
- $ 1\ \leq\ a_{i,\ j}\ \leq\ M $
- $ a_{i,\ j}\ \neq\ a_{i,\ k} $ $ (j\ \neq\ k) $
### 部分点
- $ 1\ \le\ M\ \le\ 16 $ を満たすデータセットに正解した場合は $ 30 $ 点が与えられる。
### Sample Explanation 1
次のように操作を行えばよいです。 - 山札 $ 2 $ に対して操作 $ 1 $ を行う。 - 山札 $ 4 $ に対して操作 $ 1 $ を行う。 - 操作 $ 2 $ を行う。(全ての山札の一番上のカードは $ 2 $ である。) - 山札 $ 1 $ に対して操作 $ 1 $ を行う。 - 山札 $ 2 $ に対して操作 $ 1 $ を行う。 - 操作 $ 2 $ を行う。(全ての山札の一番上のカードは $ 1 $ である。) - 操作 $ 2 $ を行う。(全ての山札の一番上のカードは $ 3 $ である。)