#P16566. [Bapc2019]Conveyor Belts

[Bapc2019]Conveyor Belts

题目描述

你是 Boxing And Processing Company 的一名员工,负责在公司巨大的仓库中分配箱子。在 BAPC Ltd.,箱子通过传送带运输。

两条传送带可以合并为一条:让其中一条传送带上的箱子落到另一条传送带上即可。另一方面,一条传送带也可以通过一个分流器拆分成两条。分流器会把输入箱子中的一部分送往第一个输出端,其余箱子送往第二个输出端。

正常情况下,分流器可以调节成任意比例。然而,为了节省成本,你的老板购买了一批只能按照固定比例 a:ba:b 分流的廉价分流器。你真正需要的却是一个比例为 c:dc:d 的分流器,于是决定使用这些廉价分流器自行搭建一个系统。

一个比例为 x:yx:y 的分流器,会把输入箱子的

xx+y\frac{x}{x+y}

送往第一个输出端,并把

yx+y\frac{y}{x+y}

送往第二个输出端。

请构造一个由至多 200200 个比例为 a:ba:b 的分流器组成的传送带网络。该网络应当只有一条全局输入传送带和两条全局输出传送带,并使两条全局输出收到的箱子总量之比恰好为 c:dc:d

构造还必须满足以下要求:

  • 每个分流器都必须实际收到正数量的箱子;
  • 箱子不能永远停留在系统中,所有箱子最终都必须从某个全局输出端离开;
  • 使用的分流器数量不能超过 200200

网络中允许出现环,也允许多条输出传送带汇入同一个分流器,只要上述条件始终成立。

输入格式

第一行包含两个整数 a,ba,b

1a,b109,a+b109,1\le a,b\le 10^9,\qquad a+b\le 10^9,

表示现有分流器的固定比例为 a:ba:b

第二行包含两个整数 c,dc,d

1c,d109,c+d109,1\le c,d\le 10^9,\qquad c+d\le 10^9,

表示希望构造出的全局分流比例为 c:dc:d

输出格式

第一行输出一个整数 nn

1n200,1\le n\le 200,

表示使用的分流器数量。

接下来输出 nn 行。第 ii 行(分流器从 00 开始编号)包含两个整数 li,ril_i,r_i

2li,ri<n.-2\le l_i,r_i<n.

其中:

  • lil_i 表示分流器 ii 的第一个输出端连接到哪里,该输出端接收输入量的 aa+b\frac{a}{a+b}
  • rir_i 表示分流器 ii 的第二个输出端连接到哪里,该输出端接收输入量的 ba+b\frac{b}{a+b}
  • 非负整数 jj 表示连接到编号为 jj 的分流器;
  • 特殊值 1-1 表示连接到第一条全局输出传送带;
  • 特殊值 2-2 表示连接到第二条全局输出传送带。

全局输入传送带连接到分流器 00

第一条和第二条全局输出传送带最终应分别收到总输入量的

cc+ddc+d.\frac{c}{c+d} \qquad\text{和}\qquad \frac{d}{c+d}.

如果存在多种合法构造,输出任意一种即可。

样例 1

输入

2 3
3 2

输出

1
-2 -1

样例 2

输入

1 2
3 4

输出

3
-1 1
2 1
0 -2

样例 3

输入

1 2
1 2

输出

3
-2 1
2 0
1 -1