一个 N×NN \times NN×N 的棋盘上摆着 MMM 个不区分阵营的“车”棋子。“车”可以横向或者纵向移动任意格,但是不能跨过棋子。如果一个“车”可以攻击到另外一个棋子,那么你可以执行“吃子”操作,将另外一个棋子移出棋盘,而“车”会移动到被吃棋子所在格子。
每一步你可以任意选取一个尚存活的“车”并执行一步“吃子”操作,直到棋盘上不存在可以被吃的棋子,问你最多可以吃掉多少棋子。
第一行两个整数 N,M (1≤N,M≤1000)N,M \ (1\leq N,M\leq 1000)N,M (1≤N,M≤1000),为棋盘大小和棋子个数。
接下来 MMM 行,每行两个整数 xi,yi (1≤xi,yi≤n)x_i,y_i\ (1\leq x_i,y_i\leq n)xi,yi (1≤xi,yi≤n),代表在第 xix_ixi 行第 yiy_iyi 列有一颗棋子,保证不存在两颗棋子在同一位置。
输出一行,一个整数表示最多吃掉的棋子数。
8 3 1 1 1 8 8 8
2
5 5 1 1 2 2 3 3 4 4 5 5
0
10 12 1 2 1 4 1 6 3 6 5 6 10 7 8 7 6 7 4 7 2 7 7 3 9 5
8