#ATarc176a. [ARC176A] 01 Matrix Again

[ARC176A] 01 Matrix Again

题目描述

给定一个 N×NN \times N 的矩阵,你需要向其中填入 0011,使其满足以下条件:

  • (A1,B1),(A2,B2),...,(AM,BM)(A_1,B_1),(A_2,B_2),...,(A_M,B_M) 处的值为 11
  • ii 行的所有数字之和为 MM (1iN)(1 \le i \le N)
  • ii 列的所有数字之和为 MM (1iN)(1 \le i \le N)

输入格式

第一行有两个整数 NNMM

接下来有 MM 行,第 i+1i+1 行有两个整数 AiA_iBiB_i

输出格式

第一行输出矩阵中 11 的个数 kk

接下来有 kk 行,第 i+1i+1 行输出两个整数 xix_iyiy_i,表示 (xi,yi)(x_i,y_i) 处的值为 11。(顺序任意)

样例 1

输入

4 2
1 4
3 2

输出

8
1 2
1 4
2 1
2 4
3 2
3 3
4 1
4 3

样例 2

输入

3 3
3 1
2 3
1 3

输出

9
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

样例 3

输入

7 3
1 7
7 6
6 1

输出

21
1 6
2 4
4 1
7 3
3 6
4 5
6 1
1 7
7 6
3 5
2 2
6 3
6 7
5 4
5 2
2 5
5 3
1 4
7 1
4 7
3 2

说明/提示

约束条件

  • 1N1051 \le N \le 10^5
  • 1Mmin(N,10)1 \le M \le \min(N,10)
  • 1Ai,BiN1 \le A_i, B_i \le N
  • iji \neq j 时,(Ai,Bi)(Aj,Bj)(A_i, B_i) \neq (A_j, B_j)

样例解释 1

该输出按以下方式填充网格。所有条件均被满足,因此该输出是正确的。

0101
1001
0110
1010