Codeforces Round 502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2)
E
The Supersonic Rocket
Codeforces
2400
原题
← DF →
翻译中…

After the war, the supersonic rocket became the most common public transportation.

翻译中…

Each supersonic rocket consists of two "engines". Each engine is a set of "power sources". The first engine has $n$ power sources, and the second one has $m$ power sources. A power source can be described as a point $(x_i, y_i)$ on a 2-D plane. All points in each engine are different.

翻译中…

You can manipulate each engine separately. There are two operations that you can do with each engine. You can do each operation as many times as you want.

翻译中…
  1. For every power source as a whole in that engine: $(x_i, y_i)$ becomes $(x_i+a, y_i+b)$, $a$ and $b$ can be any real numbers. In other words, all power sources will be shifted.
  2. For every power source as a whole in that engine: $(x_i, y_i)$ becomes $(x_i \cos \theta - y_i \sin \theta, x_i \sin \theta + y_i \cos \theta)$, $\theta$ can be any real number. In other words, all power sources will be rotated.
翻译中…

The engines work as follows: after the two engines are powered, their power sources are being combined (here power sources of different engines may coincide). If two power sources $A(x_a, y_a)$ and $B(x_b, y_b)$ exist, then for all real number $k$ that $0 \lt k \lt 1$, a new power source will be created $C_k(kx_a+(1-k)x_b,ky_a+(1-k)y_b)$. Then, this procedure will be repeated again with all new and old power sources. After that, the "power field" from all power sources will be generated (can be considered as an infinite set of all power sources occurred).

翻译中…

A supersonic rocket is "safe" if and only if after you manipulate the engines, destroying any power source and then power the engine, the power field generated won't be changed (comparing to the situation where no power source erased). Two power fields are considered the same if and only if any power source in one field belongs to the other one as well.

翻译中…

Given a supersonic rocket, check whether it is safe or not.

翻译中…

Input

翻译中…

The first line contains two integers $n$, $m$ ($3 \le n, m \le 10^5$) — the number of power sources in each engine.

翻译中…

Each of the next $n$ lines contains two integers $x_i$ and $y_i$ ($0\leq x_i, y_i\leq 10^8$) — the coordinates of the $i$-th power source in the first engine.

翻译中…

Each of the next $m$ lines contains two integers $x_i$ and $y_i$ ($0\leq x_i, y_i\leq 10^8$) — the coordinates of the $i$-th power source in the second engine.

翻译中…

It is guaranteed that there are no two or more power sources that are located in the same point in each engine.

翻译中…

Output

翻译中…

Print "YES" if the supersonic rocket is safe, otherwise "NO".

翻译中…

You can print each letter in an arbitrary case (upper or lower).

翻译中…

Note

翻译中…

The first sample:

翻译中…

image Those near pairs of blue and orange points actually coincide.

翻译中…

First, manipulate the first engine: use the second operation with $\theta = \pi$ (to rotate all power sources $180$ degrees).

翻译中…

The power sources in the first engine become $(0, 0)$, $(0, -2)$, and $(-2, 0)$.

翻译中…

image

翻译中…

Second, manipulate the second engine: use the first operation with $a = b = -2$.

翻译中…

The power sources in the second engine become $(-2, 0)$, $(0, 0)$, $(0, -2)$, and $(-1, -1)$.

翻译中…

image

翻译中…

You can examine that destroying any point, the power field formed by the two engines are always the solid triangle $(0, 0)$, $(-2, 0)$, $(0, -2)$.

翻译中…

In the second sample, no matter how you manipulate the engines, there always exists a power source in the second engine that power field will shrink if you destroy it.

翻译中…

样例

Input #1
3 4
0 0
0 2
2 0
0 2
2 2
2 0
1 1
Output #1
YES
InputCopy OutputCopy
Input #2
3 4
0 0
0 2
2 0
0 2
2 2
2 0
0 0
Output #2
NO
InputCopy OutputCopy
题目信息
题号
1017E
时间限制
1 s
内存限制
256 MB
标签
计算几何
哈希
字符串

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。