Capture the knight

Gegeben ist ein Schachbrett mit einem weißen Springer an der Position und einem schwarzen Springer an der Position . Es soll überprüft werden, ob einer der beiden Springer den anderen in 1 oder 2 Zügen schlagen kann.

Ein Springer schlägt den anderen, indem er in genau dasselbe Feld zieht, auf dem sich der gegnerische Springer befindet.

Zur Erinnerung: In einem Zug bewegt sich der Springer 2 Felder in eine Richtung und 1 Feld in eine dazu senkrechte Richtung. Das bedeutet zum Beispiel, dass er 2 Felder nach oben und 1 Feld nach links oder rechts ziehen kann, oder 2 Felder nach rechts und 1 Feld nach oben oder unten. Ebenso kann er sich 2 Felder nach unten und 1 Feld nach links oder rechts bewegen usw.

ezgif-3-3f17952339.gif

In diesem Problem bleibt der zweite Springer auf seinem Feld stehen, während der erste Springer genau zwei Züge ausführt.

Input

Die Eingabe enthält 2 Zeilen. In der ersten Zeile stehen die beiden Koordinaten des ersten Springers , in der zweiten Zeile die Koordinaten des zweiten Springers (1 ≤ ≤ 8). Es ist garantiert, dass sich von unterscheidet.

Output

Das Programm soll Yes ausgeben, falls der erste Springer den zweiten in 1 oder 2 Zügen schlagen kann, und No, falls dies nicht möglich ist.

Examples

Input

Output

1 1
1 3

Yes

1 1
8 8

No

Explanation

ezgif-3-fba729740d.gif

Unmöglich in 2 Zügen

ezgif-3-4866ce1775.gif

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue