#abc239c. [abc239_c]Knight Fork

[abc239_c]Knight Fork

问题描述

在一个 xyxy 坐标平面上,是否存在一个格点,其到两个格点 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2) 的距离都是 sqrt5\\sqrt{5}

注意事项

一个 xyxy 坐标平面上,如果 xxyy 坐标都是整数的点称为格点。
两点 (a,b)(a, b)(c,d)(c, d) 之间的距离定义为它们之间的欧几里得距离,即 sqrt(ac)2+(bd)2\\sqrt{(a - c)^2 + (b-d)^2}

以下图片展示了一个 xyxy 平面,黑色圆圈表示 (0,0)(0, 0) 位置,白色圆圈表示到 (0,0)(0, 0) 距离为 sqrt5\\sqrt{5} 的格点。(网格显示了 xxyy 是整数的位置。)

image

约束条件

  • 109x1109-10^9 \leq x_1 \leq 10^9
  • 109y1109-10^9 \leq y_1 \leq 10^9
  • 109x2109-10^9 \leq x_2 \leq 10^9
  • 109y2109-10^9 \leq y_2 \leq 10^9
  • (x1,y1)(x2,y2)(x_1, y_1) \neq (x_2, y_2)
  • 输入中的所有值都是整数。

输入

从标准输入读取的输入数据格式如下:

x1x_1 y1y_1 x2x_2 y2y_2

输出

如果存在满足条件的格点,则输出 Yes;否则输出 No


示例输入1

0 0 3 3

示例输出1

Yes
  • (2,1)(2,1)(x1,y1)(x_1, y_1) 的距离为 sqrt(02)2+(01)2=sqrt5\\sqrt{(0-2)^2 + (0-1)^2} = \\sqrt{5}
  • (2,1)(2,1)(x2,y2)(x_2, y_2) 的距离为 sqrt(32)2+(31)2=sqrt5\\sqrt{(3-2)^2 + (3-1)^2} = \\sqrt{5}
  • (2,1)(2, 1) 是一个格点,

因此点 (2,1)(2, 1) 满足条件。输出 Yes
同样的方式,可以验证 (1,2)(1, 2) 也满足条件。


示例输入2

0 1 2 3

示例输出2

No

没有格点满足条件,输出 No


示例输入3

1000000000 1000000000 999999999 999999999

示例输出3

Yes

(109+1,1092)(10^9 + 1, 10^9 - 2) 和点 (1092,109+1)(10^9 - 2, 10^9 + 1) 满足条件。