#abc289f. [abc289_f]Teleporter Takahashi

[abc289_f]Teleporter Takahashi

問題文

xyxy 平面上に高橋くんがいます。 はじめ、高橋くんは点 (sx,sy)(s _ x,s _ y) にいます。 高橋くんは、点 (tx,ty)(t _ x,t _ y) に移動したいです。

xyxy 平面上に、長方形 $R\\coloneqq\\lbrace(x,y)\\mid a-0.5\\leq x\\leq b+0.5,c-0.5\\leq y\\leq d+0.5\\rbrace$ があります。 次の操作を考えます。

  • 長方形 RR に含まれる格子点 (x,y)(x,y) をひとつ選ぶ。 点 (x,y)(x,y) を中心に高橋くんはいまいる位置と対称な位置に瞬間移動する。

上の操作を 00 回以上 10610^6 回以下繰り返して、高橋くんが点 (tx,ty)(t _ x,t _ y) にいるようにできるか判定してください。 できる場合、高橋くんが点 (tx,ty)(t _ x,t _ y) に移動することができるような操作の列を 11 つ構成してください。

制約

  • 0leqsx,sy,tx,tyleq2times1050\\leq s _ x,s _ y,t _ x,t _ y\\leq2\\times10^5
  • 0leqaleqbleq2times1050\\leq a\\leq b\\leq2\\times10^5
  • 0leqcleqdleq2times1050\\leq c\\leq d\\leq2\\times10^5
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

sxs _ x sys _ y txt _ x tyt _ y aa bb cc dd

出力

11 行目には、操作を 00 回以上 10610^6 回以下繰り返して高橋くんが点 (tx,ty)(t _ x,t _ y) に到達できるなら Yes 、そうでなければ No と出力せよ。 11 行目で Yes と出力したとき、かつそのときに限り、あなたが構成した操作列の長さを dd としてさらに dd 行出力せよ(dd0leqdleq1060\\leq d\\leq10^6 を満たさなければならない)。 1+i1+i 行目 (1leqileqd)(1\\leq i\\leq d) には、ii 回目の操作で選んだ点 (x,y)inR(x, y)\\in R の座標をこの順に空白区切りで出力せよ。


入力例 1

1 2
7 8
7 9 0 3

出力例 1

Yes
7 0
9 3
7 1
8 1

例えば、次のようにして (1,2)(1,2) から (7,8)(7,8) へ移動することができます。

  • (7,0)(7,0) を選ぶ。高橋くんは (13,2)(13,-2) に移動する。
  • (9,3)(9,3) を選ぶ。高橋くんは (5,8)(5,8) に移動する。
  • (7,1)(7,1) を選ぶ。高橋くんは (9,6)(9,-6) に移動する。
  • (8,1)(8,1) を選ぶ。高橋くんは (7,8)(7,8) に移動する。

条件を満たす操作の列であれば何を出力しても正答となるので、例えば

Yes
7 3
9 0
7 2
9 1
8 1

と出力しても正答となります。


入力例 2

0 0
8 4
5 5 0 0

出力例 2

No

どのように操作しても点 (8,4)(8,4) に移動することはできません。


入力例 3

1 4
1 4
100 200 300 400

出力例 3

Yes

高橋くんがはじめから目的地にいる場合もあります。


入力例 4

22 2
16 7
14 30 11 14

出力例 4

No