市内の美術館は、長く真っ直ぐな廊下と、そこに敷き詰められた芸術的な装飾タイルで知られています。廊下は幅2メートルの長方形の領域であり、1メートル四方のセルに区切られています。各セルは、タイルが1枚置かれているか、空の状態です。
美術館の改修の一環として、すべての空のセルを畳で覆うことになりました。畳は伝統的な日本の床材です。各畳は1メートル×2メートルの大きさであり、ちょうど2つの隣接するセルを覆います。畳同士が重なってはならず、また、どのタイルとも重なってはなりません。
タイルの初期配置によっては、すべての空のセルを畳で覆うことが不可能な場合があります。これに対処するため、美術館は各タイルを元の位置から隣接する(辺を共有する)セルへ1回だけ移動させることを許可しています。それ以上遠くへ移動させることはできません。タイルを廊下の外へ移動させてはなりません。移動後、1つのセルに複数のタイルが置かれてはなりません。
図A.1. サンプル入力1の改修前と改修後
左の図はサンプル入力1のタイルの初期位置を示しており、右の図はタイルを1枚移動させ、すべての空のセルを畳で覆うように配置した一例を示しています。
タイルをいくつか(0個でもよい)適切に移動させることで、すべての空のセルを畳で覆うことが可能かどうかを判定してください。可能な場合は、移動させるタイルの最小数を求めてください。
入力
入力は以下の形式の単一のテストケースから構成されます。
$n$ $l$ $r_1$ $c_1$ $r_2$ $c_2$ $\vdots$ $r_n$ $c_n$
整数 $n$ ($1 \le n \le 10^5$) は廊下にあるタイルの数を表します。整数 $l$ ($3 \le l \le 10^{18}$) は廊下の長さをメートル単位で表します。各整数の組 $r_i, c_i$ ($i = 1, \dots, n$) は $1 \le r_i \le 2$ および $1 \le c_i \le l$ を満たし、$i$ 番目のタイルの位置を示します。具体的には、廊下を高さ2セル、幅 $l$ セルの長方形と見なすと、$i$ 番目のタイルは上から $r_i$ 行目、左から $c_i$ 列目に位置しています。すべてのタイルは初期状態で異なるセルにあることが保証されています。
出力
タイルをいくつか(0個でもよい)適切に移動させることで、廊下のすべての空のセルを0枚以上の畳で覆うことができる場合、移動させるタイルの最小数を出力してください。不可能な場合は no と出力してください。
入出力例
入力 1
4 5 2 3 1 4 1 5 2 1
出力 1
1
入力 2
1 3 1 1
出力 2
no
入力 3
6 1000000000000 1 2 1 3 1 4 2 1 2 2 2 3
出力 3
3