時は 21XX 年,競技プログラミングはマインドスポーツの 1 つとして広く認知されており,テレビ,新聞などのメディアで取り上げられることも多い.
あなたは JOI 新聞社の記者であり,競技プログラミングの記事を担当している.
昨日,$N$ 人の選手による国際的な競技プログラミングのコンテストが開催された.このコンテストについての記事を書くために,あなたには次の情報が与えられた.
- 国際情報オリンピックなどと同様,このコンテストにはいくつかの国から選手が参加した.国には $1$ から $N$ までのいずれかの番号が付けられている.一つの国から複数の選手が参加することもあり得る.また,選手が参加しない国があるかもしれない.
- このコンテストの競技時間は 5 時間である.
- コンテスト中に選手の獲得した点数が,その後減らされることはない.
- コンテスト開始後 2 時間経過した時点において,同点の選手はいなかった.その時点の順位表において,$i$ 位($1 \le i \le N$)の選手は国 $A_i$ の出身で,その選手の点数は $B_i$ 点であった.
- コンテスト終了時点において,同点の選手はいなかった.コンテスト終了時点の順位表において,$i$ 位($1 \le i \le N$)の選手は国 $C_i$ の出身で,その選手の点数は $D_i$ 点であった.
しかしながら,記事を書く段階になって,順位表の出身国の表示に不具合があったことが判明した.選手の出身国の情報が間違って表示されていた可能性がある.表示されていた選手の点数は正しいことが分かっている.
そこで,あなたは,与えられた情報にできるだけ少ない修正を加えることで,順位表の情報として矛盾のない(同じ選手の出身国がコンテスト中に変わったり,選手の獲得した点数がコンテスト中に減少したりしない)ものを推測することにした.すなわち,$2N$ 個の値 $A_1, \ldots, A_N, C_1, \ldots, C_N$ のうちのできるだけ少ない箇所を変更することで,次の条件を満たすようにしたい:
- $1, 2, \ldots, N$ のある並び替え $x_1, x_2, \ldots, x_N$ であって,各 $i = 1, 2, \ldots, N$ に対して $A_i = C_{x_i}$ かつ $B_i \le D_{x_i}$ が成り立つものが存在する.
あなたは,与えられた情報に,最少で何箇所の修正を加える必要があるだろうか.
課題
コンテストの参加者数と,コンテスト開始後 2 時間経過した時点とコンテスト終了時点の順位表についての情報が与えられたとき,順位表を矛盾のない状態にするために必要な,出身国情報の変更箇所の個数の最小値を求めるプログラムを作成せよ.
入力
標準入力から以下のデータを読み込め.
- 1 行目には,整数 $N$ が書かれている.これは,コンテストに $N$ 人の選手が参加したことを表す.
- 続く $N$ 行のうちの $i$ 行目($1 \le i \le N$)には,整数 $A_i, B_i$ が空白を区切りとして書かれている.これは,コンテスト開始後 2 時間経過した時点の順位表において,$i$ 位の選手は国 $A_i$ 出身と表示され,獲得した点数は $B_i$ 点であったことを表す.
- 続く $N$ 行のうちの $i$ 行目($1 \le i \le N$)には,整数 $C_i, D_i$ が空白を区切りとして書かれている.これは,コンテスト終了時点の順位表において,$i$ 位の選手は国 $C_i$ 出身と表示され,獲得した点数は $D_i$ 点であったことを表す.
出力
標準出力に,順位表を矛盾のない状態にするために必要な,出身国情報の変更箇所の個数の最小値を 1 行で出力せよ.
制約
すべての入力データは以下の条件を満たす.
- $2 \le N \le 200\,000$.
- $1 \le A_i \le N$($1 \le i \le N$).
- $0 \le B_i \le 1\,000\,000\,000$($1 \le i \le N$).
- $B_i > B_{i+1}$($1 \le i \le N - 1$).
- $1 \le C_i \le N$($1 \le i \le N$).
- $0 \le D_i \le 1\,000\,000\,000$($1 \le i \le N$).
- $D_i > D_{i+1}$($1 \le i \le N - 1$).
- $A_1, \ldots, A_N, C_1, \ldots, C_N$ の値を何箇所か変更することにより,順位表を矛盾のない状態にすることができる.
小課題
小課題 1 [15 点]
- $N \le 16$ を満たす.
小課題 2 [15 点]
- $N \le 50$ を満たす.
小課題 3 [30 点]
- $N \le 5000$ を満たす.
小課題 4 [40 点]
追加の制約はない.
入出力例
入力 1
3 3 500 2 200 1 100 1 1000 3 700 3 400
出力 1
1
注記
$C_3$ の値を $2$ に修正すると,次のように矛盾のない順位表になる:
- コンテスト開始後 2 時間経過した時点において 500 点で 1 位だった国 $3$ 出身の選手は,コンテスト終了時点において 700 点で 2 位となった.
- コンテスト開始後 2 時間経過した時点において 200 点で 2 位だった国 $2$ 出身の選手は,コンテスト終了時点において 400 点で 3 位となった.
- コンテスト開始後 2 時間経過した時点において 100 点で 3 位だった国 $1$ 出身の選手は,コンテスト終了時点において 1000 点で 1 位となった.
ここで,$C_2$ の値を $2$ に修正した場合,国 $3$ 出身の選手がコンテスト開始後 2 時間経過した時点において 500 点を獲得しているにも関わらず,コンテスト終了時点において 400 点となっているため,矛盾した順位表となる.
1 箇所より少ない修正によって矛盾のない順位表を得ることは不可能であるから,1 を出力する.
入力 2
3 3 3 3 2 1 1 3 4 3 2 1 1
出力 2
0
注記
この場合,出身国情報を修正しなくても矛盾のない順位表となっている.コンテスト開始後 2 時間経過した時点の点数から点数を増やしていない選手が存在するかもしれないことに注意せよ.また,順位表において,同じ出身国の選手が複数いる可能性があることに注意せよ.
入力 3
6 1 70 4 50 1 30 2 20 1 10 3 0 6 100 2 90 1 80 2 60 4 40 1 10
出力 3
3
注記
この入力例において,$A_1$ の値を $2$ に修正し,$A_6$ の値を $4$ に修正し,$C_1$ の値を $4$ に修正すると,矛盾のない順位表になる.