Given an implementation of a binary search tree including parent pointers:
- implement `splay` method, preferably utilizing the provided `rotate` operation
  performing a single rotation;
- update `lookup`, `insert` and `remove` methods to utilize it correctly.

You should submit the `splay_operation.*` file (but not the
`splay_operation_test.*`).

Source code templates can be found in [git](https://gitlab.kam.mff.cuni.cz/datovky/assignments/-/tree/master).