CF1468I Plane Tiling

题目描述

你有五个整数$n,dx_1,dy_1,dx_2,dy_2$。你必须选择$n$个**互不相同**的整数对$(x_i, y_i)$。对于所有可能的整数对$(x, y)$,存在**恰好**一个整数的三元组,$(a, b, i)$符合以下条件: $$\begin{cases} x \, = \, x_i + a \cdot dx_1 + b \cdot dx_2 \\ y \, = \, y_i + a \cdot dy_1 + b \cdot dy_2 \end{cases}$$

输入格式

第一行包含一个单独的整数$n ( 1 \le n \le 10^5)$。 第二行包含两个整数$dx_1,dy_1( -10^6 \le dx_1, dy_1 \le 10^6)$。 第二行包含两个整数$dx_2,dy_2( -10^6 \le dx_2, dy_2 \le 10^6)$。

输出格式

如果不可能选择$n$对整数,输出NO。 否则,在第一行输出YES。 接下来输出$n$行,第$i$行包含两个整数$x_i,y_i ( -10^9 \le x_i, y_i \le 10^9)$。 如果有多种可能的方案,输出任意一个。