小红玩马
题号:NC307222
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}小红在一个 n \times m 的棋盘中玩国际象棋。一开始,在 \left(x_1, y_1\right) 位置有一个马,小红想要使用恰好 k 步将其移动到 \left(x_2, y_2 \right),请你帮小红找到一个可能的移动路径。(k 步之后马的位置在\left(x_2, y_2\right)即可。)
\hspace{15pt}马能走到的位置如下图所示:

输入描述:

\hspace{15pt}第一行输入三个整数 n,m,k\left(1 \leqq n, m \leqq 1000,1 \leqq k \leqq 2\times 10^5\right)
\hspace{15pt}第二行输入四个整数 x_1,y_1,x_2,y_2\left(1 \leqq x_1,x_2 \leqq n, 1 \leqq y_1,y_2 \leqq m\right)

输出描述:

\hspace{15pt}如果不存在合法的方案,请输出 \texttt{No};否则输出 \texttt{Yes},并在之后的 k 行内,每行输出两个整数 x_iy_i,代表第 i 步走到了 \left(x_i, y_i \right)
\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
3 3 3
1 1 1 2

输出

复制
Yes
2 3
3 1
1 2