
Multiple spies roam the plane. They are enemies. If any any point one spy, say A, sees another spy, say B, then A eliminates B.

Each spy is at some initial location (integer coordinates x,y) and with some initial orientation (NSEW). No spy initially sees another.

A series of instructions is carried out. Each instruction consists of:
- The spy to move
- "left", "right", or "step X" meaning they turn their orientation 90 degrees left or right, or they take X single steps forward (changing the coordinate they are looking along by X).
- If this causes the spy to see another, the one that is spotted is eliminated. This cascades: if this elimination causes them to see another then the other is also eliminated and so on.
- Similarly, if this causes the spy to be seen by another then the spy that just moved will be eliminated

If the spy to move was previous eliminated, ignore this instruction.

For each instruction, output the spies that are eliminated (in the order they were eliminated if there is a cascading effect).

Notes:
- A spy can only be eliminated when they step if they are spotted at the end point (i.e. if they are spotted en-route, they are not eliminated). The story can be that they move so fast they can't be seen.
- When a spy rotates, they don't see any spies as they sweep. Only any spies they now see after they are at their new orientation. The story can be that they rotate so fast that they aren't able to spot other spies while rotating.
(I don't want this problem to be too hard)

Bounds:
# Spies <= 100,000
# Instructions <= 500,000
