From 3accc9dfeeddf71e029878ccb8af33a1e7bbd283 Mon Sep 17 00:00:00 2001
From: konog98 <konog98@mi.fu-berlin.de>
Date: Mon, 6 May 2024 16:14:50 +0200
Subject: [PATCH] =?UTF-8?q?Test=20files=20und=20visualizer=20hinzugef?=
 =?UTF-8?q?=C3=BCgt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md                                     |    4 +-
 requirements.txt                              |  Bin 0 -> 92 bytes
 src/fortesting.py                             |   73 +-
 .../medium_test_set/instances/1.gr            |  258 +++
 .../medium_test_set/instances/10.gr           |  726 ++++++++
 .../medium_test_set/instances/11.gr           |  872 +++++++++
 .../medium_test_set/instances/12.gr           |  232 +++
 .../medium_test_set/instances/13.gr           |  617 ++++++
 .../medium_test_set/instances/14.gr           | 1101 +++++++++++
 .../medium_test_set/instances/15.gr           |  163 ++
 .../medium_test_set/instances/16.gr           |  259 +++
 .../medium_test_set/instances/17.gr           |  343 ++++
 .../medium_test_set/instances/18.gr           |  402 ++++
 .../medium_test_set/instances/19.gr           |  451 +++++
 .../medium_test_set/instances/2.gr            |  678 +++++++
 .../medium_test_set/instances/20.gr           |  568 ++++++
 .../medium_test_set/instances/21.gr           |  199 ++
 .../medium_test_set/instances/22.gr           |  197 ++
 .../medium_test_set/instances/23.gr           |  266 +++
 .../medium_test_set/instances/24.gr           |  426 +++++
 .../medium_test_set/instances/25.gr           |  612 ++++++
 .../medium_test_set/instances/26.gr           |  671 +++++++
 .../medium_test_set/instances/27.gr           |  145 ++
 .../medium_test_set/instances/28.gr           |  215 +++
 .../medium_test_set/instances/29.gr           |  399 ++++
 .../medium_test_set/instances/3.gr            |   60 +
 .../medium_test_set/instances/30.gr           |  185 ++
 .../medium_test_set/instances/31.gr           |  301 +++
 .../medium_test_set/instances/32.gr           |  387 ++++
 .../medium_test_set/instances/33.gr           |  568 ++++++
 .../medium_test_set/instances/34.gr           | 1191 ++++++++++++
 .../medium_test_set/instances/35.gr           | 1489 +++++++++++++++
 .../medium_test_set/instances/36.gr           |   81 +
 .../medium_test_set/instances/37.gr           |  193 ++
 .../medium_test_set/instances/38.gr           |  372 ++++
 .../medium_test_set/instances/39.gr           |  378 ++++
 .../medium_test_set/instances/4.gr            |  140 ++
 .../medium_test_set/instances/40.gr           |  404 ++++
 .../medium_test_set/instances/41.gr           |  190 ++
 .../medium_test_set/instances/42.gr           |  197 ++
 .../medium_test_set/instances/43.gr           |  285 +++
 .../medium_test_set/instances/44.gr           | 1650 +++++++++++++++++
 .../medium_test_set/instances/45.gr           |  969 ++++++++++
 .../medium_test_set/instances/46.gr           | 1229 ++++++++++++
 .../medium_test_set/instances/47.gr           |  260 +++
 .../medium_test_set/instances/48.gr           |  373 ++++
 .../medium_test_set/instances/49.gr           |  423 +++++
 .../medium_test_set/instances/5.gr            |  251 +++
 .../medium_test_set/instances/50.gr           |  441 +++++
 .../medium_test_set/instances/51.gr           |  521 ++++++
 .../medium_test_set/instances/52.gr           |  821 ++++++++
 .../medium_test_set/instances/53.gr           |  234 +++
 .../medium_test_set/instances/54.gr           |  282 +++
 .../medium_test_set/instances/55.gr           |  381 ++++
 .../medium_test_set/instances/56.gr           |  505 +++++
 .../medium_test_set/instances/57.gr           |  592 ++++++
 .../medium_test_set/instances/58.gr           |   49 +
 .../medium_test_set/instances/59.gr           |   65 +
 .../medium_test_set/instances/6.gr            |  295 +++
 .../medium_test_set/instances/60.gr           |  289 +++
 .../medium_test_set/instances/7.gr            |  459 +++++
 .../medium_test_set/instances/8.gr            |  654 +++++++
 .../medium_test_set/instances/9.gr            |  719 +++++++
 .../medium_test_set/solutions/1.sol           |  122 ++
 .../medium_test_set/solutions/10.sol          |  333 ++++
 .../medium_test_set/solutions/11.sol          |  464 +++++
 .../medium_test_set/solutions/12.sol          |  124 ++
 .../medium_test_set/solutions/13.sol          |  175 ++
 .../medium_test_set/solutions/14.sol          |  286 +++
 .../medium_test_set/solutions/15.sol          |   54 +
 .../medium_test_set/solutions/16.sol          |   86 +
 .../medium_test_set/solutions/17.sol          |  114 ++
 .../medium_test_set/solutions/18.sol          |  123 ++
 .../medium_test_set/solutions/19.sol          |  139 ++
 .../medium_test_set/solutions/2.sol           |  327 ++++
 .../medium_test_set/solutions/20.sol          |  181 ++
 .../medium_test_set/solutions/21.sol          |  101 +
 .../medium_test_set/solutions/22.sol          |  123 ++
 .../medium_test_set/solutions/23.sol          |  163 ++
 .../medium_test_set/solutions/24.sol          |  261 +++
 .../medium_test_set/solutions/25.sol          |  254 +++
 .../medium_test_set/solutions/26.sol          |  329 ++++
 .../medium_test_set/solutions/27.sol          |   72 +
 .../medium_test_set/solutions/28.sol          |  107 ++
 .../medium_test_set/solutions/29.sol          |  199 ++
 .../medium_test_set/solutions/3.sol           |   20 +
 .../medium_test_set/solutions/30.sol          |   92 +
 .../medium_test_set/solutions/31.sol          |  150 ++
 .../medium_test_set/solutions/32.sol          |  193 ++
 .../medium_test_set/solutions/33.sol          |  162 ++
 .../medium_test_set/solutions/34.sol          |  309 +++
 .../medium_test_set/solutions/35.sol          |  384 ++++
 .../medium_test_set/solutions/36.sol          |   16 +
 .../medium_test_set/solutions/37.sol          |   32 +
 .../medium_test_set/solutions/38.sol          |  194 ++
 .../medium_test_set/solutions/39.sol          |  192 ++
 .../medium_test_set/solutions/4.sol           |   26 +
 .../medium_test_set/solutions/40.sol          |  206 ++
 .../medium_test_set/solutions/41.sol          |   24 +
 .../medium_test_set/solutions/42.sol          |   42 +
 .../medium_test_set/solutions/43.sol          |   48 +
 .../medium_test_set/solutions/44.sol          |  221 +++
 .../medium_test_set/solutions/45.sol          |  241 +++
 .../medium_test_set/solutions/46.sol          |  238 +++
 .../medium_test_set/solutions/47.sol          |  128 ++
 .../medium_test_set/solutions/48.sol          |  194 ++
 .../medium_test_set/solutions/49.sol          |  217 +++
 .../medium_test_set/solutions/5.sol           |   37 +
 .../medium_test_set/solutions/50.sol          |  125 ++
 .../medium_test_set/solutions/51.sol          |  154 ++
 .../medium_test_set/solutions/52.sol          |  220 +++
 .../medium_test_set/solutions/53.sol          |  111 ++
 .../medium_test_set/solutions/54.sol          |  125 ++
 .../medium_test_set/solutions/55.sol          |  172 ++
 .../medium_test_set/solutions/56.sol          |  224 +++
 .../medium_test_set/solutions/57.sol          |  279 +++
 .../medium_test_set/solutions/58.sol          |   24 +
 .../medium_test_set/solutions/59.sol          |   32 +
 .../medium_test_set/solutions/6.sol           |  152 ++
 .../medium_test_set/solutions/60.sol          |  144 ++
 .../medium_test_set/solutions/7.sol           |  215 +++
 .../medium_test_set/solutions/8.sol           |  308 +++
 .../medium_test_set/solutions/9.sol           |  344 ++++
 .../tiny_test_set/instances/complete_4_5.gr   |   21 +
 .../instances/cycle_8_shuffled.gr             |    9 +
 .../tiny_test_set/instances/cycle_8_sorted.gr |    9 +
 .../instances/grid_9_shuffled.gr              |   13 +
 .../instances/ladder_4_4_shuffled.gr          |   11 +
 .../instances/ladder_4_4_sorted.gr            |   11 +
 .../tiny_test_set/instances/matching_4_4.gr   |    5 +
 .../instances/path_9_shuffled.gr              |    9 +
 .../tiny_test_set/instances/path_9_sorted.gr  |    9 +
 .../tiny_test_set/instances/plane_5_6.gr      |   11 +
 .../tiny_test_set/instances/star_6.gr         |    7 +
 .../tiny_test_set/instances/tree_6_10.gr      |   16 +
 .../tiny_test_set/instances/website_20.gr     |   13 +
 .../tiny_test_set/solutions/complete_4_5.sol  |    5 +
 .../solutions/cycle_8_shuffled.sol            |    4 +
 .../solutions/cycle_8_sorted.sol              |    4 +
 .../solutions/grid_9_shuffled.sol             |    5 +
 .../solutions/ladder_4_4_shuffled.sol         |    4 +
 .../solutions/ladder_4_4_sorted.sol           |    4 +
 .../tiny_test_set/solutions/matching_4_4.sol  |    4 +
 .../solutions/path_9_shuffled.sol             |    4 +
 .../tiny_test_set/solutions/path_9_sorted.sol |    4 +
 .../tiny_test_set/solutions/plane_5_6.sol     |    6 +
 .../tiny_test_set/solutions/star_6.sol        |    6 +
 .../tiny_test_set/solutions/tree_6_10.sol     |   10 +
 .../tiny_test_set/solutions/website_20.sol    |   10 +
 src/main.py                                   |    6 +-
 src/prob.lp                                   |   29 +
 src/solution_instances/0.sol                  |    3 +
 src/solution_instances/1.gr                   |  122 ++
 src/solution_instances/complete_4_5.gr        |    5 +
 src/solution_instances/complete_4_5.sol       |    5 +
 src/solution_instances/cycle_8_shuffled.gr    |    4 +
 src/solution_instances/cycle_8_shuffled.sol   |    4 +
 src/solution_instances/cycle_8_sorted.gr      |    4 +
 src/solution_instances/cycle_8_sorted.sol     |    4 +
 visualizer.py                                 |  438 +++++
 160 files changed, 38703 insertions(+), 27 deletions(-)
 create mode 100644 requirements.txt
 create mode 100644 src/githubtests/medium_test_set/instances/1.gr
 create mode 100644 src/githubtests/medium_test_set/instances/10.gr
 create mode 100644 src/githubtests/medium_test_set/instances/11.gr
 create mode 100644 src/githubtests/medium_test_set/instances/12.gr
 create mode 100644 src/githubtests/medium_test_set/instances/13.gr
 create mode 100644 src/githubtests/medium_test_set/instances/14.gr
 create mode 100644 src/githubtests/medium_test_set/instances/15.gr
 create mode 100644 src/githubtests/medium_test_set/instances/16.gr
 create mode 100644 src/githubtests/medium_test_set/instances/17.gr
 create mode 100644 src/githubtests/medium_test_set/instances/18.gr
 create mode 100644 src/githubtests/medium_test_set/instances/19.gr
 create mode 100644 src/githubtests/medium_test_set/instances/2.gr
 create mode 100644 src/githubtests/medium_test_set/instances/20.gr
 create mode 100644 src/githubtests/medium_test_set/instances/21.gr
 create mode 100644 src/githubtests/medium_test_set/instances/22.gr
 create mode 100644 src/githubtests/medium_test_set/instances/23.gr
 create mode 100644 src/githubtests/medium_test_set/instances/24.gr
 create mode 100644 src/githubtests/medium_test_set/instances/25.gr
 create mode 100644 src/githubtests/medium_test_set/instances/26.gr
 create mode 100644 src/githubtests/medium_test_set/instances/27.gr
 create mode 100644 src/githubtests/medium_test_set/instances/28.gr
 create mode 100644 src/githubtests/medium_test_set/instances/29.gr
 create mode 100644 src/githubtests/medium_test_set/instances/3.gr
 create mode 100644 src/githubtests/medium_test_set/instances/30.gr
 create mode 100644 src/githubtests/medium_test_set/instances/31.gr
 create mode 100644 src/githubtests/medium_test_set/instances/32.gr
 create mode 100644 src/githubtests/medium_test_set/instances/33.gr
 create mode 100644 src/githubtests/medium_test_set/instances/34.gr
 create mode 100644 src/githubtests/medium_test_set/instances/35.gr
 create mode 100644 src/githubtests/medium_test_set/instances/36.gr
 create mode 100644 src/githubtests/medium_test_set/instances/37.gr
 create mode 100644 src/githubtests/medium_test_set/instances/38.gr
 create mode 100644 src/githubtests/medium_test_set/instances/39.gr
 create mode 100644 src/githubtests/medium_test_set/instances/4.gr
 create mode 100644 src/githubtests/medium_test_set/instances/40.gr
 create mode 100644 src/githubtests/medium_test_set/instances/41.gr
 create mode 100644 src/githubtests/medium_test_set/instances/42.gr
 create mode 100644 src/githubtests/medium_test_set/instances/43.gr
 create mode 100644 src/githubtests/medium_test_set/instances/44.gr
 create mode 100644 src/githubtests/medium_test_set/instances/45.gr
 create mode 100644 src/githubtests/medium_test_set/instances/46.gr
 create mode 100644 src/githubtests/medium_test_set/instances/47.gr
 create mode 100644 src/githubtests/medium_test_set/instances/48.gr
 create mode 100644 src/githubtests/medium_test_set/instances/49.gr
 create mode 100644 src/githubtests/medium_test_set/instances/5.gr
 create mode 100644 src/githubtests/medium_test_set/instances/50.gr
 create mode 100644 src/githubtests/medium_test_set/instances/51.gr
 create mode 100644 src/githubtests/medium_test_set/instances/52.gr
 create mode 100644 src/githubtests/medium_test_set/instances/53.gr
 create mode 100644 src/githubtests/medium_test_set/instances/54.gr
 create mode 100644 src/githubtests/medium_test_set/instances/55.gr
 create mode 100644 src/githubtests/medium_test_set/instances/56.gr
 create mode 100644 src/githubtests/medium_test_set/instances/57.gr
 create mode 100644 src/githubtests/medium_test_set/instances/58.gr
 create mode 100644 src/githubtests/medium_test_set/instances/59.gr
 create mode 100644 src/githubtests/medium_test_set/instances/6.gr
 create mode 100644 src/githubtests/medium_test_set/instances/60.gr
 create mode 100644 src/githubtests/medium_test_set/instances/7.gr
 create mode 100644 src/githubtests/medium_test_set/instances/8.gr
 create mode 100644 src/githubtests/medium_test_set/instances/9.gr
 create mode 100644 src/githubtests/medium_test_set/solutions/1.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/10.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/11.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/12.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/13.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/14.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/15.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/16.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/17.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/18.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/19.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/2.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/20.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/21.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/22.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/23.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/24.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/25.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/26.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/27.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/28.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/29.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/3.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/30.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/31.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/32.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/33.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/34.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/35.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/36.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/37.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/38.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/39.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/4.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/40.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/41.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/42.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/43.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/44.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/45.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/46.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/47.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/48.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/49.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/5.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/50.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/51.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/52.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/53.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/54.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/55.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/56.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/57.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/58.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/59.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/6.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/60.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/7.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/8.sol
 create mode 100644 src/githubtests/medium_test_set/solutions/9.sol
 create mode 100644 src/githubtests/tiny_test_set/instances/complete_4_5.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/cycle_8_shuffled.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/cycle_8_sorted.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/grid_9_shuffled.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/ladder_4_4_shuffled.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/ladder_4_4_sorted.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/matching_4_4.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/path_9_shuffled.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/path_9_sorted.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/plane_5_6.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/star_6.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/tree_6_10.gr
 create mode 100644 src/githubtests/tiny_test_set/instances/website_20.gr
 create mode 100644 src/githubtests/tiny_test_set/solutions/complete_4_5.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/cycle_8_shuffled.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/cycle_8_sorted.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/grid_9_shuffled.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/ladder_4_4_shuffled.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/ladder_4_4_sorted.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/matching_4_4.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/path_9_shuffled.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/path_9_sorted.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/plane_5_6.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/star_6.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/tree_6_10.sol
 create mode 100644 src/githubtests/tiny_test_set/solutions/website_20.sol
 create mode 100644 src/prob.lp
 create mode 100644 src/solution_instances/0.sol
 create mode 100644 src/solution_instances/1.gr
 create mode 100644 src/solution_instances/complete_4_5.gr
 create mode 100644 src/solution_instances/complete_4_5.sol
 create mode 100644 src/solution_instances/cycle_8_shuffled.gr
 create mode 100644 src/solution_instances/cycle_8_shuffled.sol
 create mode 100644 src/solution_instances/cycle_8_sorted.gr
 create mode 100644 src/solution_instances/cycle_8_sorted.sol
 create mode 100644 visualizer.py

diff --git a/README.md b/README.md
index 7f0d7b7..10f316f 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@
     ```
     In Windows run:
     ```bash
-    venv\Scripts\activate
+    .venv\Scripts\activate
     ```
 
 5. **Install the Dependencies:**
@@ -45,4 +45,4 @@
 
 1. Geh sicher, dass alle Dependencies installiert sind.
 
-2.
\ No newline at end of file
+2. **Install Poetry**: https://python-poetry.org/docs/
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b00ddeab4db8bfb8ef5ed8c80c651d199c0bb45
GIT binary patch
literal 92
zcmezWFOMOWp@gBFA)ld$A)BFs!Ir_6!I(jh!H7YR!H|KMfr}xJp_Cz)p@5+hEN2Lo
VGXs+#*<yxdhD;P$L$F>01^_fM4z>UQ

literal 0
HcmV?d00001

diff --git a/src/fortesting.py b/src/fortesting.py
index 6ee4ef5..df28fda 100644
--- a/src/fortesting.py
+++ b/src/fortesting.py
@@ -1,12 +1,29 @@
 import os
 from pulp import *
 
+def count_initial_crossings(edges):
+    crossings = 0
+    # Durchlaufe alle Kantenpaare und überprüfe, ob eine Kreuzung vorliegt
+    for index, (i, j) in enumerate(edges):
+        for k, l in edges[index+1:]:  # Vergleiche nur nachfolgende Kanten
+            if i < k and j > l:
+                crossings += 1
+    return crossings
+
+def count_crossings_via_variables(c_vars):
+    crossings = 0
+    for c_var in c_vars.values():
+        if c_var.varValue == 1:
+            crossings += 1
+    return crossings
+
 def solve_bipartite_minimization(graph_file):
 
     # Extrahiere den Basisnamen der Eingabedatei
     base_name = os.path.basename(graph_file)
+    new_base_name = base_name.replace('.gr', '.sol')
     # Erstelle den Ausgabepfad
-    output_file = os.path.join('solution_instances', base_name)
+    output_file = os.path.join('solution_instances', new_base_name)
 
     edges = []
     with open(graph_file, "r") as file:
@@ -20,48 +37,57 @@ def solve_bipartite_minimization(graph_file):
             else:
                 x, y = map(int, line.split())
                 edges.append((x, y))
-
+    
     prob = LpProblem("Minimize_Crossings", LpMinimize)
 
     # Boolesche Variablen für relative Positionen innerhalb jeder Partition
     x = {(i, j): LpVariable(f"x_{i}_{j}", 0, 1, cat='Binary') for i in range(1, n0 + 1) for j in range(1, n0 + 1) if i < j}
     y = {(i, j): LpVariable(f"y_{i}_{j}", 0, 1, cat='Binary') for i in range(n0 + 1, n0 + n1 + 1) for j in range(n0 + 1, n0 + n1 + 1) if i != j}
-    #print("x:",x)
-    #print("y:",y)
-    
+    c = {(i, j, k, l): LpVariable(f"c_{i}_{j}_{k}_{l}", 0, 1, cat='Binary') for (i, j) in edges for (k, l) in edges if i < j and k < l and i < k and j != l}
+    """
     # Crossing Variables
     c = {}
     for (i, j) in edges:
         for (k, l) in edges:
             if i < j and k < l and i < k and j != l:
                 c[(i, j, k, l)] = LpVariable(f"c_{i}_{j}_{k}_{l}", 0, 1, cat='Binary')
-
+    """
     # Zielfunktion, die minimiert werden soll
     prob += lpSum(c.values())
-
-    # Crossing Constraints
-    for (i, j, k, l) in c:
-        if j < l:
-            prob += -c[(i, j, k, l)] <= y[(j, l)] - x[(i, k)] <= c[(i, j, k, l)]
-        if l > j:
-            prob += 1 - c[(i, j, k, l)] <= y[(l, j)] + x[(i, k)] <= 1 + c[(i, j, k, l)]
-    
-    # Constraints für x und y
-    for i in range(1, n0):
-        for j in range(i + 1, n0 + 1):
-            for k in range(j + 1, n0 + 1):
-                prob += 0 <= x[(i, j)] + x[(j, k)] - x[(i, k)] == 1
    
-    for i in range(n0 + 1, n0 + n1):
-        for j in range(i + 1, n0 + n1 + 1):
+    # Crossing Constraints basierend auf Kantenpaaren
+    for (i, j) in edges:
+        for (k, l) in edges:
+            if i < j and k < l and i < k and j != l:  # Grundbedingung für mögliche Kreuzungen
+                if j < l:
+                    prob += -c[(i, j, k, l)] <= y[(j, l)] - x[(i, k)] <= c[(i, j, k, l)]
+                if l > j:
+                    prob += 1 - c[(i, j, k, l)] <= y[(l, j)] + x[(i, k)] <= 1 + c[(i, j, k, l)]
+   
+    for i in range(n0 + 1, n0 + n1 - 1):
+        for j in range(i + 1, n0 + n1):
             for k in range(j + 1, n0 + n1 + 1):
-                prob +=  0 <= y[(i, j)] + y[(j, k)] - y[(i, k)] <= 1
+                prob += 0 <= y[(i, j)] + y[(j, k)] - y[(i, k)] <= 1
 
     # Constraints für die relative Ordnung innerhalb der Partitionen
     for (i, j) in y:
         prob += y[(i, j)] + y[(j, i)] == 1  # genau einer muss wahr sein
-   
+
+    initial_crossings = count_initial_crossings(edges)
+    print(f"Initial crossings edges: {initial_crossings}")
+
+    initial_crossings1 = count_crossings_via_variables(c)
+    print(f"Initial crossings VAR (before solving): {initial_crossings1}")
+
+    prob.writeLP("prob.lp")
     prob.solve()
+    
+    for key, var in c.items():
+        print(f"c[{key}] = {var.varValue}")
+
+
+    final_crossings1 = count_crossings_via_variables(c)
+    print(f"Final crossings VAR (after solving): {final_crossings1}")
 
     print("Status:", LpStatus[prob.status])
     
@@ -91,5 +117,6 @@ def solve_bipartite_minimization(graph_file):
         print("No optimal solution found.")
 
 
+#test_file = 'githubtests/tiny_test_set/instances/cycle_8_shuffled.gr'
 test_file = 'test_instances/0.gr'
 solve_bipartite_minimization(test_file)
diff --git a/src/githubtests/medium_test_set/instances/1.gr b/src/githubtests/medium_test_set/instances/1.gr
new file mode 100644
index 0000000..768a119
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/1.gr
@@ -0,0 +1,258 @@
+p ocr 136 122 257
+1 193
+1 257
+2 193
+3 193
+4 193
+5 193
+6 193
+7 193
+8 193
+9 193
+10 193
+11 193
+12 193
+13 193
+14 193
+15 193
+16 193
+17 193
+18 193
+19 193
+20 193
+21 193
+22 193
+23 193
+24 193
+25 193
+26 193
+27 193
+28 193
+29 193
+30 193
+31 193
+32 193
+33 193
+34 193
+35 193
+36 193
+37 193
+38 193
+39 193
+40 193
+41 193
+42 193
+43 193
+44 193
+45 193
+46 193
+47 193
+48 193
+49 193
+50 193
+51 193
+52 193
+53 193
+54 193
+55 193
+56 193
+57 193
+58 193
+59 193
+60 193
+61 193
+62 193
+63 193
+64 193
+65 193
+66 193
+67 193
+68 193
+69 193
+70 193
+71 193
+72 193
+73 193
+74 193
+75 193
+76 193
+77 193
+78 193
+79 193
+80 193
+81 193
+82 193
+83 193
+84 193
+85 193
+86 193
+87 193
+88 193
+89 193
+90 193
+91 193
+92 193
+93 193
+94 193
+95 193
+96 193
+97 193
+98 193
+99 193
+100 193
+101 193
+102 193
+103 193
+104 193
+105 193
+106 193
+107 193
+108 193
+109 193
+110 193
+111 193
+112 193
+113 193
+114 193
+115 193
+116 193
+117 193
+118 193
+119 193
+120 193
+121 137
+121 138
+121 139
+121 140
+121 141
+121 142
+121 143
+121 144
+121 145
+121 146
+121 147
+121 148
+121 149
+121 150
+121 151
+121 152
+121 153
+121 154
+121 155
+121 156
+121 157
+121 158
+121 159
+121 160
+121 161
+121 162
+121 163
+121 164
+121 165
+121 166
+121 167
+121 168
+121 169
+121 170
+121 171
+121 172
+121 173
+121 174
+121 175
+121 176
+121 177
+121 178
+121 179
+121 180
+121 181
+121 182
+121 183
+121 184
+121 185
+121 186
+121 187
+121 188
+121 189
+121 190
+121 191
+121 192
+121 193
+121 194
+121 195
+121 196
+121 197
+121 198
+121 199
+121 200
+121 201
+121 202
+121 203
+121 204
+121 205
+121 206
+121 207
+121 208
+121 209
+121 210
+121 211
+121 212
+121 213
+121 214
+121 215
+121 216
+121 217
+121 218
+121 219
+121 220
+121 221
+121 222
+121 223
+121 224
+121 225
+121 226
+121 227
+121 228
+121 229
+121 230
+121 231
+121 232
+121 233
+121 234
+121 235
+121 236
+121 237
+121 238
+121 239
+121 240
+121 241
+121 242
+121 243
+121 244
+121 245
+121 246
+121 247
+121 248
+121 249
+121 250
+121 251
+121 252
+121 253
+121 254
+121 255
+121 256
+121 258
+122 257
+123 257
+124 257
+125 257
+126 257
+127 257
+128 257
+129 257
+130 257
+131 257
+132 257
+133 257
+134 257
+135 257
+136 257
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/10.gr b/src/githubtests/medium_test_set/instances/10.gr
new file mode 100644
index 0000000..8c7f197
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/10.gr
@@ -0,0 +1,726 @@
+p ocr 393 333 725
+1 672
+2 507
+2 603
+4 487
+4 491
+4 604
+4 606
+4 652
+6 444
+6 593
+8 548
+17 458
+17 490
+17 590
+17 655
+17 716
+18 409
+18 477
+18 522
+20 397
+20 427
+20 510
+20 651
+20 689
+20 690
+24 426
+24 476
+24 545
+24 608
+26 457
+27 588
+27 677
+28 682
+29 483
+29 709
+30 579
+31 440
+34 518
+34 607
+37 433
+37 484
+42 418
+42 627
+42 717
+45 680
+46 411
+46 424
+48 406
+49 721
+52 461
+52 520
+52 713
+54 412
+54 570
+54 658
+58 498
+58 562
+60 691
+61 467
+61 569
+63 403
+63 508
+64 497
+65 505
+68 473
+68 543
+68 571
+68 704
+70 572
+71 723
+72 437
+72 446
+75 454
+75 710
+76 436
+78 399
+78 492
+78 583
+78 614
+78 663
+79 602
+79 609
+82 421
+86 521
+87 619
+87 666
+87 698
+88 533
+88 560
+88 635
+90 419
+90 452
+90 632
+93 465
+93 495
+93 542
+99 415
+99 695
+100 499
+100 509
+103 506
+105 536
+106 524
+106 589
+106 596
+106 637
+106 640
+106 642
+106 720
+108 670
+109 660
+111 410
+111 489
+111 650
+113 435
+113 462
+113 512
+113 550
+114 402
+114 493
+114 684
+118 430
+118 479
+123 481
+126 621
+127 455
+127 661
+129 448
+129 482
+129 618
+129 685
+129 703
+136 625
+137 405
+137 568
+138 525
+138 546
+142 587
+142 718
+143 464
+144 416
+145 540
+146 538
+147 620
+147 648
+149 705
+151 623
+151 669
+151 719
+162 683
+163 396
+166 646
+167 668
+168 401
+171 598
+174 459
+174 552
+175 478
+176 475
+176 534
+176 697
+178 420
+183 532
+183 726
+185 502
+185 503
+185 551
+186 613
+186 657
+188 434
+195 645
+196 601
+196 630
+197 439
+197 700
+199 413
+199 678
+202 699
+203 501
+203 557
+208 469
+209 722
+211 654
+211 673
+212 595
+214 580
+214 581
+214 686
+214 712
+215 395
+215 447
+220 639
+223 456
+223 575
+223 631
+224 563
+224 565
+224 612
+225 662
+227 693
+228 585
+229 553
+229 611
+235 474
+235 485
+236 488
+236 523
+236 664
+238 537
+238 665
+240 659
+244 408
+244 414
+244 471
+244 574
+244 577
+244 617
+244 707
+246 527
+247 470
+251 445
+251 687
+252 394
+252 594
+254 706
+255 584
+258 460
+258 714
+259 400
+260 559
+263 519
+264 541
+266 468
+266 530
+266 605
+266 679
+268 615
+268 702
+270 511
+271 592
+272 667
+274 715
+277 513
+277 610
+278 528
+279 692
+282 514
+282 539
+282 561
+282 674
+282 676
+286 564
+286 656
+287 500
+287 681
+288 438
+290 425
+290 451
+292 629
+292 671
+293 526
+293 582
+293 641
+295 558
+299 653
+300 555
+303 432
+304 443
+304 450
+304 556
+304 711
+305 466
+308 616
+308 675
+318 554
+318 624
+323 597
+323 628
+323 696
+327 463
+329 694
+331 724
+333 404
+333 453
+334 407
+334 549
+337 535
+338 422
+338 517
+339 431
+339 472
+339 515
+339 566
+339 567
+339 725
+344 622
+345 578
+346 441
+346 442
+349 496
+349 544
+351 638
+352 429
+352 531
+355 449
+360 486
+360 529
+361 647
+362 576
+369 708
+370 398
+370 636
+371 626
+371 688
+373 644
+374 591
+374 649
+376 573
+377 423
+378 516
+378 633
+382 480
+382 600
+384 494
+388 599
+391 504
+391 547
+391 701
+393 417
+393 428
+393 586
+393 634
+393 643
+43 395
+44 395
+45 395
+349 396
+260 400
+169 401
+170 401
+171 401
+115 402
+116 402
+117 402
+118 402
+64 403
+334 404
+49 406
+19 409
+20 409
+390 416
+391 416
+122 420
+384 420
+42 421
+83 421
+84 421
+85 421
+385 421
+378 423
+47 424
+48 424
+25 426
+26 426
+353 429
+354 429
+355 429
+86 430
+119 430
+120 430
+121 430
+179 430
+218 432
+219 432
+220 432
+38 433
+39 433
+40 433
+41 433
+215 433
+143 434
+190 434
+191 434
+285 434
+77 436
+78 436
+244 438
+289 438
+199 439
+316 439
+33 440
+34 440
+148 440
+268 442
+347 442
+348 442
+305 443
+266 444
+252 445
+73 446
+74 446
+75 446
+312 449
+356 449
+358 449
+359 449
+360 449
+97 451
+226 451
+227 451
+292 457
+175 459
+259 460
+114 462
+328 463
+329 463
+193 464
+194 464
+195 464
+241 465
+301 465
+302 465
+304 465
+297 466
+306 466
+308 466
+209 469
+248 470
+249 470
+250 470
+251 470
+272 471
+69 473
+70 473
+176 478
+123 480
+180 480
+383 480
+386 481
+387 481
+388 481
+30 483
+236 485
+112 489
+113 489
+18 490
+5 491
+7 491
+8 491
+265 491
+181 494
+182 494
+183 494
+65 497
+59 498
+60 498
+393 499
+204 501
+205 501
+206 501
+207 501
+208 501
+66 505
+67 505
+68 505
+104 506
+105 506
+271 511
+278 513
+339 517
+264 519
+55 521
+125 521
+126 521
+237 523
+238 523
+139 525
+140 525
+141 525
+142 525
+247 527
+279 528
+361 529
+89 533
+90 533
+177 534
+178 534
+338 535
+106 536
+239 537
+240 537
+147 538
+146 540
+6 541
+165 544
+166 544
+9 548
+10 548
+11 548
+12 548
+13 548
+14 548
+15 548
+16 548
+17 548
+335 549
+336 549
+337 549
+186 551
+319 554
+320 554
+321 554
+322 554
+323 554
+94 555
+95 555
+96 555
+225 555
+93 558
+152 558
+189 558
+296 558
+307 558
+261 559
+262 559
+263 559
+283 561
+284 561
+286 561
+325 561
+138 568
+62 569
+63 569
+56 570
+57 570
+58 570
+124 570
+351 572
+52 573
+363 576
+364 576
+365 576
+366 576
+367 576
+368 576
+369 576
+346 578
+31 579
+87 581
+256 584
+257 584
+258 584
+229 585
+145 587
+192 587
+389 587
+293 588
+107 589
+109 589
+221 589
+273 592
+274 592
+291 592
+253 594
+254 594
+213 595
+214 595
+172 598
+173 598
+174 598
+144 599
+80 602
+81 602
+82 602
+3 603
+4 603
+35 607
+36 607
+37 607
+230 611
+231 611
+232 611
+233 611
+234 611
+235 611
+245 612
+246 612
+187 613
+188 613
+71 615
+350 615
+299 619
+127 621
+345 622
+137 625
+28 629
+197 630
+290 631
+91 632
+92 632
+300 632
+379 633
+380 633
+381 633
+382 633
+371 636
+72 638
+108 639
+294 641
+295 641
+374 644
+196 645
+167 646
+362 647
+32 648
+149 648
+51 649
+375 649
+377 649
+21 651
+22 651
+23 651
+24 651
+303 653
+212 654
+287 656
+216 659
+217 659
+224 659
+242 659
+110 660
+111 660
+128 661
+129 661
+98 662
+99 662
+79 663
+27 667
+168 668
+222 670
+223 670
+2 672
+198 675
+309 675
+310 675
+311 675
+313 675
+314 675
+315 675
+317 675
+318 675
+357 675
+200 678
+201 678
+202 678
+164 679
+267 679
+269 679
+270 679
+46 680
+288 681
+29 682
+163 683
+130 685
+131 685
+132 685
+133 685
+134 685
+135 685
+136 685
+372 688
+373 688
+61 691
+280 692
+281 692
+282 692
+228 693
+330 694
+331 694
+101 695
+102 695
+103 695
+392 695
+243 696
+324 696
+326 696
+327 696
+203 699
+100 701
+150 705
+151 705
+255 706
+370 708
+76 710
+53 713
+54 713
+275 715
+276 715
+277 715
+88 717
+153 719
+154 719
+155 719
+156 719
+157 719
+158 719
+159 719
+160 719
+161 719
+162 719
+298 719
+50 721
+376 721
+210 722
+211 722
+352 723
+332 724
+333 724
+340 725
+341 725
+342 725
+343 725
+344 725
+184 726
+185 726
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/11.gr b/src/githubtests/medium_test_set/instances/11.gr
new file mode 100644
index 0000000..6625995
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/11.gr
@@ -0,0 +1,872 @@
+p ocr 408 464 871
+1 450
+1 756
+1 808
+1 842
+4 456
+4 554
+6 578
+7 600
+9 626
+9 858
+11 431
+11 630
+12 747
+15 528
+15 545
+15 599
+15 682
+15 712
+20 548
+22 496
+22 648
+26 671
+27 440
+29 798
+30 770
+31 598
+32 526
+32 850
+34 776
+35 815
+36 458
+36 659
+36 722
+36 853
+38 449
+38 549
+38 582
+38 779
+38 840
+40 521
+40 658
+41 803
+42 559
+45 447
+45 484
+45 519
+45 765
+50 532
+51 499
+51 520
+51 824
+52 577
+53 834
+56 653
+56 694
+56 820
+60 621
+60 730
+62 797
+63 472
+63 839
+64 775
+66 523
+66 550
+66 565
+66 758
+72 500
+72 606
+72 633
+72 701
+72 852
+73 446
+74 463
+75 522
+78 445
+79 455
+79 787
+81 745
+82 862
+83 724
+84 435
+85 514
+89 432
+89 683
+89 848
+91 540
+92 478
+92 786
+92 847
+94 442
+96 426
+96 602
+96 686
+96 703
+96 832
+97 489
+97 495
+97 546
+100 618
+102 678
+102 816
+102 822
+103 465
+103 576
+103 688
+105 569
+105 677
+105 744
+105 746
+107 512
+107 524
+107 595
+109 743
+112 772
+113 571
+113 697
+113 705
+113 841
+113 859
+114 553
+115 580
+116 413
+119 646
+120 608
+121 471
+121 510
+121 668
+121 800
+121 835
+122 727
+123 785
+123 788
+124 473
+130 497
+130 828
+133 454
+137 679
+141 506
+141 617
+142 487
+142 561
+147 536
+147 583
+147 622
+150 438
+150 562
+150 802
+150 836
+152 625
+153 474
+153 498
+153 681
+153 846
+154 837
+155 774
+157 436
+157 742
+157 751
+157 783
+158 655
+160 789
+160 860
+164 604
+164 741
+165 423
+165 636
+165 734
+167 592
+167 855
+168 443
+168 494
+171 467
+171 502
+171 537
+171 640
+173 414
+173 416
+173 420
+173 433
+173 593
+173 737
+174 470
+175 482
+175 717
+175 792
+176 696
+176 768
+176 844
+177 453
+179 564
+179 669
+179 728
+181 585
+181 651
+181 684
+181 736
+182 807
+183 430
+183 589
+187 620
+187 634
+189 624
+191 695
+195 693
+196 476
+196 614
+197 533
+198 650
+198 769
+199 511
+199 814
+201 601
+203 615
+203 817
+204 475
+204 610
+204 619
+205 863
+207 612
+209 760
+210 444
+213 672
+213 708
+213 795
+213 799
+214 647
+214 868
+215 481
+215 530
+216 488
+216 535
+217 643
+218 421
+218 871
+221 466
+221 725
+222 838
+223 628
+225 660
+226 422
+226 754
+227 452
+227 867
+228 699
+229 517
+229 771
+231 503
+231 632
+231 635
+231 719
+232 627
+234 685
+235 557
+235 762
+240 411
+240 527
+240 665
+240 849
+246 829
+246 857
+248 570
+249 513
+249 704
+249 759
+249 851
+251 597
+252 831
+255 542
+256 529
+256 706
+256 707
+256 778
+256 869
+258 715
+258 872
+259 493
+260 830
+262 781
+264 572
+265 594
+268 459
+268 508
+268 766
+268 825
+269 700
+270 641
+270 657
+270 821
+271 566
+271 586
+271 613
+271 791
+271 866
+273 451
+274 560
+277 419
+277 434
+277 538
+277 638
+277 709
+277 777
+278 609
+279 573
+280 629
+280 720
+282 427
+282 462
+282 485
+282 656
+282 670
+282 680
+282 689
+282 861
+283 516
+284 552
+284 674
+284 711
+285 749
+286 865
+287 412
+287 464
+288 424
+288 539
+288 811
+289 531
+291 417
+295 579
+295 790
+296 543
+296 623
+297 854
+300 479
+302 486
+302 731
+302 856
+303 492
+303 568
+303 813
+306 504
+308 448
+308 662
+311 556
+315 870
+316 664
+318 675
+318 805
+319 429
+319 750
+319 833
+323 515
+323 755
+323 801
+323 843
+324 691
+324 714
+326 534
+327 468
+327 563
+327 611
+327 713
+327 748
+327 757
+328 687
+329 409
+329 437
+329 555
+329 702
+329 735
+330 477
+330 525
+330 773
+330 784
+330 864
+336 826
+339 483
+339 652
+339 767
+340 654
+340 733
+341 596
+341 631
+341 782
+345 457
+345 649
+346 753
+348 461
+348 793
+349 667
+350 469
+350 480
+350 603
+350 639
+350 718
+350 729
+350 806
+350 810
+351 558
+352 587
+355 642
+357 616
+357 692
+357 827
+359 418
+359 698
+359 794
+360 644
+360 723
+361 425
+363 661
+363 818
+364 460
+365 410
+365 415
+365 428
+365 567
+365 590
+365 605
+366 505
+371 439
+371 764
+371 823
+373 491
+373 501
+373 509
+373 645
+373 710
+373 716
+373 752
+373 809
+373 819
+373 845
+375 518
+375 738
+375 804
+376 541
+377 763
+378 721
+381 637
+385 544
+385 676
+385 739
+386 490
+386 584
+387 551
+387 588
+387 666
+388 732
+389 507
+389 591
+389 690
+389 761
+390 780
+391 575
+392 673
+397 726
+397 796
+399 607
+402 441
+404 574
+404 740
+404 812
+407 547
+408 581
+408 663
+117 413
+118 413
+119 413
+287 417
+360 418
+152 421
+166 423
+167 423
+362 425
+363 425
+251 426
+43 430
+184 430
+186 430
+399 430
+90 432
+91 432
+381 435
+28 440
+29 440
+216 441
+95 442
+97 442
+135 442
+211 444
+212 444
+213 444
+79 445
+74 446
+36 448
+304 448
+388 451
+178 453
+179 453
+96 454
+134 454
+365 460
+75 463
+219 464
+289 464
+100 465
+222 466
+175 470
+64 472
+125 473
+126 473
+127 473
+128 473
+129 473
+130 473
+197 476
+131 477
+245 477
+333 477
+334 477
+335 477
+336 477
+93 478
+94 478
+301 479
+302 479
+47 484
+48 484
+49 484
+50 484
+322 484
+143 487
+144 487
+145 487
+147 487
+369 487
+273 490
+260 493
+169 494
+170 494
+172 494
+173 494
+354 494
+44 495
+98 495
+99 495
+101 495
+103 495
+309 495
+307 504
+308 504
+146 505
+367 505
+368 505
+370 505
+371 505
+142 506
+86 514
+87 514
+88 514
+89 514
+284 516
+392 517
+76 522
+77 522
+78 522
+340 523
+16 528
+17 528
+18 528
+19 528
+20 528
+217 530
+403 530
+286 531
+290 531
+51 532
+198 533
+60 534
+404 535
+355 537
+153 539
+92 540
+121 541
+256 542
+386 544
+408 547
+21 548
+22 548
+285 552
+115 553
+46 554
+102 554
+321 554
+312 556
+313 556
+314 556
+315 556
+206 557
+236 557
+238 557
+239 557
+240 557
+352 558
+185 559
+323 559
+275 560
+276 560
+277 560
+151 562
+288 562
+104 568
+305 568
+306 568
+249 570
+265 572
+280 573
+257 575
+347 575
+393 575
+394 575
+395 575
+397 575
+53 577
+187 578
+116 580
+171 587
+202 587
+390 591
+266 594
+267 594
+268 594
+108 595
+109 595
+342 596
+343 596
+344 596
+345 596
+137 597
+32 598
+8 600
+9 600
+203 601
+353 601
+165 604
+366 605
+73 606
+188 607
+189 607
+401 608
+402 608
+279 609
+205 610
+300 612
+272 613
+387 613
+204 615
+105 618
+148 622
+149 622
+150 622
+113 623
+68 624
+163 624
+192 624
+193 624
+194 624
+195 624
+220 625
+221 625
+233 627
+234 627
+224 628
+225 628
+12 630
+120 634
+232 635
+380 637
+382 637
+384 637
+385 637
+278 638
+271 641
+356 642
+357 642
+218 643
+361 644
+376 646
+154 648
+229 649
+199 650
+67 652
+69 652
+70 652
+71 652
+72 652
+281 652
+159 655
+160 655
+41 658
+226 660
+359 664
+274 666
+350 667
+180 669
+181 669
+27 671
+215 672
+253 672
+348 673
+319 675
+378 677
+324 678
+138 679
+139 679
+140 679
+141 679
+235 685
+329 687
+283 689
+316 692
+196 693
+282 695
+177 696
+207 697
+298 697
+346 699
+270 700
+330 702
+258 706
+396 706
+61 713
+62 713
+325 714
+326 714
+191 720
+107 721
+85 724
+383 724
+123 727
+328 730
+303 731
+389 732
+341 733
+182 736
+174 737
+377 738
+400 738
+405 740
+406 740
+407 740
+158 742
+65 743
+110 743
+111 743
+297 743
+82 745
+13 747
+14 747
+15 747
+291 749
+4 750
+374 752
+375 752
+230 753
+231 753
+227 754
+210 760
+84 763
+106 763
+379 763
+31 770
+339 772
+156 774
+157 774
+112 775
+35 776
+39 779
+40 779
+391 780
+263 781
+264 781
+124 785
+80 787
+81 787
+161 789
+162 789
+164 789
+190 789
+296 790
+176 792
+349 793
+6 796
+63 797
+30 798
+42 803
+183 807
+2 808
+3 808
+5 808
+7 808
+320 808
+398 808
+351 810
+200 814
+201 814
+37 815
+38 815
+310 815
+364 818
+57 820
+58 820
+59 820
+327 820
+372 823
+373 823
+52 824
+269 825
+66 826
+337 826
+338 826
+132 828
+133 828
+331 828
+247 829
+248 829
+261 830
+262 830
+214 831
+54 834
+55 834
+56 834
+122 835
+24 837
+25 837
+26 837
+223 838
+45 843
+23 846
+155 846
+241 849
+243 849
+244 849
+246 849
+294 849
+332 849
+33 850
+34 850
+136 851
+250 851
+252 851
+311 853
+114 854
+168 855
+10 858
+11 858
+83 862
+208 863
+209 863
+237 863
+299 863
+242 865
+292 865
+293 865
+295 865
+228 867
+254 868
+255 868
+317 870
+318 870
+358 870
+259 872
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/12.gr b/src/githubtests/medium_test_set/instances/12.gr
new file mode 100644
index 0000000..e56435a
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/12.gr
@@ -0,0 +1,232 @@
+p ocr 108 124 231
+2 147
+2 171
+2 228
+3 201
+4 126
+4 130
+4 177
+5 207
+6 114
+6 123
+8 198
+8 212
+11 143
+12 151
+12 191
+12 204
+13 134
+14 145
+14 188
+16 167
+16 197
+17 112
+17 158
+17 173
+17 175
+17 219
+17 220
+18 179
+18 218
+19 115
+19 117
+19 154
+19 169
+19 196
+22 118
+22 131
+22 166
+24 211
+25 136
+37 181
+37 210
+38 142
+38 144
+38 165
+38 172
+38 203
+39 120
+41 230
+42 111
+42 113
+42 190
+42 192
+43 125
+43 127
+43 160
+44 150
+44 163
+44 222
+45 133
+50 183
+51 187
+52 156
+53 225
+53 231
+54 153
+55 178
+57 223
+58 184
+61 174
+62 168
+62 193
+62 206
+62 217
+62 221
+65 110
+65 205
+67 137
+67 186
+68 161
+70 139
+70 209
+71 138
+71 200
+73 109
+74 124
+74 189
+77 119
+77 148
+77 180
+77 226
+77 227
+80 135
+80 157
+81 152
+81 164
+83 116
+84 159
+85 185
+85 216
+89 199
+90 129
+90 149
+90 208
+90 214
+94 121
+94 146
+94 170
+94 229
+95 132
+96 195
+96 213
+96 232
+97 182
+97 224
+98 194
+98 202
+98 215
+101 128
+101 141
+102 155
+103 176
+107 122
+107 162
+108 140
+16 109
+35 111
+76 111
+94 111
+106 111
+42 116
+104 116
+62 120
+19 122
+31 122
+70 123
+6 125
+86 129
+95 129
+15 130
+20 130
+21 130
+69 130
+72 130
+83 130
+65 131
+37 132
+12 133
+60 133
+96 134
+14 136
+10 139
+59 139
+77 139
+87 139
+100 139
+34 140
+84 140
+5 141
+63 141
+17 143
+46 143
+89 150
+23 153
+38 153
+11 155
+81 156
+3 157
+48 157
+67 159
+4 161
+39 164
+25 165
+71 169
+41 174
+97 175
+9 176
+36 176
+58 176
+78 176
+79 176
+2 178
+90 179
+51 181
+8 183
+50 184
+75 184
+26 186
+33 186
+56 186
+64 186
+102 186
+22 187
+27 187
+40 187
+52 188
+55 189
+43 191
+57 194
+66 195
+82 195
+103 195
+108 197
+85 199
+1 200
+18 200
+28 200
+30 200
+99 200
+47 201
+53 201
+98 205
+74 207
+93 207
+49 211
+107 211
+7 212
+29 212
+61 212
+88 212
+91 212
+80 217
+73 223
+44 224
+101 226
+54 228
+13 229
+45 230
+24 231
+32 231
+92 231
+105 231
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/13.gr b/src/githubtests/medium_test_set/instances/13.gr
new file mode 100644
index 0000000..01c0307
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/13.gr
@@ -0,0 +1,617 @@
+p ocr 165 175 616
+1 257
+1 339
+2 175
+2 188
+2 214
+2 237
+2 243
+2 244
+2 246
+2 287
+2 299
+2 316
+3 205
+3 234
+3 324
+3 332
+3 333
+4 217
+4 250
+4 269
+4 309
+5 184
+5 199
+5 252
+5 273
+6 177
+6 188
+6 250
+6 253
+6 269
+6 309
+7 177
+7 237
+7 241
+7 247
+7 317
+8 213
+8 240
+8 296
+9 182
+9 209
+10 198
+10 213
+10 220
+10 232
+10 263
+10 296
+11 190
+11 222
+11 306
+12 188
+12 214
+12 243
+12 246
+12 325
+13 218
+13 290
+14 170
+14 191
+14 227
+14 257
+14 320
+15 279
+15 287
+15 292
+16 195
+16 256
+16 340
+17 190
+17 202
+17 221
+17 222
+17 280
+18 245
+18 247
+18 316
+19 168
+19 205
+19 208
+19 234
+19 304
+19 324
+19 327
+20 201
+20 290
+21 239
+21 305
+22 228
+23 177
+23 188
+24 171
+24 258
+25 185
+25 318
+25 332
+25 333
+26 190
+26 222
+26 280
+27 248
+27 297
+27 308
+28 169
+28 267
+28 331
+29 197
+29 215
+29 242
+30 248
+31 181
+31 330
+32 210
+32 267
+32 294
+32 302
+32 331
+33 188
+33 209
+33 253
+33 325
+34 168
+34 205
+34 234
+34 304
+34 327
+35 228
+35 233
+36 181
+37 254
+37 313
+38 332
+38 333
+39 239
+39 305
+40 182
+40 209
+40 217
+41 168
+41 208
+41 256
+41 268
+42 166
+42 211
+42 266
+42 271
+42 289
+42 311
+43 184
+43 284
+44 210
+44 303
+45 248
+45 308
+46 287
+46 316
+47 167
+47 213
+47 240
+48 175
+48 244
+48 251
+48 299
+48 306
+49 169
+49 196
+49 200
+49 232
+49 296
+50 195
+50 256
+50 285
+50 322
+51 220
+51 263
+51 272
+52 228
+53 172
+53 184
+53 194
+53 284
+53 295
+53 314
+53 326
+54 232
+54 296
+55 176
+55 207
+55 212
+55 274
+55 294
+55 302
+55 303
+56 240
+56 296
+57 218
+57 290
+58 248
+58 330
+59 209
+59 217
+59 253
+59 269
+60 170
+60 192
+60 261
+61 276
+61 339
+62 228
+62 233
+62 265
+63 221
+63 222
+63 235
+63 280
+64 216
+64 247
+64 287
+64 316
+65 187
+65 190
+65 224
+65 230
+65 251
+65 282
+65 298
+65 306
+65 338
+66 277
+66 286
+67 215
+67 231
+67 278
+67 300
+68 211
+69 173
+69 211
+69 266
+70 226
+70 259
+70 270
+70 301
+70 320
+70 334
+70 337
+71 182
+71 217
+71 264
+71 277
+71 286
+71 310
+71 335
+72 169
+72 207
+72 232
+72 267
+72 302
+73 167
+73 198
+73 213
+73 263
+74 210
+74 303
+75 201
+75 225
+75 229
+75 262
+75 290
+75 291
+76 197
+76 215
+76 242
+77 203
+77 206
+77 264
+77 277
+77 286
+77 310
+77 335
+78 238
+78 276
+78 339
+79 169
+79 267
+80 224
+80 237
+80 241
+80 251
+81 218
+81 262
+81 290
+81 291
+82 220
+82 240
+83 167
+83 228
+83 240
+84 241
+84 245
+84 247
+85 178
+85 330
+86 183
+86 283
+86 318
+86 321
+86 323
+87 210
+87 212
+87 303
+88 235
+88 280
+89 245
+89 247
+90 170
+90 192
+90 319
+90 320
+90 329
+91 185
+91 283
+91 318
+91 321
+92 186
+92 208
+92 268
+93 168
+93 208
+93 256
+93 340
+94 170
+94 174
+94 181
+94 219
+94 236
+94 261
+94 293
+95 239
+95 305
+96 201
+96 229
+96 322
+97 221
+97 235
+98 180
+98 216
+98 217
+98 247
+98 255
+98 279
+98 287
+98 317
+98 328
+99 229
+99 322
+100 211
+100 266
+101 299
+101 306
+101 316
+102 238
+102 276
+103 205
+103 234
+103 332
+104 178
+104 226
+104 227
+104 239
+104 248
+104 249
+104 260
+104 330
+105 171
+105 218
+105 256
+105 322
+106 187
+106 224
+106 230
+106 241
+106 245
+106 282
+106 298
+106 306
+106 316
+106 338
+107 228
+107 233
+107 265
+108 175
+108 237
+108 251
+109 214
+109 287
+109 292
+109 325
+110 278
+110 294
+110 300
+111 220
+111 240
+111 296
+112 240
+112 296
+113 183
+113 189
+113 197
+113 242
+113 275
+113 323
+114 202
+114 221
+114 235
+114 280
+115 286
+115 290
+115 291
+116 286
+116 290
+116 291
+117 220
+117 240
+117 272
+118 287
+118 316
+119 211
+119 254
+119 313
+120 179
+120 223
+120 239
+120 248
+120 249
+120 297
+120 305
+121 186
+121 195
+121 208
+121 258
+121 340
+122 176
+122 210
+122 212
+122 231
+122 274
+122 278
+122 294
+122 300
+123 215
+123 242
+124 254
+124 273
+125 171
+125 186
+125 256
+125 258
+125 268
+126 197
+126 242
+127 191
+127 227
+127 260
+127 288
+128 177
+128 188
+128 237
+129 218
+129 225
+129 229
+129 262
+129 322
+130 167
+130 213
+131 195
+131 256
+132 247
+132 316
+133 288
+133 339
+134 167
+134 228
+134 240
+134 272
+134 312
+135 226
+135 239
+135 301
+135 305
+135 336
+136 184
+136 199
+136 252
+136 273
+136 284
+136 307
+137 193
+137 221
+137 235
+137 315
+138 169
+138 196
+138 200
+138 331
+139 190
+139 280
+140 175
+140 237
+141 252
+141 254
+141 273
+142 180
+142 182
+142 203
+142 206
+142 209
+142 217
+142 255
+142 279
+142 292
+142 310
+142 325
+142 328
+142 335
+143 182
+143 209
+144 170
+144 178
+144 181
+144 330
+145 166
+145 173
+145 211
+145 238
+145 266
+145 271
+145 289
+145 311
+146 196
+146 207
+146 296
+146 303
+147 207
+147 232
+147 296
+148 189
+148 283
+148 321
+148 323
+149 184
+149 199
+149 284
+149 307
+150 183
+150 189
+150 275
+150 283
+151 171
+151 195
+151 258
+152 170
+152 178
+152 257
+152 260
+152 288
+152 339
+153 196
+153 210
+153 303
+153 331
+154 172
+154 184
+154 193
+154 194
+154 235
+154 284
+154 295
+154 314
+154 315
+154 326
+155 171
+155 201
+155 218
+155 290
+156 254
+156 273
+157 205
+157 234
+158 167
+158 263
+158 272
+158 312
+159 204
+159 248
+159 281
+159 308
+160 278
+160 300
+161 177
+161 217
+161 250
+161 317
+162 171
+162 195
+162 201
+162 285
+162 322
+163 190
+163 222
+163 306
+164 226
+164 227
+164 320
+165 191
+165 257
+165 288
+165 339
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/14.gr b/src/githubtests/medium_test_set/instances/14.gr
new file mode 100644
index 0000000..2efda83
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/14.gr
@@ -0,0 +1,1101 @@
+p ocr 288 286 1100
+1 364
+1 402
+1 525
+2 342
+2 386
+2 406
+2 415
+2 456
+2 466
+2 503
+3 358
+3 371
+3 468
+3 472
+3 534
+4 349
+4 380
+4 427
+4 556
+5 327
+5 329
+5 342
+5 413
+5 458
+5 503
+6 316
+6 510
+6 563
+7 357
+7 436
+7 447
+7 554
+8 289
+8 505
+8 526
+8 565
+8 566
+9 311
+9 372
+9 469
+10 421
+10 533
+10 543
+11 289
+11 296
+11 303
+11 308
+11 403
+11 438
+11 488
+11 505
+11 512
+11 566
+12 427
+12 431
+12 448
+13 319
+13 341
+13 364
+14 292
+14 313
+14 464
+15 295
+15 305
+15 345
+15 398
+15 414
+15 542
+16 379
+16 395
+16 404
+16 405
+16 432
+16 450
+16 493
+16 545
+16 560
+16 573
+17 359
+17 412
+17 413
+17 523
+18 314
+18 321
+18 412
+19 333
+19 479
+20 368
+20 371
+21 335
+21 432
+21 450
+21 467
+21 493
+21 545
+21 560
+21 562
+21 573
+22 345
+22 542
+23 381
+23 391
+23 520
+24 429
+24 515
+25 304
+25 322
+25 409
+25 459
+26 358
+26 442
+26 472
+26 539
+27 313
+27 464
+28 291
+28 369
+28 388
+28 423
+28 462
+28 474
+29 327
+29 486
+30 402
+30 525
+31 313
+31 390
+31 400
+31 470
+31 503
+32 312
+32 365
+32 447
+33 319
+33 341
+33 497
+34 299
+34 343
+34 362
+34 382
+34 401
+34 420
+34 508
+34 527
+34 541
+35 483
+35 527
+35 541
+36 307
+36 384
+36 452
+36 487
+37 303
+37 416
+37 549
+38 330
+38 334
+38 349
+38 427
+38 444
+38 448
+39 310
+39 563
+40 326
+40 394
+40 448
+40 546
+41 323
+41 501
+42 397
+42 413
+43 416
+43 418
+43 421
+43 449
+43 507
+44 397
+44 443
+45 303
+45 416
+46 305
+46 361
+46 398
+47 297
+47 370
+47 490
+47 491
+47 520
+48 352
+49 326
+49 429
+49 498
+49 515
+49 538
+50 304
+50 322
+50 453
+50 481
+50 552
+51 377
+51 409
+51 500
+52 345
+52 542
+53 309
+53 344
+53 387
+53 495
+53 540
+53 572
+54 364
+55 369
+55 388
+55 461
+55 474
+55 501
+56 354
+56 453
+56 552
+57 362
+57 508
+58 319
+58 497
+59 376
+59 403
+59 505
+59 565
+60 394
+60 512
+61 303
+61 416
+62 452
+62 487
+62 535
+63 388
+63 461
+63 474
+64 310
+64 551
+65 296
+65 383
+65 554
+65 566
+66 381
+66 520
+67 293
+67 320
+67 332
+67 351
+67 360
+67 377
+67 409
+67 417
+67 489
+67 500
+68 302
+68 335
+68 379
+68 389
+68 396
+68 425
+68 430
+68 432
+69 339
+69 357
+69 411
+69 436
+69 530
+70 326
+70 448
+71 290
+71 306
+71 368
+71 391
+71 482
+71 490
+71 520
+72 381
+72 391
+72 426
+72 480
+73 336
+73 461
+74 381
+74 520
+75 310
+75 360
+76 397
+76 413
+76 424
+76 440
+76 473
+77 341
+77 364
+78 325
+78 467
+78 544
+78 562
+79 353
+79 366
+79 367
+79 467
+79 499
+79 544
+80 375
+80 385
+80 485
+80 557
+81 368
+81 531
+82 364
+82 525
+83 349
+83 395
+83 404
+83 405
+83 444
+83 514
+83 518
+83 555
+84 343
+84 362
+84 453
+85 292
+85 313
+85 373
+85 445
+86 303
+86 408
+86 431
+86 448
+86 512
+86 546
+87 399
+87 435
+88 306
+88 368
+88 381
+89 311
+89 392
+89 428
+90 320
+90 360
+90 417
+91 421
+91 507
+92 297
+92 318
+92 433
+92 522
+92 537
+93 323
+93 501
+94 348
+94 353
+94 429
+94 498
+94 538
+95 347
+95 397
+95 400
+95 445
+96 290
+96 297
+96 306
+96 475
+96 494
+96 522
+96 548
+97 311
+97 372
+98 338
+98 516
+98 550
+99 421
+99 533
+100 294
+100 375
+100 385
+100 535
+100 557
+101 402
+102 413
+102 532
+103 318
+103 350
+103 433
+103 553
+104 329
+104 410
+105 400
+105 486
+106 339
+106 368
+106 371
+106 391
+106 472
+106 480
+106 482
+106 519
+106 539
+107 379
+107 396
+107 405
+108 312
+108 442
+109 309
+109 344
+109 411
+109 436
+109 530
+109 547
+109 554
+110 302
+110 430
+111 305
+111 380
+111 556
+112 314
+112 321
+112 443
+112 446
+112 454
+112 471
+112 486
+112 517
+112 532
+113 310
+114 447
+114 554
+115 308
+115 340
+115 376
+115 438
+116 303
+116 416
+117 467
+117 514
+117 518
+117 528
+118 327
+118 486
+118 532
+119 397
+119 400
+119 443
+120 382
+120 433
+120 483
+120 506
+120 527
+120 541
+121 303
+121 416
+121 418
+121 419
+121 465
+121 488
+122 315
+122 465
+122 504
+123 317
+123 502
+123 533
+123 543
+123 564
+124 431
+124 448
+125 421
+125 507
+126 376
+126 403
+126 438
+127 381
+127 468
+127 477
+128 554
+128 566
+129 329
+129 342
+129 386
+129 406
+129 410
+129 458
+130 298
+130 311
+130 392
+130 561
+131 298
+131 372
+131 378
+131 549
+131 561
+132 293
+132 510
+133 333
+133 375
+133 479
+133 485
+133 557
+134 359
+134 412
+134 473
+134 496
+134 523
+135 437
+135 442
+135 539
+136 510
+137 317
+137 439
+138 506
+138 541
+139 413
+139 532
+140 397
+140 424
+140 443
+141 339
+141 353
+141 387
+142 304
+142 337
+142 354
+142 362
+142 420
+142 453
+142 459
+142 463
+142 481
+142 508
+142 552
+142 574
+143 353
+143 526
+143 565
+144 320
+144 356
+144 484
+144 500
+144 510
+144 559
+144 569
+145 305
+145 323
+145 369
+145 427
+145 431
+145 501
+145 542
+145 556
+146 314
+146 412
+146 496
+147 312
+147 315
+147 419
+147 465
+147 513
+148 318
+148 350
+148 475
+148 553
+149 336
+149 388
+149 461
+150 462
+150 474
+150 501
+151 323
+151 331
+151 392
+151 428
+151 501
+152 394
+152 512
+152 546
+153 425
+153 426
+153 477
+154 294
+154 385
+154 487
+154 535
+155 317
+155 393
+155 439
+156 307
+156 384
+156 402
+156 422
+157 419
+157 513
+158 290
+158 297
+158 318
+158 475
+158 490
+158 537
+159 305
+159 361
+159 380
+160 317
+160 407
+160 439
+160 492
+160 570
+161 341
+161 364
+162 302
+162 312
+162 421
+162 425
+162 468
+162 477
+162 513
+163 345
+163 542
+164 421
+164 507
+164 543
+164 564
+165 344
+165 526
+165 547
+165 566
+166 313
+166 390
+166 464
+166 470
+167 312
+167 358
+167 442
+167 468
+167 534
+168 311
+168 323
+168 428
+168 542
+169 324
+169 326
+169 394
+169 538
+170 317
+170 349
+170 393
+170 405
+171 502
+171 507
+171 564
+172 381
+172 426
+172 477
+173 352
+173 455
+174 409
+174 459
+174 574
+175 302
+175 407
+175 421
+175 439
+175 492
+175 533
+175 570
+176 312
+176 365
+176 437
+176 442
+176 567
+177 318
+177 433
+178 551
+179 331
+179 462
+179 501
+180 368
+180 381
+180 531
+181 418
+181 419
+181 421
+181 513
+182 329
+182 347
+182 413
+183 303
+183 416
+184 319
+184 341
+184 497
+185 322
+185 377
+186 338
+186 352
+186 455
+187 339
+187 437
+187 539
+187 567
+188 326
+188 330
+188 448
+189 526
+189 566
+190 320
+191 293
+191 377
+191 500
+191 559
+192 343
+192 420
+192 453
+193 354
+193 362
+193 453
+194 372
+194 469
+194 502
+194 524
+194 529
+195 353
+195 429
+195 467
+195 568
+196 314
+196 333
+196 471
+196 479
+196 496
+196 517
+197 424
+197 440
+197 443
+197 446
+197 454
+197 496
+197 517
+198 338
+198 441
+198 516
+198 536
+199 302
+199 430
+199 439
+200 377
+200 409
+201 309
+201 339
+201 387
+201 495
+201 530
+201 540
+201 572
+202 388
+202 461
+203 336
+203 374
+203 388
+203 461
+204 336
+204 374
+205 300
+205 350
+205 433
+205 475
+205 478
+205 522
+206 313
+206 400
+206 445
+207 406
+207 410
+207 415
+207 456
+207 464
+207 466
+207 521
+208 336
+208 374
+208 461
+209 298
+209 311
+209 372
+210 338
+210 441
+210 516
+210 536
+210 550
+211 292
+211 374
+211 410
+211 464
+211 521
+212 373
+212 445
+212 451
+213 347
+213 397
+213 413
+214 308
+214 340
+214 509
+215 435
+215 551
+216 483
+216 506
+216 541
+217 368
+217 371
+217 531
+218 339
+218 353
+218 366
+218 367
+218 480
+218 499
+218 519
+219 293
+219 310
+219 316
+219 332
+219 351
+219 360
+219 489
+219 510
+219 563
+220 467
+220 544
+221 328
+221 340
+221 348
+221 353
+221 376
+221 509
+221 565
+222 339
+222 357
+222 365
+222 447
+222 567
+223 372
+223 378
+223 416
+223 449
+223 507
+223 549
+224 290
+224 306
+225 345
+225 355
+225 363
+225 502
+225 524
+226 297
+226 491
+226 494
+227 325
+227 367
+227 480
+227 544
+227 562
+228 300
+228 350
+228 433
+228 478
+228 506
+229 344
+229 387
+229 526
+230 460
+230 466
+230 470
+230 476
+230 503
+231 336
+231 374
+232 339
+232 387
+233 317
+233 349
+233 380
+234 352
+234 497
+235 291
+235 331
+235 392
+235 408
+235 431
+235 462
+235 561
+236 440
+236 473
+236 496
+237 327
+237 413
+237 532
+238 367
+238 480
+239 352
+239 497
+240 353
+240 387
+240 526
+241 467
+241 518
+241 545
+241 555
+242 395
+242 545
+242 555
+243 547
+243 554
+243 566
+244 293
+244 510
+245 303
+245 408
+245 561
+246 291
+246 369
+246 423
+246 431
+247 301
+247 336
+247 346
+247 374
+247 410
+247 457
+247 571
+248 293
+248 356
+248 484
+248 510
+248 569
+249 302
+249 439
+250 307
+250 384
+250 402
+250 422
+251 317
+251 533
+251 570
+252 293
+252 356
+252 559
+253 298
+253 372
+254 400
+254 443
+254 486
+255 394
+255 512
+256 429
+256 467
+256 515
+256 528
+256 558
+256 568
+257 292
+257 301
+257 336
+257 346
+257 373
+257 451
+258 301
+258 329
+258 410
+258 451
+258 457
+258 511
+258 571
+259 413
+259 473
+259 523
+260 326
+260 330
+260 334
+260 444
+260 514
+260 515
+260 528
+260 558
+261 296
+261 383
+261 465
+261 488
+261 504
+262 370
+262 381
+262 491
+262 520
+263 322
+263 337
+263 377
+263 409
+263 453
+263 463
+263 574
+264 393
+264 396
+264 405
+264 430
+264 439
+265 372
+265 502
+265 507
+266 329
+266 347
+266 445
+266 451
+266 511
+267 335
+267 389
+267 425
+267 426
+267 480
+267 562
+268 327
+268 400
+268 486
+268 503
+269 373
+269 445
+270 371
+270 381
+270 468
+270 531
+271 308
+271 434
+271 509
+272 292
+272 336
+272 374
+273 308
+273 324
+273 394
+273 434
+273 512
+274 322
+274 377
+274 409
+275 311
+275 345
+275 355
+275 363
+275 469
+275 524
+275 529
+275 542
+276 383
+276 447
+276 504
+276 554
+277 311
+277 542
+278 303
+278 549
+278 561
+279 460
+279 464
+279 466
+279 470
+279 476
+280 295
+280 317
+280 345
+280 361
+280 380
+280 398
+280 414
+280 502
+281 324
+281 328
+281 348
+281 434
+281 509
+281 538
+282 312
+282 315
+282 447
+282 504
+283 409
+283 500
+284 306
+284 381
+284 491
+284 494
+284 548
+285 321
+285 412
+285 413
+285 532
+286 310
+286 360
+287 377
+287 500
+288 434
+288 509
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/15.gr b/src/githubtests/medium_test_set/instances/15.gr
new file mode 100644
index 0000000..ade6c7b
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/15.gr
@@ -0,0 +1,163 @@
+p ocr 54 54 162
+1 56
+2 88
+3 59
+4 58
+5 69
+5 98
+6 62
+6 73
+7 71
+8 83
+9 60
+10 95
+11 75
+12 70
+13 57
+14 76
+15 93
+16 89
+17 58
+17 87
+19 68
+19 105
+20 74
+20 90
+21 103
+22 79
+22 91
+23 78
+24 78
+24 108
+25 55
+25 95
+26 61
+26 65
+26 98
+27 90
+28 62
+29 91
+30 57
+30 72
+31 83
+31 101
+32 56
+32 99
+33 100
+34 92
+35 59
+35 86
+36 85
+36 88
+37 67
+37 92
+38 66
+38 103
+39 107
+40 82
+41 60
+41 77
+42 82
+42 94
+43 75
+43 97
+44 71
+44 96
+45 70
+45 80
+46 100
+46 102
+47 63
+47 89
+48 64
+48 76
+49 84
+49 104
+50 104
+51 68
+52 81
+52 107
+53 69
+54 93
+54 106
+34 55
+37 55
+12 56
+14 57
+53 58
+39 59
+29 60
+18 61
+50 61
+15 62
+6 63
+28 63
+11 64
+43 64
+49 65
+50 65
+20 66
+27 66
+9 67
+41 67
+2 68
+18 69
+23 70
+10 71
+14 72
+48 72
+15 73
+54 73
+16 74
+47 74
+51 75
+11 76
+22 77
+29 77
+40 78
+13 79
+30 79
+23 80
+24 80
+33 81
+46 81
+7 82
+4 83
+3 84
+35 84
+21 85
+38 85
+39 86
+52 86
+5 87
+53 87
+21 88
+28 89
+16 90
+13 91
+9 92
+8 93
+7 94
+44 94
+34 95
+10 96
+25 96
+19 97
+51 97
+18 98
+12 99
+45 99
+1 100
+4 101
+17 101
+1 102
+32 102
+27 103
+3 104
+2 105
+36 105
+8 106
+31 106
+33 107
+40 108
+42 108
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/16.gr b/src/githubtests/medium_test_set/instances/16.gr
new file mode 100644
index 0000000..e8989a5
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/16.gr
@@ -0,0 +1,259 @@
+p ocr 86 86 258
+1 143
+1 164
+2 135
+2 163
+3 123
+3 153
+4 150
+4 151
+5 146
+5 162
+6 157
+7 138
+7 172
+8 159
+9 145
+9 156
+10 89
+11 163
+12 92
+13 134
+13 158
+14 138
+15 117
+15 149
+16 122
+17 102
+17 103
+18 109
+18 140
+19 151
+20 129
+20 154
+22 111
+22 112
+23 129
+24 110
+24 126
+25 146
+26 131
+26 157
+27 152
+28 98
+28 122
+29 119
+30 156
+31 133
+32 121
+33 121
+33 141
+34 104
+35 102
+36 136
+37 87
+37 125
+38 165
+39 155
+39 169
+40 92
+40 118
+41 91
+41 94
+42 90
+42 113
+43 153
+44 147
+44 152
+45 117
+46 158
+47 113
+48 116
+48 127
+49 88
+49 170
+50 105
+51 95
+51 114
+52 106
+53 115
+53 130
+54 107
+54 124
+55 106
+55 139
+56 112
+57 108
+57 137
+58 168
+59 94
+60 166
+61 170
+62 119
+62 161
+63 99
+63 165
+64 89
+64 128
+65 125
+66 148
+67 93
+67 141
+67 142
+68 107
+69 109
+70 167
+70 168
+71 100
+71 136
+72 95
+73 127
+74 101
+74 159
+75 169
+76 130
+77 148
+77 160
+78 96
+79 143
+80 104
+80 120
+81 133
+81 144
+82 105
+82 171
+83 97
+83 166
+84 126
+85 108
+86 96
+86 132
+18 87
+69 87
+13 88
+46 88
+78 89
+48 90
+73 90
+36 91
+71 91
+45 92
+21 93
+58 93
+36 94
+11 95
+29 96
+1 97
+79 97
+53 98
+76 98
+24 99
+84 99
+39 100
+75 100
+52 101
+55 101
+34 102
+34 103
+80 103
+61 104
+19 105
+25 106
+60 107
+23 108
+35 109
+54 110
+68 110
+6 111
+26 111
+6 112
+73 113
+2 114
+11 114
+9 115
+30 115
+50 116
+82 116
+43 117
+15 118
+45 118
+65 119
+49 120
+61 120
+21 121
+76 122
+10 123
+64 123
+60 124
+83 124
+69 125
+68 126
+50 127
+78 128
+86 128
+31 129
+30 130
+38 131
+63 131
+29 132
+62 132
+72 133
+27 134
+44 134
+66 135
+77 135
+75 136
+20 137
+23 137
+47 138
+5 139
+25 139
+17 140
+35 140
+21 141
+58 142
+70 142
+32 143
+51 144
+72 144
+41 145
+59 145
+16 146
+22 147
+56 147
+14 148
+3 149
+43 149
+8 150
+74 150
+8 151
+56 152
+10 153
+31 154
+81 154
+12 155
+40 155
+59 156
+38 157
+27 158
+52 159
+7 160
+14 160
+37 161
+65 161
+16 162
+28 162
+66 163
+32 164
+33 164
+84 165
+79 166
+57 167
+85 167
+85 168
+12 169
+46 170
+4 171
+19 171
+42 172
+47 172
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/17.gr b/src/githubtests/medium_test_set/instances/17.gr
new file mode 100644
index 0000000..fffa421
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/17.gr
@@ -0,0 +1,343 @@
+p ocr 114 114 342
+1 190
+2 154
+2 167
+3 193
+4 224
+5 212
+6 128
+7 171
+8 133
+8 201
+9 177
+10 183
+11 129
+11 163
+12 201
+13 156
+13 206
+14 122
+14 208
+15 139
+15 177
+16 176
+17 165
+17 173
+18 203
+20 160
+20 223
+21 162
+21 170
+22 147
+22 183
+23 211
+23 221
+24 128
+24 138
+25 187
+25 189
+26 175
+26 202
+27 222
+28 132
+28 185
+29 140
+30 159
+30 188
+31 191
+32 185
+33 172
+33 176
+34 168
+34 186
+35 227
+36 118
+37 156
+38 164
+38 225
+39 208
+40 155
+41 187
+42 125
+43 174
+43 198
+44 115
+44 116
+44 145
+45 228
+46 144
+46 181
+47 121
+47 178
+48 119
+49 140
+49 184
+50 143
+51 124
+51 126
+52 159
+53 181
+54 121
+55 131
+55 196
+56 143
+56 218
+57 186
+58 213
+59 194
+59 222
+60 149
+60 158
+61 134
+61 195
+62 142
+62 193
+63 135
+63 146
+64 167
+65 161
+66 141
+66 151
+67 157
+68 124
+69 162
+70 161
+70 197
+71 120
+72 151
+73 204
+73 224
+74 118
+74 207
+75 150
+75 157
+76 165
+77 199
+77 205
+78 209
+79 180
+80 117
+80 190
+81 152
+81 192
+82 225
+83 146
+84 169
+84 214
+85 119
+85 130
+86 127
+87 153
+87 213
+88 129
+89 175
+90 210
+91 220
+91 228
+92 196
+93 182
+93 210
+94 180
+94 215
+95 127
+95 148
+96 171
+96 226
+97 174
+98 120
+98 217
+99 212
+99 216
+100 191
+100 200
+101 205
+102 166
+103 125
+103 219
+104 221
+105 134
+106 192
+107 136
+107 209
+108 214
+109 160
+110 137
+110 227
+111 149
+112 116
+112 155
+113 123
+113 203
+114 166
+114 179
+19 115
+101 115
+19 116
+36 117
+74 117
+35 118
+83 119
+39 120
+68 121
+47 122
+54 122
+102 123
+114 123
+3 124
+27 125
+3 126
+62 126
+40 127
+67 128
+104 129
+63 130
+83 130
+5 131
+99 131
+20 132
+109 132
+18 133
+113 133
+16 134
+46 135
+53 135
+29 136
+49 136
+58 137
+87 137
+67 138
+75 138
+50 139
+56 139
+32 140
+25 141
+41 141
+9 142
+15 142
+31 143
+7 144
+96 144
+77 145
+101 145
+53 146
+21 147
+69 147
+40 148
+112 148
+86 149
+55 150
+92 150
+41 151
+42 152
+103 152
+71 153
+98 153
+45 154
+91 154
+19 155
+97 156
+92 157
+86 158
+95 158
+111 159
+88 160
+108 161
+6 162
+23 163
+104 163
+66 164
+72 164
+4 165
+78 166
+45 167
+13 168
+37 168
+1 169
+80 169
+6 170
+24 170
+89 171
+17 172
+76 172
+4 173
+73 173
+105 174
+90 175
+76 176
+50 177
+51 178
+68 178
+78 179
+107 179
+65 180
+7 181
+38 182
+82 182
+69 183
+28 184
+32 184
+109 185
+37 186
+79 187
+60 188
+111 188
+79 189
+94 189
+36 190
+10 191
+42 192
+9 193
+30 194
+52 194
+16 195
+33 195
+5 196
+84 197
+108 197
+61 198
+105 198
+34 199
+57 199
+10 200
+22 200
+18 201
+90 202
+93 202
+102 203
+48 204
+85 204
+57 205
+43 206
+97 206
+35 207
+110 207
+54 208
+29 209
+82 210
+81 211
+106 211
+64 212
+71 213
+1 214
+65 215
+70 215
+2 216
+64 216
+14 217
+39 217
+31 218
+100 218
+27 219
+59 219
+8 220
+12 220
+106 221
+52 222
+11 223
+88 223
+48 224
+72 225
+26 226
+89 226
+58 227
+12 228
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/18.gr b/src/githubtests/medium_test_set/instances/18.gr
new file mode 100644
index 0000000..f33a937
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/18.gr
@@ -0,0 +1,402 @@
+p ocr 143 123 401
+1 144
+1 145
+1 146
+1 151
+1 161
+1 162
+1 168
+1 174
+1 178
+1 179
+1 185
+2 144
+2 145
+2 147
+2 148
+2 150
+2 152
+2 158
+2 170
+2 171
+2 173
+2 174
+3 144
+3 148
+3 154
+3 171
+3 175
+4 144
+4 146
+4 147
+4 149
+4 153
+4 155
+4 163
+4 174
+4 179
+4 181
+5 144
+5 154
+5 171
+6 144
+7 144
+7 147
+7 159
+8 144
+8 146
+8 151
+8 156
+8 157
+8 160
+8 162
+8 164
+8 172
+8 177
+8 184
+10 144
+10 147
+10 153
+10 165
+10 167
+11 154
+12 154
+13 144
+13 146
+13 155
+14 144
+14 145
+14 161
+14 178
+14 185
+15 144
+15 148
+16 144
+16 150
+17 146
+17 151
+17 184
+18 144
+18 145
+19 144
+19 145
+20 144
+20 148
+20 152
+21 154
+22 144
+22 148
+23 147
+23 159
+23 166
+24 144
+25 151
+25 156
+25 164
+26 144
+26 149
+27 148
+27 152
+28 146
+28 184
+29 144
+30 151
+30 156
+30 160
+31 144
+31 148
+31 175
+32 161
+33 152
+34 144
+35 174
+36 154
+37 178
+37 185
+38 144
+39 145
+40 144
+40 145
+41 144
+42 144
+42 161
+44 144
+44 149
+45 151
+45 177
+46 154
+47 144
+47 147
+48 144
+48 147
+48 185
+48 189
+48 190
+48 195
+48 200
+48 205
+48 206
+48 207
+48 208
+49 185
+49 188
+49 191
+49 195
+49 197
+49 198
+49 200
+50 185
+50 186
+50 187
+50 188
+50 191
+50 192
+50 193
+50 196
+50 197
+50 199
+50 200
+50 201
+50 202
+50 203
+50 208
+51 185
+51 186
+51 187
+51 189
+51 204
+52 185
+52 199
+54 186
+55 185
+55 191
+55 209
+57 185
+57 189
+57 194
+58 189
+58 194
+59 187
+59 204
+60 188
+61 185
+61 190
+62 185
+62 189
+62 190
+63 185
+63 190
+64 185
+64 206
+65 200
+66 185
+66 209
+67 185
+67 188
+69 185
+69 199
+70 201
+70 203
+71 201
+72 185
+73 185
+73 186
+74 185
+74 188
+75 185
+75 209
+76 185
+76 209
+78 185
+79 185
+80 185
+80 208
+81 201
+82 186
+83 195
+83 198
+84 206
+85 187
+86 185
+86 206
+87 185
+87 189
+88 185
+88 189
+88 209
+88 210
+88 211
+88 213
+88 214
+88 215
+88 218
+89 209
+89 210
+89 211
+89 212
+89 213
+89 214
+89 216
+90 209
+90 210
+91 209
+91 211
+92 209
+92 211
+92 218
+93 209
+93 212
+94 210
+94 216
+94 217
+95 211
+96 209
+96 212
+97 210
+97 216
+98 211
+98 214
+99 210
+99 216
+100 211
+100 214
+100 218
+100 219
+100 220
+100 221
+100 222
+100 225
+100 227
+100 228
+100 229
+100 232
+100 234
+100 236
+100 239
+100 243
+100 246
+100 247
+100 248
+100 251
+100 252
+100 253
+100 255
+100 256
+100 257
+100 260
+100 264
+101 218
+101 219
+101 220
+101 222
+101 223
+101 225
+101 232
+101 233
+101 246
+101 259
+101 263
+102 218
+102 222
+102 239
+102 243
+102 247
+102 255
+102 257
+102 258
+102 264
+103 219
+103 221
+104 219
+104 221
+105 218
+105 220
+105 226
+105 227
+105 228
+105 234
+105 235
+105 245
+105 252
+105 254
+105 261
+106 219
+107 222
+107 223
+107 233
+108 222
+108 236
+108 251
+108 253
+109 219
+109 221
+111 218
+111 219
+111 224
+112 218
+112 220
+112 231
+112 237
+112 249
+112 250
+113 218
+113 237
+114 222
+114 239
+114 247
+115 218
+115 227
+115 235
+116 218
+116 220
+116 249
+116 250
+116 262
+117 219
+117 221
+117 230
+117 238
+118 222
+119 219
+119 224
+119 242
+120 218
+120 227
+121 222
+122 218
+122 227
+122 244
+123 219
+123 221
+124 223
+124 233
+125 218
+125 219
+125 224
+126 222
+127 218
+127 219
+128 222
+129 219
+129 259
+130 239
+131 218
+131 221
+131 224
+132 232
+132 246
+133 218
+133 249
+134 252
+135 222
+135 236
+136 218
+138 218
+138 220
+138 265
+139 222
+139 236
+140 219
+141 219
+143 236
+143 251
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/19.gr b/src/githubtests/medium_test_set/instances/19.gr
new file mode 100644
index 0000000..e7efa9c
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/19.gr
@@ -0,0 +1,451 @@
+p ocr 145 139 450
+1 146
+1 147
+1 148
+1 157
+1 158
+1 159
+1 160
+1 161
+1 162
+1 166
+1 182
+1 183
+1 184
+1 195
+2 146
+2 147
+2 149
+2 150
+2 152
+2 153
+2 154
+2 155
+2 163
+2 165
+2 166
+2 179
+2 180
+2 181
+2 185
+2 192
+2 193
+2 194
+3 146
+3 148
+3 149
+3 151
+3 157
+3 160
+3 162
+3 164
+3 168
+3 171
+3 177
+3 181
+3 187
+3 191
+4 147
+4 148
+4 161
+4 166
+4 172
+4 175
+4 182
+4 190
+4 195
+5 146
+5 152
+5 153
+5 154
+5 163
+5 165
+5 170
+5 189
+5 191
+5 192
+6 146
+6 150
+6 167
+6 186
+6 189
+7 146
+7 150
+7 167
+7 180
+8 146
+9 189
+10 147
+10 169
+10 174
+10 178
+10 188
+12 147
+12 158
+12 169
+12 178
+13 157
+13 160
+13 184
+13 187
+14 149
+15 152
+15 165
+16 146
+16 149
+16 151
+16 156
+17 146
+17 191
+18 146
+18 151
+19 148
+19 168
+19 171
+19 177
+19 190
+20 152
+20 155
+20 193
+21 185
+22 152
+22 154
+22 192
+23 148
+23 168
+24 149
+25 147
+25 188
+27 147
+27 172
+27 195
+29 146
+29 164
+31 150
+32 148
+33 147
+33 159
+33 173
+33 183
+34 148
+35 185
+38 160
+40 147
+40 174
+41 155
+41 179
+42 184
+43 195
+43 196
+43 197
+43 199
+43 201
+43 202
+43 204
+43 206
+44 195
+44 196
+44 201
+44 206
+44 209
+45 195
+45 197
+46 196
+46 198
+46 199
+46 203
+46 204
+46 206
+46 207
+46 210
+47 195
+48 196
+48 203
+48 209
+49 196
+50 195
+50 197
+50 200
+51 196
+51 198
+51 199
+51 207
+51 208
+51 210
+52 201
+52 204
+53 198
+53 202
+53 205
+53 207
+53 208
+55 202
+55 205
+55 208
+56 196
+57 202
+57 205
+58 206
+59 195
+60 198
+61 207
+61 210
+61 211
+62 210
+62 211
+62 213
+62 214
+62 215
+62 216
+62 217
+62 233
+62 234
+62 236
+63 210
+63 211
+63 212
+63 213
+63 214
+63 216
+63 217
+63 230
+63 236
+63 239
+64 211
+64 212
+64 230
+64 239
+64 244
+65 213
+65 214
+65 215
+65 218
+65 219
+65 220
+65 223
+65 224
+65 225
+65 226
+65 227
+65 229
+65 232
+65 237
+65 240
+66 213
+66 215
+67 213
+67 214
+67 218
+67 219
+67 220
+67 224
+67 229
+67 232
+67 235
+67 237
+67 240
+67 242
+68 213
+68 219
+69 213
+69 214
+69 223
+69 225
+70 213
+70 219
+71 213
+72 213
+73 211
+73 212
+73 241
+74 219
+75 213
+76 211
+76 244
+77 213
+77 215
+78 220
+78 224
+79 213
+79 215
+79 221
+80 214
+80 215
+80 221
+81 214
+81 215
+81 233
+82 214
+82 235
+83 213
+83 219
+83 231
+83 238
+84 230
+85 213
+85 214
+85 221
+87 213
+87 214
+87 215
+88 213
+88 219
+89 211
+90 213
+90 215
+92 215
+92 234
+93 213
+94 223
+94 225
+95 214
+95 233
+96 219
+97 240
+98 212
+99 223
+99 225
+100 214
+101 220
+101 229
+102 213
+102 219
+103 211
+103 212
+103 244
+103 246
+103 250
+104 244
+104 245
+104 246
+104 248
+104 250
+104 255
+104 256
+104 260
+104 261
+104 262
+105 244
+105 245
+105 247
+105 249
+105 251
+105 253
+105 256
+105 257
+105 258
+105 259
+105 263
+106 244
+106 245
+106 247
+106 253
+106 257
+106 259
+106 263
+107 244
+108 244
+108 246
+108 255
+109 250
+109 260
+110 244
+110 256
+110 262
+111 244
+111 252
+111 254
+112 250
+113 244
+113 256
+114 244
+114 245
+114 252
+115 244
+116 246
+116 261
+117 259
+117 263
+118 252
+118 254
+119 246
+119 255
+121 246
+122 256
+123 250
+124 262
+125 245
+126 250
+126 260
+127 245
+127 252
+127 254
+128 250
+129 250
+130 262
+131 244
+131 245
+131 263
+131 264
+131 266
+131 267
+131 269
+131 270
+131 271
+131 274
+131 275
+131 276
+131 281
+131 284
+132 263
+132 264
+132 265
+132 266
+132 267
+132 270
+132 272
+132 273
+132 274
+132 276
+132 277
+132 278
+132 279
+132 280
+133 263
+133 265
+133 277
+134 264
+134 266
+134 268
+134 269
+134 272
+134 278
+134 281
+134 282
+134 284
+135 263
+135 264
+135 273
+135 279
+136 263
+136 264
+137 271
+137 277
+137 280
+137 283
+138 263
+138 264
+139 266
+139 281
+140 271
+140 280
+140 283
+141 264
+141 268
+141 275
+141 284
+142 263
+142 264
+143 271
+144 270
+144 276
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/2.gr b/src/githubtests/medium_test_set/instances/2.gr
new file mode 100644
index 0000000..eb21e1b
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/2.gr
@@ -0,0 +1,678 @@
+p ocr 351 327 677
+1 379
+1 655
+2 379
+3 379
+4 379
+5 379
+6 379
+7 379
+8 379
+9 379
+10 379
+11 379
+12 379
+13 379
+14 379
+15 379
+16 379
+17 379
+18 379
+19 379
+20 379
+21 379
+22 379
+23 379
+24 379
+25 379
+26 379
+27 379
+28 379
+29 379
+30 379
+31 379
+32 379
+33 379
+34 379
+35 379
+36 379
+37 379
+38 379
+39 379
+40 379
+41 379
+42 379
+43 379
+44 379
+45 379
+46 379
+47 379
+48 379
+49 379
+50 379
+51 379
+52 379
+53 379
+54 379
+55 379
+56 379
+57 379
+58 379
+59 379
+60 379
+61 379
+62 379
+63 379
+64 379
+65 379
+66 379
+67 379
+68 379
+69 379
+70 379
+71 379
+72 379
+73 379
+74 379
+75 379
+76 379
+77 379
+78 379
+79 379
+80 379
+81 379
+82 379
+83 379
+84 379
+85 379
+86 379
+87 379
+88 379
+89 379
+90 379
+91 379
+92 379
+93 379
+94 379
+95 379
+96 379
+97 379
+98 379
+99 379
+100 379
+101 379
+102 379
+103 379
+104 379
+105 379
+106 379
+107 379
+108 379
+109 379
+110 379
+111 379
+112 379
+113 379
+114 379
+115 379
+116 379
+117 379
+118 379
+119 379
+120 379
+121 379
+122 379
+123 379
+124 379
+125 379
+126 379
+127 379
+128 379
+129 379
+130 379
+131 379
+132 379
+133 379
+134 379
+135 379
+136 379
+137 379
+138 379
+139 379
+140 379
+141 379
+142 379
+143 379
+144 379
+145 379
+146 379
+147 379
+148 379
+149 379
+150 379
+151 379
+152 379
+153 379
+154 379
+155 379
+156 379
+157 379
+158 379
+159 379
+160 379
+161 379
+162 379
+163 379
+164 379
+165 379
+166 379
+167 379
+168 379
+169 379
+170 379
+171 379
+172 379
+173 379
+174 379
+175 379
+176 379
+177 379
+178 379
+179 379
+180 379
+181 379
+182 379
+183 379
+184 379
+185 379
+186 379
+187 379
+188 379
+189 379
+190 379
+191 379
+192 379
+193 379
+194 379
+195 379
+196 379
+197 379
+198 379
+199 379
+200 379
+201 379
+202 379
+203 379
+204 379
+205 379
+206 379
+207 379
+208 379
+209 379
+210 379
+211 379
+212 379
+213 379
+214 379
+215 379
+216 379
+217 379
+218 379
+219 379
+220 379
+221 379
+222 379
+223 379
+224 379
+225 379
+226 379
+227 379
+228 379
+229 379
+230 379
+231 379
+232 379
+233 379
+234 379
+235 379
+236 379
+237 379
+238 379
+239 379
+240 379
+241 379
+242 379
+243 379
+244 379
+245 379
+246 379
+247 379
+248 379
+249 379
+250 379
+251 379
+252 379
+253 379
+254 379
+255 379
+256 379
+257 379
+258 379
+259 379
+260 379
+261 379
+262 379
+263 379
+264 379
+265 379
+266 379
+267 379
+268 379
+269 379
+270 379
+271 379
+272 379
+273 379
+274 379
+275 379
+276 379
+277 379
+278 379
+279 379
+280 379
+281 379
+282 379
+283 379
+284 379
+285 379
+286 379
+287 379
+288 379
+289 379
+290 379
+291 379
+292 379
+293 379
+294 379
+295 379
+296 379
+297 379
+298 379
+299 379
+300 379
+301 379
+302 379
+303 379
+304 379
+305 379
+306 379
+307 379
+308 379
+309 379
+310 379
+311 379
+312 379
+313 379
+314 379
+315 379
+316 379
+317 379
+318 379
+319 379
+320 379
+321 379
+322 379
+323 379
+324 379
+325 379
+326 352
+326 353
+326 354
+326 355
+326 356
+326 357
+326 358
+326 359
+326 360
+326 361
+326 362
+326 363
+326 364
+326 365
+326 366
+326 367
+326 368
+326 369
+326 370
+326 371
+326 372
+326 373
+326 374
+326 375
+326 376
+326 377
+326 378
+326 379
+326 380
+326 381
+326 382
+326 383
+326 384
+326 385
+326 386
+326 387
+326 388
+326 389
+326 390
+326 391
+326 392
+326 393
+326 394
+326 395
+326 396
+326 397
+326 398
+326 399
+326 400
+326 401
+326 402
+326 403
+326 404
+326 405
+326 406
+326 407
+326 408
+326 409
+326 410
+326 411
+326 412
+326 413
+326 414
+326 415
+326 416
+326 417
+326 418
+326 419
+326 420
+326 421
+326 422
+326 423
+326 424
+326 425
+326 426
+326 427
+326 428
+326 429
+326 430
+326 431
+326 432
+326 433
+326 434
+326 435
+326 436
+326 437
+326 438
+326 439
+326 440
+326 441
+326 442
+326 443
+326 444
+326 445
+326 446
+326 447
+326 448
+326 449
+326 450
+326 451
+326 452
+326 453
+326 454
+326 455
+326 456
+326 457
+326 458
+326 459
+326 460
+326 461
+326 462
+326 463
+326 464
+326 465
+326 466
+326 467
+326 468
+326 469
+326 470
+326 471
+326 472
+326 473
+326 474
+326 475
+326 476
+326 477
+326 478
+326 479
+326 480
+326 481
+326 482
+326 483
+326 484
+326 485
+326 486
+326 487
+326 488
+326 489
+326 490
+326 491
+326 492
+326 493
+326 494
+326 495
+326 496
+326 497
+326 498
+326 499
+326 500
+326 501
+326 502
+326 503
+326 504
+326 505
+326 506
+326 507
+326 508
+326 509
+326 510
+326 511
+326 512
+326 513
+326 514
+326 515
+326 516
+326 517
+326 518
+326 519
+326 520
+326 521
+326 522
+326 523
+326 524
+326 525
+326 526
+326 527
+326 528
+326 529
+326 530
+326 531
+326 532
+326 533
+326 534
+326 535
+326 536
+326 537
+326 538
+326 539
+326 540
+326 541
+326 542
+326 543
+326 544
+326 545
+326 546
+326 547
+326 548
+326 549
+326 550
+326 551
+326 552
+326 553
+326 554
+326 555
+326 556
+326 557
+326 558
+326 559
+326 560
+326 561
+326 562
+326 563
+326 564
+326 565
+326 566
+326 567
+326 568
+326 569
+326 570
+326 571
+326 572
+326 573
+326 574
+326 575
+326 576
+326 577
+326 578
+326 579
+326 580
+326 581
+326 582
+326 583
+326 584
+326 585
+326 586
+326 587
+326 588
+326 589
+326 590
+326 591
+326 592
+326 593
+326 594
+326 595
+326 596
+326 597
+326 598
+326 599
+326 600
+326 601
+326 602
+326 603
+326 604
+326 605
+326 606
+326 607
+326 608
+326 609
+326 610
+326 611
+326 612
+326 613
+326 614
+326 615
+326 616
+326 617
+326 618
+326 619
+326 620
+326 621
+326 622
+326 623
+326 624
+326 625
+326 626
+326 627
+326 628
+326 629
+326 630
+326 631
+326 632
+326 633
+326 634
+326 635
+326 636
+326 637
+326 638
+326 639
+326 640
+326 641
+326 642
+326 643
+326 644
+326 645
+326 646
+326 647
+326 648
+326 649
+326 650
+326 651
+326 652
+326 653
+326 654
+326 656
+326 657
+326 658
+326 659
+326 660
+326 661
+326 662
+326 663
+326 664
+326 665
+326 666
+326 667
+326 668
+326 669
+326 670
+326 671
+326 672
+326 673
+326 674
+326 675
+326 676
+326 677
+326 678
+327 655
+328 655
+329 655
+330 655
+331 655
+332 655
+333 655
+334 655
+335 655
+336 655
+337 655
+338 655
+339 655
+340 655
+341 655
+342 655
+343 655
+344 655
+345 655
+346 655
+347 655
+348 655
+349 655
+350 655
+351 655
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/20.gr b/src/githubtests/medium_test_set/instances/20.gr
new file mode 100644
index 0000000..9997cbb
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/20.gr
@@ -0,0 +1,568 @@
+p ocr 200 181 567
+1 201
+1 202
+1 204
+1 208
+2 201
+3 201
+3 202
+3 203
+3 205
+3 206
+3 207
+3 209
+3 210
+5 204
+6 204
+6 208
+7 202
+7 203
+7 205
+7 206
+7 210
+8 201
+8 203
+10 203
+10 207
+12 205
+13 203
+13 209
+14 204
+14 208
+14 210
+14 211
+14 212
+14 213
+14 220
+14 222
+15 210
+15 211
+15 212
+15 213
+15 215
+15 218
+15 219
+15 220
+15 222
+15 227
+16 210
+16 214
+16 215
+16 224
+16 229
+17 210
+17 227
+18 210
+18 213
+18 216
+18 223
+18 226
+19 211
+19 216
+19 222
+19 226
+20 210
+20 214
+20 215
+20 217
+20 228
+20 229
+21 214
+21 217
+21 218
+21 219
+22 211
+22 212
+23 216
+23 223
+24 210
+24 224
+25 210
+26 211
+27 214
+27 225
+28 210
+29 218
+30 214
+30 217
+30 221
+32 211
+32 220
+33 214
+33 225
+33 228
+34 214
+36 216
+37 211
+37 212
+38 214
+40 215
+41 210
+42 212
+43 211
+43 229
+43 230
+43 232
+43 234
+43 235
+43 237
+43 238
+43 242
+43 243
+43 251
+43 252
+43 253
+43 255
+43 257
+43 262
+43 263
+43 268
+43 271
+43 272
+44 229
+44 230
+44 231
+44 232
+44 233
+44 234
+44 235
+44 236
+44 240
+44 242
+44 253
+44 263
+44 266
+45 229
+45 230
+45 233
+45 244
+45 245
+45 246
+45 247
+45 249
+45 264
+45 265
+45 269
+46 229
+46 240
+47 229
+47 236
+47 260
+47 270
+48 229
+48 230
+48 238
+48 243
+48 248
+48 256
+49 229
+49 236
+49 260
+50 229
+50 237
+50 238
+50 248
+51 229
+51 230
+51 231
+51 239
+51 259
+52 232
+52 257
+53 230
+53 246
+53 249
+53 264
+54 230
+54 234
+55 229
+56 230
+56 268
+56 272
+57 229
+57 231
+57 239
+57 250
+57 258
+57 273
+58 229
+58 231
+59 229
+59 244
+60 236
+61 229
+61 230
+61 245
+61 265
+61 267
+62 232
+62 251
+62 255
+62 262
+62 266
+63 229
+63 231
+63 250
+63 258
+64 231
+65 229
+65 230
+65 231
+65 241
+65 254
+66 230
+66 243
+67 238
+67 248
+67 256
+69 238
+70 239
+71 230
+72 229
+73 230
+74 232
+75 232
+75 251
+76 242
+76 252
+77 230
+78 229
+78 231
+78 241
+78 273
+78 280
+78 282
+78 286
+78 287
+78 288
+78 290
+78 299
+78 303
+78 308
+78 309
+78 311
+79 273
+79 275
+79 278
+79 279
+79 280
+79 283
+79 292
+79 296
+79 302
+79 310
+80 273
+80 275
+80 294
+81 273
+81 274
+81 276
+81 277
+81 281
+81 285
+81 291
+81 294
+81 295
+81 298
+81 304
+81 306
+82 275
+82 302
+82 310
+83 273
+83 274
+83 276
+83 277
+83 278
+83 279
+83 283
+83 284
+83 289
+83 293
+83 301
+83 304
+84 273
+84 294
+85 273
+85 279
+85 292
+86 273
+86 282
+86 286
+86 290
+86 309
+87 276
+87 277
+87 289
+87 291
+87 306
+87 307
+88 277
+89 282
+89 288
+90 274
+90 276
+90 281
+90 285
+90 297
+90 298
+91 277
+91 307
+92 277
+93 281
+94 275
+94 296
+94 302
+95 281
+96 273
+97 288
+98 277
+98 291
+99 273
+99 286
+100 273
+100 278
+100 300
+101 279
+102 273
+103 273
+104 273
+104 299
+104 303
+105 273
+105 280
+106 279
+107 292
+109 276
+109 298
+110 302
+111 276
+111 298
+112 273
+113 281
+114 273
+114 292
+115 273
+116 278
+116 300
+117 285
+117 297
+117 305
+118 282
+118 288
+119 277
+120 288
+120 308
+120 311
+120 312
+120 313
+120 314
+120 315
+120 317
+120 318
+120 319
+120 320
+120 321
+120 324
+120 325
+120 326
+120 329
+120 331
+120 333
+120 335
+120 337
+120 338
+120 341
+120 348
+120 349
+120 351
+120 353
+120 356
+120 357
+120 359
+121 311
+121 312
+121 314
+121 315
+121 316
+121 321
+121 323
+121 325
+121 326
+121 330
+121 332
+121 337
+121 342
+121 349
+121 352
+122 311
+122 322
+122 350
+123 316
+123 317
+123 322
+123 327
+123 329
+123 331
+123 332
+123 335
+123 336
+123 346
+123 347
+123 349
+123 353
+123 357
+124 317
+124 321
+124 329
+124 346
+124 347
+124 356
+124 357
+125 312
+125 313
+125 315
+125 325
+125 334
+125 339
+125 342
+126 316
+126 328
+126 343
+126 345
+126 350
+128 335
+128 338
+128 348
+128 358
+129 356
+129 359
+130 317
+130 318
+130 324
+130 341
+130 351
+131 317
+132 345
+132 350
+133 322
+134 316
+134 327
+134 328
+134 343
+134 355
+135 345
+138 317
+138 324
+138 351
+139 316
+139 332
+141 315
+142 312
+142 323
+143 323
+144 316
+144 328
+144 343
+145 338
+154 359
+154 360
+154 363
+154 364
+154 372
+155 359
+155 360
+155 361
+155 363
+155 364
+155 366
+155 369
+155 373
+155 376
+155 377
+155 379
+155 381
+156 359
+156 361
+156 362
+156 365
+156 367
+156 370
+156 378
+157 360
+157 361
+157 362
+157 366
+157 368
+157 371
+157 374
+157 378
+157 380
+158 363
+158 372
+158 373
+159 360
+159 366
+159 368
+159 369
+159 379
+159 380
+160 361
+160 362
+160 365
+160 367
+160 370
+160 375
+161 361
+162 372
+163 361
+163 362
+164 364
+165 361
+165 371
+165 378
+166 360
+166 374
+167 366
+168 361
+168 362
+169 361
+169 376
+170 361
+170 367
+170 375
+171 360
+172 361
+173 369
+173 379
+173 381
+174 361
+175 370
+176 366
+176 377
+177 364
+178 361
+178 362
+179 361
+180 366
+180 369
+181 362
+182 370
+184 363
+185 360
+185 374
+186 369
+186 381
+188 361
+188 375
+189 370
+190 362
+191 379
+192 367
+193 362
+193 365
+194 370
+195 365
+197 365
+199 364
+200 379
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/21.gr b/src/githubtests/medium_test_set/instances/21.gr
new file mode 100644
index 0000000..cb569ac
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/21.gr
@@ -0,0 +1,199 @@
+p ocr 89 101 198
+1 90
+1 91
+1 100
+1 118
+1 127
+2 90
+2 91
+2 93
+2 106
+2 115
+2 120
+2 123
+2 124
+3 91
+3 96
+3 113
+4 90
+4 91
+5 90
+6 91
+7 94
+7 97
+7 104
+8 91
+9 90
+9 101
+9 102
+10 90
+10 91
+10 128
+11 94
+11 104
+12 123
+13 90
+14 91
+15 90
+15 94
+16 90
+17 90
+17 112
+19 93
+19 106
+20 90
+20 94
+20 111
+20 122
+21 91
+21 95
+22 100
+22 119
+23 90
+23 105
+23 110
+23 126
+24 91
+24 97
+25 90
+25 117
+26 91
+26 97
+27 91
+27 109
+28 90
+29 94
+29 95
+30 90
+30 94
+31 91
+31 109
+32 97
+33 110
+33 126
+34 117
+35 94
+35 98
+35 129
+35 130
+36 129
+36 130
+36 131
+36 132
+36 133
+36 135
+36 140
+36 144
+36 145
+36 153
+37 149
+38 135
+38 140
+40 132
+40 137
+40 139
+40 147
+40 149
+40 153
+41 130
+41 134
+41 142
+41 148
+41 151
+41 152
+42 134
+43 130
+44 130
+44 133
+46 130
+46 136
+47 130
+48 130
+49 131
+49 144
+52 153
+52 154
+52 155
+52 156
+52 161
+52 166
+52 174
+52 176
+52 180
+52 182
+53 153
+53 157
+53 162
+53 168
+53 172
+53 177
+53 179
+53 183
+53 185
+54 155
+54 161
+54 175
+54 176
+55 155
+56 153
+56 159
+56 162
+56 169
+56 173
+56 179
+56 187
+56 189
+57 154
+57 156
+58 154
+58 158
+58 164
+58 171
+59 156
+59 166
+59 167
+59 170
+59 184
+59 188
+62 153
+62 159
+62 178
+63 156
+63 167
+64 172
+64 174
+64 177
+64 181
+65 159
+65 169
+65 187
+66 162
+67 162
+68 153
+68 157
+69 176
+69 186
+70 154
+70 171
+71 156
+72 162
+73 174
+74 159
+75 172
+76 159
+77 174
+78 153
+79 188
+80 157
+81 153
+81 183
+82 156
+84 158
+85 176
+85 186
+86 153
+87 162
+87 173
+88 153
+88 180
+89 159
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/22.gr b/src/githubtests/medium_test_set/instances/22.gr
new file mode 100644
index 0000000..b3b418f
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/22.gr
@@ -0,0 +1,197 @@
+p ocr 95 123 196
+1 96
+1 100
+1 101
+1 103
+2 96
+2 98
+2 99
+2 102
+3 96
+3 97
+4 96
+5 98
+6 99
+6 101
+7 96
+8 100
+8 102
+10 96
+10 97
+12 97
+16 98
+17 102
+18 104
+20 99
+22 104
+23 102
+24 96
+25 98
+29 97
+32 96
+33 99
+34 98
+40 97
+41 104
+42 96
+43 98
+43 104
+43 105
+43 106
+43 107
+43 109
+43 110
+43 112
+43 117
+43 118
+43 122
+43 123
+43 132
+43 135
+43 137
+43 138
+44 105
+44 106
+44 108
+44 117
+44 140
+45 107
+45 109
+45 116
+45 131
+46 104
+46 105
+46 113
+46 115
+46 120
+46 125
+46 143
+47 104
+47 113
+47 120
+47 125
+47 128
+47 134
+47 143
+48 107
+48 111
+48 121
+49 112
+49 137
+50 109
+51 105
+52 105
+52 124
+53 106
+53 107
+54 104
+54 110
+55 113
+56 109
+56 119
+59 104
+60 110
+61 106
+62 105
+62 114
+63 117
+63 129
+63 133
+63 144
+63 145
+63 146
+63 147
+63 153
+63 162
+63 166
+63 169
+63 174
+63 175
+63 182
+63 183
+64 145
+64 146
+64 161
+64 173
+64 180
+65 145
+65 148
+65 154
+65 169
+66 145
+66 186
+67 144
+67 160
+68 145
+68 146
+68 165
+69 146
+69 159
+69 168
+69 185
+71 151
+71 152
+71 155
+72 144
+72 145
+72 156
+72 158
+72 177
+74 160
+74 166
+74 174
+74 175
+74 182
+75 158
+75 177
+76 145
+76 161
+76 179
+77 145
+77 149
+77 181
+78 161
+79 146
+79 150
+80 150
+81 148
+81 178
+83 145
+83 167
+83 190
+83 191
+83 192
+83 193
+83 204
+83 217
+84 192
+84 194
+84 195
+84 217
+85 191
+85 199
+85 204
+86 194
+86 195
+87 193
+87 208
+87 211
+88 195
+88 205
+89 192
+89 193
+89 200
+89 202
+89 203
+89 207
+89 209
+90 190
+90 191
+91 200
+92 192
+92 193
+93 191
+94 204
+95 190
+95 191
+95 214
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/23.gr b/src/githubtests/medium_test_set/instances/23.gr
new file mode 100644
index 0000000..b93dcca
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/23.gr
@@ -0,0 +1,266 @@
+p ocr 120 163 265
+1 121
+1 122
+1 156
+2 121
+2 122
+2 125
+2 166
+3 122
+3 123
+3 124
+3 129
+3 133
+3 149
+3 150
+3 153
+4 122
+4 126
+4 127
+4 131
+4 132
+4 136
+4 141
+4 145
+4 154
+5 122
+5 128
+6 123
+6 124
+6 129
+6 143
+7 130
+7 139
+7 144
+7 152
+7 166
+8 130
+8 139
+8 144
+8 167
+9 122
+9 126
+9 127
+9 136
+9 138
+9 141
+9 142
+9 146
+9 155
+9 157
+9 159
+9 161
+9 168
+10 126
+10 147
+11 123
+11 151
+12 126
+13 129
+13 148
+13 158
+13 160
+13 162
+13 163
+14 149
+14 163
+15 129
+15 148
+15 160
+15 168
+15 169
+15 170
+15 177
+16 169
+16 172
+16 175
+17 170
+17 171
+17 176
+17 177
+19 168
+20 169
+21 171
+22 172
+24 168
+24 170
+24 180
+24 181
+24 182
+24 183
+24 185
+24 193
+25 181
+25 182
+25 186
+25 192
+26 181
+26 185
+27 183
+27 192
+27 195
+28 186
+28 188
+28 198
+29 181
+29 189
+30 181
+30 184
+30 194
+30 196
+30 197
+30 200
+31 181
+31 190
+31 201
+32 188
+33 188
+34 182
+35 184
+36 183
+37 190
+39 181
+40 180
+40 187
+42 181
+43 183
+45 186
+47 201
+49 184
+49 200
+49 201
+49 202
+49 214
+49 216
+49 219
+49 225
+49 228
+49 236
+50 201
+50 202
+50 203
+50 204
+50 205
+50 207
+50 208
+50 211
+50 215
+50 241
+51 202
+51 206
+51 224
+52 202
+52 205
+52 210
+52 220
+52 242
+52 244
+53 202
+53 205
+54 202
+54 214
+54 228
+55 202
+55 209
+55 233
+56 208
+56 215
+56 238
+56 240
+57 202
+57 209
+57 233
+57 246
+57 248
+57 249
+57 254
+57 258
+58 246
+58 247
+58 250
+58 251
+58 255
+58 256
+58 259
+58 260
+58 261
+59 246
+59 251
+59 257
+59 261
+60 246
+60 253
+61 247
+61 250
+62 249
+63 246
+64 246
+64 248
+65 248
+66 256
+66 260
+68 253
+69 246
+70 249
+72 251
+73 246
+73 248
+74 246
+75 251
+77 261
+78 253
+79 246
+79 248
+80 246
+82 246
+85 249
+86 247
+87 246
+88 246
+89 248
+91 248
+91 252
+92 246
+93 246
+95 246
+96 246
+97 251
+97 255
+100 250
+101 261
+102 248
+104 248
+104 261
+104 264
+104 265
+104 266
+104 267
+104 268
+104 270
+104 273
+104 282
+105 261
+106 261
+106 262
+106 263
+107 261
+108 262
+109 267
+109 269
+110 261
+111 261
+112 264
+112 268
+113 261
+113 279
+114 261
+114 262
+115 264
+115 265
+116 264
+117 265
+117 271
+118 264
+120 261
+120 279
+120 283
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/24.gr b/src/githubtests/medium_test_set/instances/24.gr
new file mode 100644
index 0000000..f279f05
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/24.gr
@@ -0,0 +1,426 @@
+p ocr 255 261 425
+1 256
+3 257
+4 256
+5 256
+5 257
+6 258
+7 256
+7 258
+7 261
+8 258
+8 259
+8 264
+9 265
+9 266
+9 268
+10 267
+10 268
+10 269
+10 271
+10 272
+10 273
+11 274
+12 273
+12 274
+13 274
+13 277
+14 277
+15 273
+15 275
+15 280
+16 277
+16 281
+16 282
+17 278
+17 281
+17 282
+17 284
+19 283
+20 283
+20 285
+22 283
+22 285
+22 286
+23 284
+23 285
+27 288
+28 291
+29 287
+29 291
+30 290
+30 292
+30 293
+30 294
+31 291
+31 292
+31 293
+31 294
+33 295
+33 297
+34 298
+36 298
+36 299
+37 297
+37 299
+38 296
+38 299
+38 300
+39 297
+41 300
+42 302
+42 304
+42 306
+43 304
+44 306
+44 307
+46 305
+46 307
+47 308
+48 309
+48 311
+50 312
+52 310
+52 314
+53 310
+54 312
+56 314
+57 314
+58 313
+58 315
+60 313
+60 316
+60 318
+61 315
+61 316
+62 315
+62 317
+63 316
+63 321
+64 318
+64 319
+64 321
+65 317
+65 319
+65 323
+65 325
+66 322
+66 326
+67 322
+68 324
+68 325
+68 327
+68 328
+68 330
+69 326
+69 327
+70 327
+70 330
+70 331
+71 330
+71 333
+71 338
+72 337
+73 340
+73 343
+74 338
+74 339
+75 340
+75 341
+76 341
+76 343
+76 345
+78 344
+79 344
+80 348
+81 345
+81 346
+81 347
+82 346
+84 351
+85 350
+85 351
+86 350
+90 351
+90 352
+91 351
+92 351
+93 353
+93 354
+94 352
+94 354
+95 355
+96 353
+97 355
+98 352
+98 354
+99 354
+99 355
+100 353
+101 356
+101 357
+101 358
+103 358
+103 359
+104 356
+104 358
+104 360
+106 357
+106 359
+106 363
+107 362
+107 363
+108 360
+109 361
+110 362
+111 365
+112 366
+113 363
+113 364
+113 365
+114 366
+114 367
+116 367
+117 368
+118 366
+118 369
+119 368
+122 368
+123 368
+123 369
+125 370
+125 372
+127 376
+128 376
+129 373
+129 376
+129 378
+130 379
+132 376
+132 380
+132 383
+133 378
+133 381
+133 383
+134 382
+134 383
+134 386
+134 387
+135 386
+135 387
+136 385
+136 389
+137 386
+137 388
+137 390
+137 392
+137 394
+138 389
+138 392
+139 388
+139 389
+139 391
+139 394
+139 395
+140 396
+141 393
+142 397
+143 398
+144 395
+144 399
+145 396
+145 400
+146 397
+146 399
+146 401
+147 398
+148 400
+148 401
+149 399
+149 403
+150 400
+150 401
+150 404
+151 400
+151 401
+152 402
+152 403
+152 406
+153 403
+153 404
+153 407
+154 407
+157 406
+158 409
+158 410
+159 407
+159 411
+160 406
+160 407
+161 410
+161 413
+162 409
+162 411
+162 415
+163 409
+163 414
+163 416
+164 413
+165 416
+166 414
+166 418
+167 419
+168 416
+168 418
+169 417
+169 422
+170 424
+171 424
+171 425
+172 421
+172 422
+173 424
+173 426
+173 427
+174 427
+174 428
+175 424
+175 427
+176 426
+176 427
+176 429
+177 427
+178 430
+179 429
+179 432
+179 433
+179 434
+180 431
+180 434
+181 431
+181 432
+181 436
+183 434
+183 436
+183 437
+184 434
+184 437
+185 436
+185 439
+186 436
+186 438
+187 437
+187 438
+187 439
+187 443
+187 444
+188 443
+188 445
+188 447
+189 448
+189 449
+189 450
+189 451
+190 448
+190 452
+191 449
+191 450
+191 451
+191 452
+191 453
+194 453
+196 453
+196 454
+197 456
+198 457
+199 458
+200 455
+200 456
+201 454
+201 457
+201 459
+202 456
+203 463
+204 460
+205 458
+205 460
+205 461
+206 460
+206 462
+207 467
+208 464
+208 465
+208 467
+209 468
+210 465
+210 466
+210 469
+211 468
+211 470
+214 468
+215 470
+216 469
+216 470
+216 473
+217 472
+219 471
+219 475
+219 476
+220 472
+220 474
+220 476
+223 474
+223 479
+224 476
+224 478
+226 478
+226 479
+226 480
+226 481
+226 482
+227 482
+227 483
+228 479
+228 480
+228 481
+228 483
+229 484
+230 485
+231 482
+231 485
+231 486
+231 488
+232 482
+232 487
+234 485
+234 491
+235 490
+235 491
+236 488
+236 492
+237 489
+238 489
+239 492
+240 491
+244 494
+244 495
+245 495
+246 493
+246 494
+250 497
+250 498
+251 496
+252 496
+252 497
+252 498
+252 499
+252 500
+253 496
+253 497
+253 499
+253 501
+255 498
+255 500
+255 502
+255 504
+255 506
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/25.gr b/src/githubtests/medium_test_set/instances/25.gr
new file mode 100644
index 0000000..0a7a7bf
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/25.gr
@@ -0,0 +1,612 @@
+p ocr 287 254 611
+1 289
+1 290
+1 292
+1 293
+1 294
+2 290
+2 292
+2 294
+2 295
+2 296
+4 294
+4 295
+4 297
+4 299
+5 296
+5 297
+6 294
+6 295
+6 297
+6 298
+7 298
+7 299
+7 301
+8 297
+8 300
+9 298
+9 300
+9 302
+10 299
+10 300
+10 301
+10 302
+10 303
+11 303
+12 300
+12 302
+12 303
+13 303
+13 304
+13 306
+14 305
+14 307
+15 303
+15 304
+15 306
+15 308
+17 306
+17 307
+17 308
+17 309
+18 307
+18 309
+19 307
+19 308
+19 309
+21 308
+21 309
+23 309
+23 310
+24 309
+24 310
+24 311
+25 309
+26 310
+27 310
+28 310
+28 312
+29 310
+29 311
+30 310
+30 313
+31 310
+31 315
+32 313
+32 316
+33 313
+33 315
+33 317
+33 319
+34 314
+34 316
+34 319
+35 320
+36 316
+36 318
+36 320
+36 322
+37 319
+37 323
+37 324
+38 320
+38 321
+38 323
+38 326
+38 328
+39 326
+39 327
+39 329
+39 330
+39 332
+39 333
+40 330
+40 333
+40 335
+40 336
+40 337
+41 334
+41 337
+42 335
+42 337
+42 338
+43 338
+43 339
+44 335
+44 336
+44 339
+45 337
+45 340
+46 338
+46 339
+48 339
+49 339
+49 340
+49 341
+49 343
+50 339
+50 343
+51 339
+51 341
+51 342
+52 342
+52 343
+52 344
+52 346
+53 342
+53 348
+54 342
+54 343
+54 346
+54 347
+55 344
+55 348
+56 348
+56 350
+57 349
+58 350
+59 347
+59 348
+59 349
+60 349
+60 350
+61 349
+61 351
+62 350
+62 351
+63 349
+63 351
+64 350
+64 352
+66 354
+67 352
+67 353
+67 354
+68 353
+68 355
+68 356
+69 355
+69 358
+70 355
+70 359
+71 354
+71 355
+71 357
+71 359
+72 356
+72 357
+73 359
+73 360
+73 361
+74 359
+74 361
+75 359
+75 360
+75 363
+75 365
+76 359
+76 361
+76 364
+76 366
+77 362
+77 364
+77 366
+79 364
+79 367
+80 365
+80 366
+80 367
+81 367
+81 368
+82 366
+82 367
+82 368
+83 366
+83 368
+83 371
+84 367
+84 371
+85 368
+85 370
+85 371
+85 372
+86 369
+86 372
+86 373
+86 375
+86 376
+87 371
+87 374
+87 377
+88 373
+88 375
+88 379
+90 376
+90 378
+90 379
+90 380
+90 381
+90 382
+90 384
+90 385
+91 379
+91 381
+91 382
+91 384
+91 385
+91 386
+92 390
+92 392
+92 393
+92 394
+93 390
+93 394
+94 389
+94 390
+94 393
+94 395
+95 393
+95 395
+95 396
+96 393
+96 394
+96 395
+96 396
+97 397
+97 398
+97 399
+97 402
+98 396
+98 397
+98 398
+98 400
+98 401
+98 402
+99 399
+99 400
+99 402
+99 404
+99 406
+99 407
+100 401
+100 404
+101 408
+102 405
+102 406
+102 409
+102 410
+103 406
+103 408
+103 409
+104 407
+104 411
+105 409
+105 411
+106 409
+106 410
+106 413
+106 414
+107 409
+107 415
+108 411
+108 415
+108 416
+109 415
+110 415
+111 413
+111 416
+111 417
+112 416
+113 416
+114 418
+114 419
+115 418
+116 418
+117 418
+117 419
+117 420
+117 421
+117 423
+117 424
+118 419
+118 420
+118 422
+118 424
+119 421
+119 423
+119 424
+119 426
+119 427
+119 428
+120 423
+120 426
+120 429
+120 430
+120 431
+121 424
+121 430
+122 428
+122 430
+123 431
+123 432
+124 429
+124 430
+124 432
+124 434
+125 430
+125 432
+125 434
+126 431
+126 433
+126 434
+127 432
+127 434
+127 435
+128 435
+128 436
+128 437
+128 439
+128 440
+128 441
+128 442
+129 439
+129 442
+130 439
+132 440
+132 441
+132 442
+132 443
+132 444
+132 445
+133 444
+134 442
+134 443
+135 443
+135 444
+135 445
+135 446
+135 447
+135 450
+136 443
+136 445
+136 446
+136 449
+136 450
+136 451
+137 448
+137 451
+137 453
+137 455
+138 451
+138 453
+138 454
+138 456
+139 458
+140 456
+141 455
+142 455
+142 459
+142 460
+143 456
+143 462
+143 463
+143 464
+144 461
+144 463
+144 465
+144 467
+144 469
+145 463
+145 465
+145 468
+145 470
+146 467
+146 468
+146 469
+147 468
+147 470
+147 471
+148 470
+149 469
+149 470
+149 471
+150 471
+150 472
+151 469
+151 471
+151 472
+152 471
+152 472
+154 471
+154 473
+154 474
+155 472
+155 473
+156 474
+156 476
+157 472
+157 476
+158 472
+158 474
+158 475
+159 475
+159 476
+159 477
+159 478
+160 474
+160 475
+160 477
+160 479
+160 480
+161 478
+161 481
+162 478
+162 479
+162 480
+162 483
+163 478
+163 481
+163 482
+163 483
+165 481
+166 483
+168 482
+169 482
+169 483
+169 485
+170 485
+170 486
+171 484
+172 486
+173 484
+173 486
+173 490
+173 493
+174 488
+174 489
+174 491
+174 493
+175 488
+175 490
+175 492
+175 493
+176 494
+176 497
+177 494
+177 498
+178 491
+178 492
+178 494
+178 495
+178 496
+178 498
+179 496
+179 497
+179 498
+179 499
+179 500
+180 497
+180 498
+180 499
+180 500
+181 500
+181 501
+182 499
+182 502
+183 499
+183 502
+184 499
+184 500
+185 504
+185 505
+186 501
+186 502
+186 503
+186 505
+187 502
+187 503
+188 503
+188 504
+188 505
+188 506
+188 507
+189 504
+189 505
+189 507
+189 508
+189 509
+190 506
+190 507
+191 508
+191 509
+191 510
+191 511
+192 509
+193 508
+193 510
+193 511
+193 512
+194 509
+194 512
+195 510
+196 511
+196 512
+197 512
+197 513
+197 514
+198 511
+198 512
+198 513
+198 514
+198 515
+199 513
+199 514
+200 515
+201 513
+201 514
+201 515
+201 516
+202 514
+202 515
+202 517
+202 518
+202 519
+203 516
+203 517
+204 518
+204 520
+204 521
+205 519
+205 520
+205 522
+206 518
+206 523
+206 524
+207 520
+207 523
+208 523
+208 526
+209 521
+209 524
+209 526
+209 527
+210 522
+210 524
+210 525
+210 530
+211 528
+211 529
+211 530
+211 531
+211 532
+211 533
+212 529
+212 534
+213 532
+213 533
+213 534
+214 534
+214 535
+214 536
+214 537
+215 533
+215 536
+217 533
+217 536
+218 535
+218 539
+219 536
+219 537
+219 539
+219 540
+220 537
+220 540
+221 537
+221 540
+222 540
+222 541
+224 539
+224 541
+225 540
+226 540
+227 541
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/26.gr b/src/githubtests/medium_test_set/instances/26.gr
new file mode 100644
index 0000000..fad0ac5
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/26.gr
@@ -0,0 +1,671 @@
+p ocr 260 329 670
+1 261
+1 262
+2 261
+2 262
+3 261
+3 262
+3 263
+3 264
+4 261
+4 262
+4 263
+4 265
+5 263
+5 264
+5 265
+5 266
+6 265
+6 266
+7 264
+7 267
+8 265
+8 266
+8 268
+9 266
+9 268
+9 269
+10 267
+10 269
+10 270
+10 272
+11 268
+11 269
+11 272
+12 272
+13 271
+14 272
+15 272
+15 273
+16 273
+17 272
+18 274
+19 273
+20 273
+21 273
+21 274
+21 276
+22 273
+22 274
+22 275
+22 276
+23 275
+23 276
+24 274
+24 276
+24 277
+25 276
+25 279
+26 276
+26 278
+26 280
+27 277
+27 278
+27 280
+27 281
+28 280
+28 282
+28 283
+29 282
+29 283
+30 282
+30 283
+31 283
+32 283
+32 284
+32 285
+33 283
+33 285
+33 287
+34 285
+34 286
+34 288
+34 289
+35 285
+35 287
+35 288
+35 290
+36 288
+36 289
+36 290
+36 291
+36 292
+36 293
+37 290
+37 291
+37 292
+37 293
+37 295
+38 293
+38 296
+39 293
+39 294
+40 293
+40 296
+41 294
+42 296
+43 295
+43 296
+44 298
+46 297
+46 299
+47 299
+48 297
+48 298
+48 299
+48 300
+48 302
+49 299
+49 300
+49 303
+50 300
+50 301
+50 302
+50 304
+51 302
+51 303
+51 304
+52 303
+52 304
+52 307
+53 304
+53 305
+53 306
+54 304
+54 305
+54 306
+54 308
+55 306
+55 307
+55 308
+55 309
+55 310
+55 311
+55 312
+56 310
+56 311
+56 312
+56 313
+57 311
+57 313
+58 312
+58 314
+59 312
+59 315
+59 316
+59 318
+60 314
+60 315
+60 316
+60 317
+60 319
+60 320
+61 319
+61 320
+61 321
+62 319
+62 321
+62 322
+63 320
+63 322
+63 323
+64 321
+64 323
+65 322
+65 323
+65 324
+65 325
+66 323
+66 326
+67 323
+67 324
+68 324
+68 325
+68 326
+68 327
+68 328
+69 327
+69 329
+70 327
+70 329
+71 327
+71 328
+71 329
+71 330
+72 329
+72 330
+73 329
+73 330
+74 329
+74 330
+75 330
+76 330
+76 331
+77 332
+78 332
+79 331
+80 331
+80 332
+82 332
+83 331
+84 332
+85 332
+85 333
+86 333
+88 334
+89 336
+90 333
+90 334
+90 335
+91 334
+91 336
+91 337
+91 338
+92 334
+92 335
+92 337
+92 338
+93 337
+93 339
+95 337
+95 338
+95 339
+95 340
+96 338
+96 339
+96 340
+96 341
+96 342
+97 341
+97 344
+98 340
+98 341
+98 342
+98 343
+98 344
+98 345
+99 344
+99 345
+99 346
+99 347
+100 344
+100 345
+100 347
+100 348
+101 346
+101 347
+101 348
+101 349
+102 347
+102 348
+103 348
+103 349
+104 350
+105 350
+106 349
+106 350
+107 349
+107 350
+108 350
+108 351
+108 353
+108 354
+109 350
+109 351
+109 354
+109 355
+110 353
+110 354
+110 355
+111 354
+111 355
+111 356
+112 355
+112 356
+112 357
+113 355
+113 358
+114 356
+114 357
+114 358
+115 357
+115 358
+116 357
+116 358
+116 359
+117 358
+117 359
+117 360
+118 358
+118 359
+118 360
+119 359
+119 360
+119 361
+120 360
+120 361
+121 360
+121 362
+122 360
+122 363
+123 361
+123 363
+124 361
+124 364
+125 363
+125 364
+126 363
+126 364
+127 363
+127 364
+127 365
+128 365
+128 366
+129 365
+130 365
+130 366
+130 367
+131 365
+131 366
+132 367
+132 368
+133 366
+133 367
+133 368
+134 366
+134 368
+134 370
+134 371
+135 368
+135 369
+135 371
+136 371
+137 369
+137 371
+137 372
+138 372
+139 371
+139 372
+140 372
+141 372
+141 373
+142 372
+142 374
+142 376
+143 372
+143 374
+144 373
+144 374
+144 377
+145 378
+145 380
+146 377
+146 380
+146 381
+147 378
+147 380
+148 380
+148 381
+148 382
+148 383
+149 380
+150 381
+150 384
+151 382
+151 384
+151 385
+152 383
+152 384
+152 386
+153 385
+154 384
+154 385
+155 385
+155 386
+156 386
+156 387
+156 388
+156 389
+157 386
+157 387
+158 387
+158 389
+159 389
+160 387
+160 388
+161 389
+161 390
+163 390
+163 391
+163 392
+164 390
+165 390
+165 392
+165 393
+166 391
+166 392
+166 395
+167 392
+167 394
+167 395
+168 394
+168 396
+169 394
+169 395
+169 398
+169 399
+170 395
+170 397
+170 398
+170 399
+170 400
+171 400
+171 402
+172 399
+172 400
+172 402
+173 399
+173 402
+174 402
+176 402
+177 402
+177 403
+178 402
+178 404
+179 403
+179 404
+180 403
+181 403
+181 404
+181 405
+182 404
+182 405
+183 404
+183 405
+183 406
+184 404
+184 405
+184 406
+185 406
+185 408
+186 406
+186 408
+186 409
+187 406
+188 409
+189 408
+189 409
+189 410
+189 411
+189 412
+190 408
+190 410
+190 411
+190 413
+191 411
+191 412
+192 411
+192 412
+192 413
+192 414
+193 412
+193 414
+193 415
+193 418
+194 414
+194 416
+194 417
+194 419
+195 417
+195 420
+196 417
+196 419
+196 420
+196 421
+197 420
+197 421
+197 422
+198 419
+199 422
+200 421
+200 422
+200 424
+200 426
+201 421
+201 422
+201 423
+201 427
+202 425
+202 428
+202 429
+202 431
+203 427
+203 428
+203 430
+204 430
+204 431
+205 429
+205 430
+205 431
+205 432
+205 433
+206 431
+206 432
+206 434
+207 433
+208 434
+208 435
+209 433
+209 435
+210 434
+210 435
+210 436
+210 437
+211 434
+211 435
+211 436
+211 437
+212 436
+212 437
+212 438
+213 437
+213 438
+214 437
+214 438
+214 439
+216 438
+217 438
+217 439
+217 440
+217 441
+218 439
+218 440
+218 442
+219 440
+219 442
+220 440
+220 442
+220 443
+221 442
+221 444
+221 445
+222 442
+222 443
+222 444
+222 445
+223 444
+223 445
+223 446
+224 446
+225 444
+225 445
+225 446
+225 447
+225 448
+226 447
+226 448
+227 446
+227 447
+228 448
+228 449
+229 449
+230 448
+230 449
+231 451
+232 449
+232 450
+232 451
+232 453
+233 450
+233 451
+233 452
+233 454
+234 451
+234 453
+234 454
+234 455
+235 452
+235 454
+235 456
+235 457
+236 454
+236 455
+236 456
+236 457
+236 458
+236 460
+237 457
+237 458
+237 459
+237 460
+238 457
+238 461
+239 459
+239 460
+239 461
+239 463
+240 460
+240 461
+240 462
+240 463
+240 465
+241 462
+241 463
+241 464
+241 465
+241 467
+242 464
+242 465
+242 467
+242 469
+242 470
+243 467
+243 469
+243 470
+243 472
+244 470
+244 471
+244 472
+245 469
+245 474
+246 471
+246 472
+246 473
+246 475
+246 476
+246 478
+247 474
+247 475
+247 476
+247 479
+249 481
+249 482
+249 483
+250 482
+250 483
+251 481
+252 485
+253 484
+254 483
+254 485
+254 486
+255 484
+255 485
+255 486
+255 487
+256 485
+256 488
+257 486
+257 488
+258 486
+258 487
+258 488
+258 489
+259 488
+259 489
+259 490
+260 488
+260 489
+260 490
+260 491
+260 492
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/27.gr b/src/githubtests/medium_test_set/instances/27.gr
new file mode 100644
index 0000000..aa7b33a
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/27.gr
@@ -0,0 +1,145 @@
+p ocr 72 72 144
+1 79
+1 85
+2 132
+2 139
+3 84
+3 110
+4 110
+4 124
+5 89
+5 124
+6 89
+6 123
+7 90
+7 105
+8 122
+8 140
+9 77
+9 140
+10 103
+10 119
+11 102
+11 134
+12 132
+12 135
+13 100
+13 139
+14 97
+14 125
+15 100
+15 134
+16 105
+16 135
+17 122
+17 123
+18 90
+18 116
+19 106
+19 116
+20 76
+20 106
+21 76
+21 129
+22 111
+22 113
+23 92
+23 138
+24 92
+24 101
+25 101
+25 144
+26 73
+26 144
+27 73
+27 115
+28 74
+28 115
+29 74
+29 80
+30 80
+30 142
+31 107
+31 142
+32 107
+32 131
+33 114
+33 131
+34 112
+34 114
+35 109
+35 112
+36 109
+36 130
+37 82
+37 130
+38 82
+38 128
+39 103
+39 128
+40 77
+40 102
+41 96
+41 119
+42 96
+42 104
+43 104
+43 117
+44 117
+44 141
+45 83
+45 141
+46 83
+46 94
+47 94
+47 143
+48 86
+48 143
+49 86
+49 99
+50 99
+50 113
+51 129
+51 138
+52 108
+52 111
+53 108
+53 127
+54 127
+54 133
+55 81
+55 133
+56 81
+56 95
+57 87
+57 95
+58 87
+58 120
+59 93
+59 120
+60 93
+60 136
+61 126
+61 136
+62 78
+62 126
+63 79
+63 84
+64 88
+64 121
+65 98
+65 121
+66 98
+66 137
+67 75
+67 137
+68 75
+68 97
+69 78
+69 88
+70 118
+70 125
+71 91
+71 118
+72 85
+72 91
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/28.gr b/src/githubtests/medium_test_set/instances/28.gr
new file mode 100644
index 0000000..55b780f
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/28.gr
@@ -0,0 +1,215 @@
+p ocr 107 107 214
+1 181
+1 182
+2 181
+2 202
+3 179
+3 202
+4 179
+4 195
+5 156
+5 195
+6 156
+6 177
+7 177
+7 196
+8 126
+8 196
+9 113
+9 126
+10 123
+10 155
+11 143
+11 151
+12 159
+12 180
+13 115
+13 214
+14 134
+14 136
+15 134
+15 200
+16 193
+16 200
+17 111
+17 170
+18 128
+18 158
+19 158
+19 204
+20 191
+20 204
+21 115
+21 191
+22 110
+22 121
+23 194
+23 214
+24 172
+24 194
+25 132
+25 172
+26 132
+26 169
+27 160
+27 169
+28 160
+28 185
+29 154
+29 185
+30 154
+30 207
+31 145
+31 175
+32 171
+32 208
+33 162
+33 208
+34 110
+34 162
+35 136
+35 138
+36 121
+36 133
+37 133
+37 212
+38 199
+38 212
+39 192
+39 199
+40 186
+40 192
+41 186
+41 190
+42 163
+42 190
+43 140
+43 163
+44 140
+44 146
+45 119
+45 146
+46 119
+46 157
+47 157
+47 205
+48 131
+48 183
+49 159
+49 182
+50 165
+50 176
+51 120
+51 165
+52 120
+52 197
+53 166
+53 197
+54 153
+54 166
+55 153
+55 188
+56 149
+56 188
+57 144
+57 149
+58 144
+58 152
+59 152
+59 173
+60 109
+60 173
+61 109
+61 122
+62 122
+62 209
+63 116
+63 209
+64 116
+64 203
+65 130
+65 203
+66 130
+66 141
+67 141
+67 175
+68 171
+68 207
+69 137
+69 145
+70 137
+70 183
+71 205
+71 206
+72 131
+72 135
+73 135
+73 142
+74 142
+74 168
+75 168
+75 187
+76 124
+76 187
+77 124
+77 213
+78 155
+78 213
+79 113
+79 143
+80 112
+80 164
+81 139
+81 210
+82 167
+82 210
+83 147
+83 167
+84 147
+84 150
+85 112
+85 150
+86 123
+86 139
+87 117
+87 164
+88 114
+88 117
+89 108
+89 114
+90 108
+90 198
+91 111
+91 198
+92 128
+92 193
+93 129
+93 170
+94 184
+94 189
+95 127
+95 201
+96 174
+96 201
+97 125
+97 174
+98 125
+98 211
+99 148
+99 211
+100 118
+100 148
+101 118
+101 184
+102 127
+102 129
+103 161
+103 189
+104 161
+104 178
+105 178
+105 180
+106 138
+106 151
+107 176
+107 206
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/29.gr b/src/githubtests/medium_test_set/instances/29.gr
new file mode 100644
index 0000000..f8e7e65
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/29.gr
@@ -0,0 +1,399 @@
+p ocr 199 199 398
+1 218
+1 383
+2 218
+2 384
+3 229
+3 279
+4 377
+4 393
+5 358
+5 393
+6 209
+6 358
+7 209
+7 211
+8 211
+8 355
+9 201
+9 355
+10 201
+10 214
+11 214
+11 286
+12 286
+12 316
+13 316
+13 387
+14 246
+14 374
+15 280
+15 324
+16 246
+16 332
+17 267
+17 353
+18 250
+18 302
+19 319
+19 334
+20 243
+20 291
+21 255
+21 382
+22 295
+22 340
+23 225
+23 295
+24 225
+24 370
+25 321
+25 370
+26 238
+26 321
+27 238
+27 315
+28 271
+28 315
+29 271
+29 380
+30 266
+30 380
+31 266
+31 324
+32 260
+32 282
+33 280
+33 388
+34 226
+34 388
+35 226
+35 357
+36 328
+36 357
+37 232
+37 328
+38 232
+38 360
+39 262
+39 360
+40 262
+40 372
+41 337
+41 372
+42 337
+42 349
+43 336
+43 349
+44 336
+44 343
+45 210
+45 343
+46 210
+46 264
+47 308
+47 331
+48 294
+48 371
+49 260
+49 284
+50 284
+50 386
+51 301
+51 386
+52 277
+52 301
+53 277
+53 285
+54 285
+54 354
+55 354
+55 376
+56 273
+56 376
+57 273
+57 344
+58 257
+58 344
+59 276
+59 319
+60 253
+60 361
+61 361
+61 397
+62 252
+62 397
+63 203
+63 252
+64 203
+64 394
+65 351
+65 394
+66 200
+66 351
+67 234
+67 368
+68 299
+68 396
+69 385
+69 396
+70 369
+70 385
+71 338
+71 369
+72 231
+72 236
+73 207
+73 347
+74 207
+74 327
+75 202
+75 327
+76 202
+76 366
+77 233
+77 366
+78 233
+78 392
+79 275
+79 392
+80 275
+80 312
+81 230
+81 312
+82 230
+82 335
+83 296
+83 335
+84 296
+84 331
+85 264
+85 282
+86 308
+86 341
+87 245
+87 341
+88 216
+88 245
+89 216
+89 235
+90 235
+90 381
+91 290
+91 381
+92 290
+92 390
+93 239
+93 390
+94 239
+94 364
+95 251
+95 265
+96 270
+96 395
+97 205
+97 395
+98 205
+98 294
+99 221
+99 310
+100 251
+100 371
+101 270
+101 364
+102 265
+102 322
+103 322
+103 325
+104 208
+104 325
+105 208
+105 237
+106 237
+106 268
+107 297
+107 318
+108 318
+108 365
+109 298
+109 348
+110 297
+110 306
+111 219
+111 306
+112 219
+112 288
+113 288
+113 375
+114 220
+114 375
+115 220
+115 304
+116 304
+116 320
+117 279
+117 320
+118 377
+118 384
+119 287
+119 379
+120 215
+120 278
+121 261
+121 278
+122 261
+122 389
+123 367
+123 389
+124 224
+124 367
+125 224
+125 248
+126 248
+126 378
+127 378
+127 398
+128 247
+128 398
+129 247
+129 307
+130 259
+130 307
+131 259
+131 350
+132 292
+132 350
+133 292
+133 330
+134 274
+134 330
+135 274
+135 283
+136 283
+136 310
+137 374
+137 387
+138 221
+138 329
+139 329
+139 368
+140 200
+140 299
+141 234
+141 289
+142 213
+142 289
+143 213
+143 391
+144 222
+144 391
+145 222
+145 356
+146 309
+146 356
+147 352
+147 362
+148 269
+148 373
+149 287
+149 373
+150 215
+150 229
+151 300
+151 379
+152 241
+152 300
+153 241
+153 263
+154 217
+154 263
+155 217
+155 298
+156 268
+156 365
+157 333
+157 348
+158 254
+158 333
+159 254
+159 334
+160 243
+160 302
+161 253
+161 257
+162 276
+162 326
+163 346
+163 363
+164 326
+164 363
+165 231
+165 346
+166 338
+166 347
+167 228
+167 236
+168 206
+168 228
+169 206
+169 303
+170 293
+170 303
+171 272
+171 293
+172 272
+172 359
+173 281
+173 359
+174 249
+174 281
+175 249
+175 323
+176 317
+176 323
+177 313
+177 317
+178 305
+178 313
+179 305
+179 339
+180 227
+180 339
+181 227
+181 240
+182 240
+182 314
+183 314
+183 362
+184 269
+184 309
+185 311
+185 352
+186 311
+186 353
+187 250
+187 332
+188 256
+188 267
+189 212
+189 256
+190 212
+190 382
+191 291
+191 340
+192 255
+192 342
+193 223
+193 342
+194 223
+194 345
+195 244
+195 345
+196 242
+196 244
+197 242
+197 258
+198 204
+198 258
+199 204
+199 383
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/3.gr b/src/githubtests/medium_test_set/instances/3.gr
new file mode 100644
index 0000000..451a8ee
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/3.gr
@@ -0,0 +1,60 @@
+p ocr 14 20 59
+1 15
+1 16
+1 17
+1 18
+1 19
+1 20
+1 22
+1 29
+1 30
+1 31
+2 25
+3 21
+3 26
+3 27
+3 28
+3 33
+4 15
+4 16
+4 17
+4 18
+4 19
+4 20
+4 22
+4 25
+4 29
+4 30
+4 31
+5 25
+6 27
+6 33
+6 34
+7 24
+7 25
+8 15
+8 16
+8 17
+8 18
+8 19
+8 20
+8 22
+8 29
+8 30
+8 31
+9 21
+9 26
+9 28
+9 33
+10 23
+11 16
+11 17
+11 25
+11 31
+12 25
+13 23
+14 21
+14 26
+14 27
+14 28
+14 33
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/30.gr b/src/githubtests/medium_test_set/instances/30.gr
new file mode 100644
index 0000000..54c3a6f
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/30.gr
@@ -0,0 +1,185 @@
+p ocr 92 92 184
+1 129
+1 172
+2 96
+2 145
+3 103
+3 135
+4 131
+4 177
+5 163
+5 167
+6 97
+6 140
+7 110
+7 142
+8 109
+8 183
+9 96
+9 137
+10 130
+10 179
+11 113
+11 146
+12 127
+12 172
+13 118
+13 157
+14 105
+14 154
+15 101
+15 128
+16 113
+16 165
+17 126
+17 153
+18 116
+18 136
+19 131
+19 155
+20 99
+20 111
+21 107
+21 183
+22 100
+22 153
+23 112
+23 175
+24 128
+24 182
+25 99
+25 117
+26 111
+26 159
+27 97
+27 117
+28 116
+28 147
+29 134
+29 174
+30 124
+30 139
+31 148
+31 169
+32 118
+32 121
+33 101
+33 168
+34 147
+34 170
+35 141
+35 171
+36 122
+36 127
+37 123
+37 152
+38 106
+38 119
+39 106
+39 182
+40 98
+40 154
+41 138
+41 157
+42 122
+42 167
+43 168
+43 174
+44 143
+44 160
+45 107
+45 166
+46 148
+46 163
+47 104
+47 129
+48 102
+48 151
+49 115
+49 123
+50 136
+50 162
+51 110
+51 180
+52 102
+52 180
+53 166
+53 181
+54 94
+54 158
+55 150
+55 171
+56 125
+56 133
+57 130
+57 155
+58 135
+58 164
+59 119
+59 124
+60 108
+60 141
+61 112
+61 184
+62 138
+62 159
+63 164
+63 177
+64 108
+64 137
+65 104
+65 105
+66 134
+66 145
+67 144
+67 152
+68 132
+68 151
+69 120
+69 149
+70 103
+70 120
+71 150
+71 184
+72 93
+72 160
+73 126
+73 169
+74 173
+74 178
+75 125
+75 158
+76 100
+76 115
+77 109
+77 114
+78 156
+78 161
+79 132
+79 173
+80 149
+80 170
+81 114
+81 176
+82 133
+82 162
+83 165
+83 175
+84 93
+84 181
+85 95
+85 121
+86 144
+86 146
+87 95
+87 178
+88 94
+88 143
+89 156
+89 179
+90 139
+90 142
+91 98
+91 161
+92 140
+92 176
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/31.gr b/src/githubtests/medium_test_set/instances/31.gr
new file mode 100644
index 0000000..fc0663e
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/31.gr
@@ -0,0 +1,301 @@
+p ocr 150 150 300
+1 187
+1 207
+2 248
+2 272
+3 158
+3 193
+4 237
+4 266
+5 208
+5 278
+6 233
+6 286
+7 188
+7 287
+8 180
+8 293
+9 259
+9 285
+10 243
+10 245
+11 178
+11 256
+12 174
+12 177
+13 206
+13 259
+14 224
+14 236
+15 247
+15 280
+16 196
+16 270
+17 167
+17 279
+18 161
+18 265
+19 201
+19 253
+20 197
+20 240
+21 230
+21 251
+22 260
+22 290
+23 176
+23 184
+24 246
+24 298
+25 160
+25 273
+26 237
+26 289
+27 209
+27 262
+28 175
+28 190
+29 268
+29 293
+30 204
+30 277
+31 242
+31 280
+32 172
+32 190
+33 226
+33 270
+34 151
+34 210
+35 214
+35 232
+36 212
+36 277
+37 156
+37 178
+38 175
+38 274
+39 174
+39 214
+40 243
+40 276
+41 216
+41 225
+42 213
+42 229
+43 165
+43 227
+44 164
+44 221
+45 257
+45 269
+46 169
+46 264
+47 184
+47 216
+48 177
+48 231
+49 207
+49 261
+50 220
+50 241
+51 194
+51 234
+52 154
+52 182
+53 205
+53 254
+54 220
+54 264
+55 179
+55 199
+56 193
+56 282
+57 170
+57 285
+58 205
+58 219
+59 211
+59 224
+60 153
+60 157
+61 166
+61 275
+62 165
+62 195
+63 162
+63 218
+64 194
+64 297
+65 163
+65 186
+66 162
+66 203
+67 217
+67 249
+68 199
+68 284
+69 161
+69 251
+70 238
+70 296
+71 201
+71 223
+72 228
+72 239
+73 209
+73 267
+74 254
+74 281
+75 159
+75 291
+76 189
+76 241
+77 155
+77 292
+78 170
+78 260
+79 238
+79 281
+80 206
+80 294
+81 200
+81 255
+82 153
+82 275
+83 222
+83 240
+84 176
+84 227
+85 151
+85 299
+86 202
+86 282
+87 250
+87 268
+88 261
+88 297
+89 158
+89 210
+90 242
+90 276
+91 256
+91 263
+92 172
+92 191
+93 159
+93 239
+94 156
+94 228
+95 152
+95 274
+96 217
+96 271
+97 202
+97 266
+98 265
+98 295
+99 152
+99 185
+100 168
+100 236
+101 163
+101 273
+102 262
+102 288
+103 232
+103 267
+104 213
+104 219
+105 218
+105 292
+106 192
+106 244
+107 183
+107 230
+108 192
+108 300
+109 187
+109 283
+110 249
+110 279
+111 252
+111 288
+112 222
+112 294
+113 208
+113 234
+114 191
+114 198
+115 181
+115 263
+116 223
+116 235
+117 155
+117 225
+118 211
+118 231
+119 215
+119 248
+120 182
+120 185
+121 269
+121 287
+122 171
+122 173
+123 198
+123 233
+124 160
+124 229
+125 167
+125 257
+126 204
+126 247
+127 173
+127 200
+128 250
+128 298
+129 226
+129 295
+130 168
+130 195
+131 189
+131 296
+132 258
+132 299
+133 252
+133 290
+134 183
+134 300
+135 278
+135 289
+136 171
+136 212
+137 197
+137 253
+138 235
+138 291
+139 180
+139 245
+140 188
+140 272
+141 164
+141 181
+142 255
+142 283
+143 154
+143 244
+144 196
+144 221
+145 157
+145 186
+146 169
+146 246
+147 166
+147 271
+148 179
+148 203
+149 215
+149 284
+150 258
+150 286
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/32.gr b/src/githubtests/medium_test_set/instances/32.gr
new file mode 100644
index 0000000..e6a7e4f
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/32.gr
@@ -0,0 +1,387 @@
+p ocr 193 193 386
+1 226
+1 264
+2 269
+2 352
+3 270
+3 313
+4 302
+4 319
+5 227
+5 291
+6 269
+6 293
+7 257
+7 323
+8 196
+8 314
+9 218
+9 372
+10 199
+10 241
+11 241
+11 295
+12 246
+12 367
+13 260
+13 318
+14 256
+14 334
+15 234
+15 292
+16 273
+16 361
+17 198
+17 314
+18 366
+18 383
+19 229
+19 267
+20 327
+20 380
+21 296
+21 319
+22 230
+22 280
+23 245
+23 291
+24 244
+24 365
+25 217
+25 335
+26 336
+26 371
+27 274
+27 338
+28 301
+28 369
+29 250
+29 336
+30 268
+30 329
+31 201
+31 256
+32 261
+32 349
+33 297
+33 332
+34 311
+34 353
+35 196
+35 265
+36 234
+36 359
+37 252
+37 356
+38 226
+38 249
+39 198
+39 382
+40 195
+40 379
+41 243
+41 293
+42 212
+42 386
+43 259
+43 332
+44 213
+44 231
+45 197
+45 381
+46 251
+46 359
+47 206
+47 385
+48 228
+48 328
+49 205
+49 337
+50 239
+50 289
+51 266
+51 368
+52 194
+52 373
+53 254
+53 320
+54 233
+54 325
+55 220
+55 237
+56 203
+56 307
+57 313
+57 378
+58 282
+58 315
+59 209
+59 381
+60 284
+60 354
+61 202
+61 299
+62 210
+62 227
+63 304
+63 368
+64 222
+64 338
+65 288
+65 328
+66 299
+66 315
+67 197
+67 358
+68 340
+68 366
+69 218
+69 222
+70 344
+70 383
+71 253
+71 330
+72 283
+72 321
+73 263
+73 301
+74 281
+74 330
+75 194
+75 335
+76 243
+76 326
+77 259
+77 263
+78 223
+78 278
+79 236
+79 376
+80 255
+80 377
+81 267
+81 350
+82 280
+82 316
+83 262
+83 265
+84 308
+84 372
+85 212
+85 286
+86 298
+86 306
+87 246
+87 303
+88 224
+88 342
+89 307
+89 352
+90 204
+90 244
+91 376
+91 385
+92 224
+92 351
+93 262
+93 268
+94 311
+94 337
+95 310
+95 377
+96 370
+96 371
+97 275
+97 329
+98 201
+98 279
+99 275
+99 297
+100 202
+100 302
+101 294
+101 324
+102 283
+102 334
+103 348
+103 351
+104 223
+104 231
+105 225
+105 238
+106 209
+106 308
+107 230
+107 277
+108 285
+108 321
+109 344
+109 363
+110 200
+110 298
+111 295
+111 303
+112 211
+112 309
+113 240
+113 272
+114 251
+114 342
+115 279
+115 320
+116 235
+116 353
+117 294
+117 345
+118 228
+118 261
+119 282
+119 305
+120 264
+120 289
+121 216
+121 316
+122 341
+122 370
+123 356
+123 363
+124 211
+124 250
+125 317
+125 339
+126 333
+126 386
+127 233
+127 288
+128 205
+128 247
+129 200
+129 348
+130 239
+130 341
+131 214
+131 380
+132 208
+132 292
+133 257
+133 350
+134 340
+134 384
+135 276
+135 373
+136 248
+136 374
+137 333
+137 358
+138 354
+138 375
+139 199
+139 361
+140 272
+140 349
+141 300
+141 347
+142 284
+142 362
+143 278
+143 300
+144 306
+144 322
+145 215
+145 360
+146 236
+146 248
+147 255
+147 290
+148 240
+148 252
+149 260
+149 273
+150 221
+150 382
+151 270
+151 331
+152 206
+152 290
+153 357
+153 379
+154 271
+154 287
+155 203
+155 285
+156 215
+156 217
+157 213
+157 318
+158 249
+158 331
+159 232
+159 343
+160 247
+160 254
+161 281
+161 287
+162 207
+162 276
+163 296
+163 339
+164 221
+164 384
+165 324
+165 378
+166 322
+166 346
+167 229
+167 309
+168 258
+168 346
+169 258
+169 304
+170 242
+170 245
+171 362
+171 369
+172 286
+172 323
+173 235
+173 238
+174 204
+174 317
+175 219
+175 232
+176 345
+176 367
+177 312
+177 360
+178 327
+178 364
+179 195
+179 312
+180 266
+180 305
+181 225
+181 355
+182 210
+182 343
+183 310
+183 325
+184 214
+184 326
+185 207
+185 271
+186 220
+186 357
+187 347
+187 375
+188 216
+188 242
+189 237
+189 355
+190 364
+190 374
+191 274
+191 365
+192 208
+192 277
+193 219
+193 253
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/33.gr b/src/githubtests/medium_test_set/instances/33.gr
new file mode 100644
index 0000000..5a451d5
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/33.gr
@@ -0,0 +1,568 @@
+p ocr 161 162 567
+1 178
+1 262
+1 322
+2 178
+2 188
+2 209
+2 262
+2 322
+3 178
+3 188
+3 209
+4 188
+4 209
+5 171
+5 183
+5 209
+5 285
+5 310
+6 171
+6 285
+6 310
+7 171
+8 171
+8 266
+9 266
+9 269
+10 172
+10 232
+10 235
+10 266
+10 269
+10 316
+11 172
+11 232
+12 172
+12 232
+12 301
+13 172
+13 232
+13 301
+13 316
+14 176
+14 301
+15 176
+15 273
+15 276
+15 301
+16 176
+16 218
+16 227
+16 237
+16 247
+16 273
+16 281
+16 294
+17 176
+17 218
+17 256
+18 176
+18 182
+18 256
+19 176
+19 182
+19 273
+19 276
+19 294
+20 182
+20 220
+20 237
+20 247
+20 294
+21 220
+21 237
+21 281
+22 220
+22 281
+23 195
+23 220
+23 281
+24 195
+24 227
+24 281
+25 195
+25 227
+26 195
+26 218
+26 227
+27 195
+27 218
+27 256
+28 195
+28 256
+28 317
+29 182
+29 256
+29 317
+30 162
+30 179
+30 182
+30 185
+30 197
+30 217
+30 251
+30 289
+30 317
+31 182
+31 255
+31 272
+31 289
+32 180
+32 182
+32 231
+32 240
+32 272
+33 182
+33 220
+33 240
+34 212
+34 220
+34 240
+34 323
+35 195
+35 212
+35 220
+35 251
+35 317
+36 196
+36 212
+36 222
+36 251
+36 264
+37 162
+37 251
+37 260
+37 264
+38 162
+38 179
+38 185
+38 217
+38 260
+39 179
+39 260
+39 313
+39 321
+40 179
+40 197
+40 321
+41 197
+41 279
+41 289
+41 321
+42 226
+42 250
+42 255
+42 272
+42 279
+42 289
+43 226
+43 272
+44 226
+44 231
+44 272
+44 286
+45 180
+45 231
+45 240
+45 286
+46 177
+46 186
+46 212
+46 222
+46 240
+46 286
+46 323
+47 186
+47 196
+47 222
+48 186
+48 196
+48 270
+48 298
+48 302
+49 196
+49 264
+49 270
+50 219
+50 264
+50 270
+51 219
+51 243
+51 260
+51 264
+51 313
+52 208
+52 243
+52 248
+52 271
+52 313
+53 271
+53 313
+53 321
+54 167
+54 170
+54 181
+54 184
+54 271
+54 279
+54 283
+54 321
+55 167
+55 250
+55 279
+56 167
+56 226
+56 250
+56 288
+57 226
+57 288
+58 177
+58 226
+58 286
+58 288
+59 177
+59 186
+59 202
+59 288
+59 298
+59 302
+60 194
+60 202
+60 224
+60 257
+60 265
+60 270
+60 298
+60 308
+61 175
+61 219
+61 265
+61 270
+62 175
+62 219
+62 243
+63 175
+63 243
+63 319
+64 208
+64 243
+64 248
+64 280
+64 319
+65 203
+65 238
+65 248
+65 271
+65 280
+65 283
+66 238
+66 283
+66 311
+67 168
+67 184
+67 216
+67 267
+67 283
+67 297
+67 311
+68 168
+68 170
+68 184
+69 168
+69 170
+69 181
+69 223
+70 164
+70 167
+70 181
+70 223
+71 164
+71 167
+71 206
+71 300
+72 167
+72 206
+73 167
+73 206
+74 167
+74 206
+74 288
+75 194
+75 202
+75 206
+75 257
+75 288
+76 194
+76 206
+76 308
+77 198
+77 206
+77 224
+77 236
+77 239
+77 241
+77 277
+77 296
+77 308
+78 190
+78 224
+78 241
+78 275
+78 293
+79 174
+79 190
+79 221
+79 224
+79 265
+80 174
+80 265
+81 174
+81 265
+82 174
+82 175
+82 265
+82 319
+83 174
+83 280
+83 319
+84 174
+84 233
+84 280
+85 203
+85 233
+85 280
+86 203
+86 233
+87 203
+87 233
+88 203
+88 233
+89 203
+89 233
+89 238
+90 233
+90 238
+91 233
+91 238
+91 311
+92 233
+92 311
+93 233
+93 311
+94 233
+94 297
+94 311
+95 216
+95 233
+95 267
+95 297
+96 168
+96 233
+96 267
+97 168
+97 233
+98 168
+98 233
+99 168
+99 233
+99 252
+99 261
+100 164
+100 168
+100 223
+100 252
+100 282
+101 164
+101 246
+101 258
+101 282
+101 300
+102 246
+102 300
+103 206
+103 246
+103 300
+104 206
+104 239
+104 246
+104 263
+104 284
+104 309
+105 173
+105 239
+105 263
+105 287
+106 163
+106 225
+106 239
+106 287
+107 163
+107 239
+107 277
+107 296
+108 163
+108 277
+109 163
+109 166
+109 229
+109 236
+109 277
+110 166
+110 169
+110 198
+110 236
+110 241
+110 275
+111 169
+111 275
+112 169
+112 190
+112 221
+112 275
+112 293
+113 169
+113 221
+113 244
+114 221
+114 244
+115 221
+115 244
+115 278
+115 305
+116 221
+116 278
+117 174
+117 221
+117 233
+117 278
+118 233
+118 261
+118 278
+119 261
+119 278
+119 292
+120 261
+120 292
+121 252
+121 261
+121 274
+121 292
+122 252
+122 274
+123 252
+123 274
+124 252
+124 274
+124 282
+125 258
+125 274
+125 282
+126 258
+126 274
+127 246
+127 258
+127 274
+128 204
+128 246
+128 274
+128 284
+128 309
+129 204
+129 253
+129 263
+129 304
+129 309
+130 263
+130 304
+131 173
+131 200
+131 213
+131 263
+131 287
+131 304
+132 200
+132 287
+133 200
+133 242
+133 287
+134 163
+134 225
+134 242
+134 287
+135 163
+135 166
+135 169
+135 215
+135 229
+135 242
+135 244
+135 299
+136 215
+136 244
+136 305
+137 187
+137 201
+137 215
+137 305
+138 165
+138 187
+138 204
+138 274
+138 278
+138 292
+138 305
+138 318
+139 204
+139 318
+140 204
+140 318
+141 306
+141 315
+141 318
+142 315
+143 191
+143 199
+143 211
+143 249
+143 303
+143 312
+143 315
+144 205
+144 210
+144 303
+145 205
+145 245
+145 291
+146 230
+146 291
+147 230
+148 193
+148 230
+148 268
+149 193
+150 193
+151 189
+151 192
+151 193
+152 189
+152 254
+152 259
+152 290
+152 314
+153 314
+154 314
+155 314
+156 314
+157 314
+158 234
+158 314
+159 207
+159 214
+159 228
+159 234
+159 295
+159 307
+159 320
+160 320
+161 320
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/34.gr b/src/githubtests/medium_test_set/instances/34.gr
new file mode 100644
index 0000000..2d8fd1d
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/34.gr
@@ -0,0 +1,1191 @@
+p ocr 300 309 1190
+1 379
+1 545
+1 557
+2 344
+2 346
+2 379
+2 380
+2 395
+2 430
+2 557
+2 598
+3 395
+3 545
+3 557
+4 379
+4 395
+4 430
+4 545
+4 598
+5 382
+5 395
+5 430
+6 346
+6 382
+6 430
+7 310
+7 344
+7 346
+7 382
+7 505
+8 344
+8 378
+8 380
+8 395
+8 505
+9 310
+9 378
+9 382
+9 395
+10 310
+10 378
+10 505
+11 378
+11 505
+12 319
+12 378
+12 607
+13 319
+13 378
+14 319
+14 378
+15 319
+15 378
+15 568
+15 607
+16 319
+16 351
+16 486
+16 565
+16 568
+17 319
+17 351
+18 319
+18 351
+18 447
+18 565
+18 568
+19 447
+19 486
+19 565
+20 351
+20 372
+20 447
+20 477
+20 486
+20 510
+20 578
+21 351
+21 477
+21 498
+22 351
+22 498
+22 518
+23 351
+23 518
+24 351
+24 372
+24 447
+24 518
+25 372
+25 510
+25 518
+26 339
+26 510
+26 518
+26 566
+27 339
+27 412
+27 420
+27 502
+27 510
+27 556
+28 412
+28 477
+28 498
+28 510
+28 578
+29 375
+29 412
+29 416
+29 498
+30 339
+30 375
+30 498
+30 518
+30 556
+30 566
+30 571
+31 376
+31 414
+31 420
+31 422
+31 423
+31 467
+31 527
+31 556
+31 571
+31 592
+32 355
+32 396
+32 414
+32 420
+33 355
+33 420
+34 355
+34 420
+34 502
+35 342
+35 355
+35 502
+36 342
+36 412
+36 502
+36 543
+36 569
+36 581
+37 335
+37 412
+37 416
+37 442
+37 543
+37 563
+38 323
+38 324
+38 416
+38 442
+38 449
+38 506
+38 591
+38 596
+39 323
+39 416
+40 323
+40 375
+40 416
+40 571
+41 323
+41 376
+41 467
+41 571
+41 592
+42 323
+42 381
+42 396
+42 414
+42 422
+42 423
+42 527
+42 592
+43 355
+43 381
+43 396
+44 342
+44 355
+44 381
+44 569
+44 581
+45 381
+45 569
+46 381
+46 569
+47 381
+47 569
+48 381
+48 543
+48 569
+49 381
+49 543
+50 381
+50 543
+51 381
+51 543
+51 563
+52 335
+52 381
+52 426
+52 442
+52 563
+53 426
+53 442
+53 595
+54 442
+54 459
+54 595
+55 442
+55 449
+55 459
+56 449
+56 459
+57 449
+57 459
+58 305
+58 359
+58 449
+58 459
+58 468
+58 471
+59 323
+59 324
+59 359
+59 449
+59 501
+59 506
+59 591
+59 596
+60 323
+60 402
+60 425
+60 453
+60 501
+60 546
+61 323
+61 354
+61 381
+61 546
+62 354
+62 381
+63 354
+63 381
+64 354
+64 381
+64 426
+64 459
+64 595
+65 306
+65 354
+65 459
+65 497
+65 572
+66 305
+66 359
+66 459
+66 468
+66 471
+66 572
+67 359
+67 572
+68 359
+68 501
+68 572
+69 501
+69 572
+70 501
+70 572
+71 357
+71 384
+71 501
+71 507
+71 558
+71 572
+71 608
+72 402
+72 445
+72 501
+72 608
+73 402
+73 445
+73 453
+74 425
+74 445
+74 453
+74 546
+74 584
+75 546
+75 584
+76 354
+76 546
+76 584
+77 354
+77 584
+78 354
+78 584
+78 602
+79 341
+79 354
+79 602
+80 341
+80 354
+81 341
+81 354
+81 609
+82 354
+82 609
+83 354
+83 491
+83 609
+84 354
+84 485
+84 491
+84 521
+84 579
+85 354
+85 521
+86 354
+86 521
+87 354
+87 521
+87 522
+88 303
+88 354
+88 522
+88 531
+88 564
+89 303
+89 354
+90 303
+90 306
+90 354
+90 497
+90 572
+91 303
+91 572
+92 303
+92 347
+92 357
+92 360
+92 367
+92 384
+92 394
+92 417
+92 503
+92 507
+92 558
+92 572
+93 400
+93 417
+93 558
+93 608
+94 400
+94 445
+94 584
+94 608
+95 341
+95 392
+95 400
+95 515
+95 534
+95 542
+95 584
+95 602
+96 322
+96 341
+96 418
+96 542
+96 609
+97 418
+97 609
+98 348
+98 397
+98 418
+98 474
+98 491
+98 609
+99 348
+99 465
+99 490
+99 491
+99 494
+99 544
+99 585
+100 485
+100 491
+100 579
+100 585
+101 521
+101 522
+101 531
+101 579
+101 585
+102 531
+102 585
+103 303
+103 531
+103 564
+103 585
+104 303
+104 367
+104 394
+104 585
+105 365
+105 367
+105 377
+105 431
+105 438
+105 499
+105 526
+105 533
+105 585
+105 605
+106 367
+106 605
+107 347
+107 360
+107 367
+107 390
+107 400
+107 417
+107 503
+107 576
+107 587
+107 605
+108 392
+108 400
+108 475
+108 576
+109 392
+109 475
+110 392
+110 475
+110 515
+110 534
+110 539
+110 542
+111 352
+111 476
+111 539
+111 542
+112 476
+112 542
+113 322
+113 461
+113 476
+113 542
+114 322
+114 397
+114 418
+114 461
+115 397
+115 461
+116 315
+116 397
+116 461
+117 315
+117 397
+117 474
+118 315
+118 474
+119 315
+119 474
+120 315
+120 474
+120 604
+121 474
+121 604
+122 474
+122 604
+123 474
+123 604
+124 348
+124 474
+124 480
+124 604
+125 348
+125 465
+125 480
+125 490
+125 494
+125 544
+125 600
+126 530
+126 544
+126 600
+127 421
+127 514
+127 530
+127 544
+128 514
+128 544
+129 514
+129 544
+130 427
+130 514
+130 544
+130 594
+131 356
+131 427
+131 544
+132 356
+132 544
+133 356
+133 374
+133 509
+133 544
+134 374
+134 544
+135 374
+135 544
+136 374
+136 544
+137 374
+137 544
+138 374
+138 385
+138 526
+138 544
+138 585
+139 385
+139 438
+139 526
+140 311
+140 365
+140 385
+140 431
+140 438
+140 469
+140 499
+140 533
+141 311
+141 478
+141 499
+142 377
+142 478
+142 499
+142 587
+142 605
+143 312
+143 337
+143 390
+143 419
+143 456
+143 478
+143 525
+143 555
+143 587
+143 589
+144 352
+144 390
+144 408
+144 456
+144 470
+144 475
+144 539
+144 576
+145 352
+145 408
+145 476
+146 408
+146 461
+146 476
+147 315
+147 363
+147 408
+147 461
+147 480
+147 487
+147 604
+148 363
+148 424
+148 480
+149 424
+149 480
+150 424
+150 480
+150 481
+150 600
+151 473
+151 481
+151 541
+151 600
+152 541
+152 600
+153 541
+153 600
+154 541
+154 600
+155 349
+155 411
+155 421
+155 444
+155 450
+155 530
+155 541
+155 600
+156 411
+156 421
+157 411
+157 421
+157 514
+157 567
+158 514
+158 567
+159 427
+159 514
+159 567
+159 594
+160 356
+160 371
+160 427
+160 451
+160 483
+160 509
+160 567
+161 374
+161 451
+161 509
+161 549
+162 374
+162 405
+162 549
+163 374
+163 405
+164 374
+164 405
+165 374
+165 405
+166 311
+166 321
+166 361
+166 374
+166 385
+166 405
+166 434
+166 435
+166 437
+166 455
+166 469
+166 513
+166 524
+166 559
+167 311
+167 437
+167 478
+168 312
+168 369
+168 415
+168 437
+168 464
+168 478
+169 312
+169 415
+169 419
+169 525
+169 555
+169 589
+170 337
+170 415
+170 456
+170 470
+170 525
+171 415
+171 470
+172 336
+172 363
+172 408
+172 415
+172 424
+172 470
+172 473
+172 481
+172 487
+173 336
+173 340
+173 473
+173 541
+174 340
+174 541
+175 340
+175 444
+175 541
+176 340
+176 444
+177 340
+177 349
+177 444
+177 446
+177 450
+178 318
+178 373
+178 386
+178 399
+178 436
+178 446
+178 450
+178 492
+178 606
+179 373
+179 407
+179 409
+179 410
+179 411
+179 450
+179 588
+180 371
+180 411
+180 567
+180 588
+181 371
+181 451
+181 457
+181 483
+181 523
+181 588
+182 451
+182 457
+183 313
+183 451
+183 457
+183 560
+184 451
+184 560
+185 451
+185 452
+185 549
+185 560
+186 321
+186 405
+186 452
+186 513
+186 549
+187 302
+187 321
+187 434
+187 452
+188 302
+188 434
+188 516
+188 580
+189 314
+189 330
+189 361
+189 389
+189 393
+189 432
+189 434
+189 441
+189 466
+189 511
+189 516
+190 334
+190 361
+190 432
+191 334
+191 361
+192 334
+192 361
+192 524
+192 547
+193 435
+193 524
+193 547
+193 559
+194 435
+194 437
+194 455
+194 547
+195 437
+195 547
+196 369
+196 437
+196 464
+196 547
+197 370
+197 404
+197 428
+197 464
+197 547
+198 428
+198 464
+198 582
+199 464
+199 582
+200 336
+200 415
+200 464
+200 582
+201 336
+201 582
+202 336
+202 340
+202 429
+202 582
+203 340
+203 429
+203 446
+204 304
+204 429
+204 446
+204 529
+204 532
+205 327
+205 446
+205 529
+206 327
+206 386
+206 436
+206 446
+206 460
+206 492
+207 318
+207 460
+207 492
+207 574
+207 590
+207 606
+208 373
+208 399
+208 489
+208 590
+208 606
+209 373
+209 489
+209 535
+210 373
+210 535
+211 373
+211 409
+211 410
+211 493
+211 535
+212 410
+212 493
+213 407
+213 410
+213 457
+213 493
+213 523
+213 588
+214 313
+214 457
+214 493
+215 313
+215 493
+216 313
+216 493
+216 560
+217 333
+217 358
+217 493
+217 519
+217 560
+218 302
+218 333
+218 452
+218 560
+219 302
+219 333
+219 398
+219 406
+220 302
+220 398
+221 302
+221 398
+222 302
+222 345
+222 398
+222 516
+222 561
+222 562
+222 580
+222 583
+223 389
+223 516
+223 583
+224 314
+224 330
+224 389
+224 393
+224 466
+224 511
+224 583
+225 393
+225 458
+225 583
+225 603
+226 317
+226 334
+226 362
+226 370
+226 393
+226 404
+226 432
+226 441
+226 458
+226 547
+227 362
+227 370
+228 362
+228 370
+228 428
+229 304
+229 362
+229 428
+229 429
+229 575
+229 582
+230 304
+230 540
+230 553
+230 575
+231 304
+231 532
+231 553
+232 327
+232 443
+232 460
+232 529
+232 532
+232 553
+232 574
+232 590
+233 391
+233 443
+233 489
+233 590
+234 391
+234 489
+235 391
+235 489
+236 391
+236 448
+236 489
+237 448
+237 489
+237 535
+237 550
+238 517
+238 535
+238 550
+239 358
+239 493
+239 517
+239 535
+239 573
+240 326
+240 358
+240 439
+240 519
+240 573
+241 333
+241 398
+241 406
+241 439
+241 519
+241 528
+242 398
+242 528
+242 562
+243 496
+243 528
+243 562
+244 496
+244 561
+244 562
+245 383
+245 496
+245 561
+245 577
+245 586
+246 345
+246 561
+246 577
+246 583
+247 317
+247 458
+247 577
+247 583
+247 603
+248 317
+248 577
+249 317
+249 362
+249 462
+249 577
+250 301
+250 309
+250 325
+250 350
+250 353
+250 362
+250 366
+250 462
+250 472
+250 484
+250 488
+250 538
+250 540
+250 551
+250 575
+251 482
+251 540
+251 551
+251 553
+252 482
+252 553
+253 331
+253 364
+253 463
+253 482
+253 504
+253 553
+254 364
+254 553
+255 364
+255 401
+255 443
+255 520
+255 536
+255 553
+256 391
+256 401
+256 443
+256 448
+256 517
+256 550
+257 326
+257 329
+257 401
+257 439
+257 517
+257 552
+257 573
+257 597
+258 329
+258 439
+259 329
+259 439
+260 329
+260 403
+260 439
+260 570
+261 403
+261 439
+261 554
+262 328
+262 388
+262 439
+262 496
+262 528
+262 554
+262 586
+263 325
+263 383
+263 388
+263 440
+263 462
+263 537
+263 577
+263 586
+264 301
+264 325
+264 353
+264 537
+265 353
+265 537
+265 548
+266 307
+266 309
+266 353
+266 484
+266 548
+267 307
+267 309
+267 488
+268 307
+268 488
+269 307
+269 488
+270 307
+270 350
+270 488
+271 307
+271 350
+272 307
+272 316
+272 350
+272 387
+273 350
+273 366
+273 387
+273 472
+273 482
+273 538
+273 551
+273 601
+274 308
+274 331
+274 338
+274 463
+274 482
+274 500
+274 504
+274 601
+275 308
+275 331
+276 308
+276 331
+276 343
+276 364
+276 520
+276 593
+277 479
+277 520
+277 536
+277 593
+278 401
+278 479
+278 536
+279 401
+279 479
+279 552
+279 597
+280 329
+280 413
+280 479
+280 570
+280 597
+281 413
+281 454
+281 570
+282 454
+282 570
+283 403
+283 454
+283 570
+284 403
+284 433
+284 454
+285 320
+285 332
+285 368
+285 403
+285 433
+285 554
+286 328
+286 332
+286 495
+286 554
+287 328
+287 388
+287 495
+288 388
+288 495
+288 508
+288 599
+289 388
+289 440
+289 508
+289 512
+290 440
+290 537
+290 548
+291 548
+292 548
+293 307
+293 316
+293 548
+294 316
+294 338
+294 387
+294 601
+295 338
+296 338
+297 338
+298 308
+298 338
+298 343
+298 500
+298 593
+299 593
+300 593
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/35.gr b/src/githubtests/medium_test_set/instances/35.gr
new file mode 100644
index 0000000..ede0c10
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/35.gr
@@ -0,0 +1,1489 @@
+p ocr 392 384 1488
+1 410
+2 410
+3 410
+3 759
+4 410
+4 759
+5 410
+5 759
+6 410
+6 484
+6 546
+6 549
+6 561
+6 646
+6 759
+7 410
+7 646
+7 759
+8 646
+8 759
+9 646
+9 759
+10 549
+10 559
+10 561
+10 580
+10 621
+10 646
+10 721
+10 751
+10 759
+10 763
+11 484
+11 549
+11 580
+12 484
+12 580
+13 423
+13 484
+13 553
+13 580
+13 618
+14 423
+14 484
+14 546
+14 559
+14 568
+14 646
+14 763
+15 461
+15 542
+15 551
+15 559
+15 568
+15 621
+15 633
+15 721
+15 751
+15 761
+16 542
+16 751
+17 520
+17 542
+17 553
+17 580
+17 708
+17 751
+18 553
+18 708
+19 404
+19 553
+19 618
+19 708
+20 404
+20 618
+21 404
+21 618
+22 404
+22 618
+22 623
+23 525
+23 618
+23 623
+24 525
+24 618
+25 525
+25 618
+25 713
+25 723
+25 760
+26 618
+26 676
+26 699
+26 723
+27 423
+27 461
+27 568
+27 618
+27 699
+27 761
+28 461
+28 542
+28 551
+28 633
+28 699
+29 451
+29 542
+29 638
+29 699
+30 520
+30 542
+30 638
+30 664
+30 708
+31 664
+31 708
+32 404
+32 525
+32 623
+32 664
+32 708
+33 525
+33 664
+33 760
+34 439
+34 527
+34 634
+34 664
+34 743
+34 760
+35 527
+35 760
+36 527
+36 713
+36 760
+37 455
+37 527
+37 713
+37 723
+38 411
+38 437
+38 455
+38 668
+38 723
+39 437
+39 723
+39 733
+40 676
+40 723
+40 733
+41 676
+41 733
+42 555
+42 676
+42 699
+42 733
+43 407
+43 555
+43 699
+44 407
+44 699
+45 407
+45 699
+46 407
+46 699
+47 407
+47 451
+47 502
+47 638
+47 699
+48 439
+48 502
+48 527
+48 537
+48 634
+48 638
+48 653
+48 664
+48 743
+49 411
+49 455
+49 527
+49 537
+49 682
+50 411
+50 682
+51 411
+51 682
+52 411
+52 437
+52 668
+52 682
+52 733
+53 601
+53 682
+53 733
+54 407
+54 502
+54 535
+54 537
+54 555
+54 601
+54 653
+54 682
+54 733
+55 535
+55 601
+56 396
+56 535
+57 396
+57 481
+57 483
+57 485
+57 535
+58 396
+58 481
+58 483
+58 485
+58 585
+58 591
+58 595
+58 705
+58 724
+59 445
+59 591
+59 724
+60 421
+60 433
+60 445
+60 514
+60 591
+60 595
+61 514
+61 581
+61 585
+61 595
+61 680
+61 705
+62 585
+62 680
+63 585
+63 680
+63 690
+64 585
+64 690
+65 585
+65 690
+66 585
+66 690
+67 418
+67 579
+67 585
+67 685
+67 690
+67 692
+67 693
+67 711
+68 585
+68 685
+69 585
+69 685
+70 445
+70 585
+70 685
+70 724
+71 433
+71 445
+71 685
+71 741
+72 433
+72 741
+73 433
+73 741
+74 433
+74 741
+74 764
+75 433
+75 531
+75 603
+75 640
+75 674
+75 764
+76 433
+76 531
+77 416
+77 433
+77 531
+78 416
+78 421
+78 433
+79 416
+79 421
+80 393
+80 416
+80 421
+81 393
+81 421
+81 514
+81 581
+81 680
+82 393
+82 680
+83 393
+83 680
+84 393
+84 610
+84 680
+84 690
+85 541
+85 610
+85 690
+86 418
+86 467
+86 541
+86 690
+86 693
+87 467
+87 693
+88 467
+88 693
+89 467
+89 687
+89 692
+89 693
+90 579
+90 594
+90 686
+90 687
+90 692
+90 711
+91 603
+91 674
+91 685
+91 686
+91 711
+91 741
+91 764
+92 412
+92 640
+92 674
+92 686
+93 412
+93 531
+93 640
+93 667
+94 393
+94 416
+94 531
+94 667
+95 393
+95 467
+95 541
+95 610
+95 667
+96 467
+96 667
+97 467
+97 594
+97 667
+97 687
+98 594
+98 667
+99 594
+99 667
+100 594
+100 667
+100 686
+100 715
+101 412
+101 607
+101 686
+101 715
+102 412
+102 607
+102 612
+102 667
+102 715
+102 739
+103 607
+103 715
+103 739
+104 607
+104 612
+104 642
+104 739
+105 406
+105 642
+105 698
+106 642
+106 698
+107 402
+107 406
+107 642
+107 662
+107 698
+108 406
+108 454
+108 500
+108 510
+108 662
+108 698
+108 720
+108 744
+109 698
+109 744
+110 402
+110 532
+110 544
+110 684
+110 698
+110 744
+111 402
+111 532
+112 402
+112 532
+113 402
+113 532
+113 533
+114 402
+114 533
+114 662
+115 454
+115 510
+115 533
+115 662
+116 454
+116 533
+117 454
+117 533
+117 540
+118 454
+118 499
+118 540
+119 454
+119 499
+119 515
+119 666
+119 768
+120 454
+120 500
+120 515
+121 500
+121 515
+121 720
+122 515
+122 562
+122 720
+123 556
+123 562
+123 720
+124 544
+124 556
+124 720
+124 744
+125 544
+125 556
+125 684
+126 400
+126 532
+126 533
+126 556
+126 593
+126 684
+127 400
+127 533
+127 757
+128 533
+128 540
+128 588
+128 604
+128 669
+128 679
+128 736
+128 757
+129 444
+129 499
+129 540
+129 604
+129 625
+130 444
+130 499
+130 666
+130 765
+131 666
+131 765
+132 666
+132 765
+133 666
+133 765
+134 666
+134 765
+134 768
+135 515
+135 742
+135 765
+135 768
+136 515
+136 742
+137 515
+137 707
+137 742
+138 515
+138 556
+138 562
+138 706
+138 707
+139 556
+139 706
+140 556
+140 611
+140 706
+141 400
+141 556
+141 588
+141 593
+141 611
+141 669
+141 757
+142 588
+142 611
+143 457
+143 588
+143 611
+143 679
+143 753
+144 679
+144 736
+144 753
+145 417
+145 428
+145 657
+145 736
+145 753
+146 417
+146 629
+146 736
+146 756
+147 552
+147 736
+147 756
+148 444
+148 552
+148 557
+148 604
+148 613
+148 625
+148 736
+148 765
+149 613
+149 732
+149 765
+150 732
+150 765
+151 567
+151 573
+151 732
+151 765
+152 573
+152 611
+152 706
+152 707
+152 742
+152 765
+153 452
+153 457
+153 573
+153 611
+153 719
+153 775
+154 457
+154 543
+154 719
+155 399
+155 457
+155 480
+155 504
+155 543
+155 622
+155 652
+155 753
+156 480
+156 753
+157 480
+157 753
+158 480
+158 753
+159 480
+159 487
+159 753
+159 769
+160 428
+160 487
+160 753
+161 417
+161 428
+161 487
+161 554
+161 629
+161 657
+161 756
+162 554
+162 756
+163 552
+163 554
+163 624
+163 756
+164 552
+164 557
+164 613
+164 624
+165 613
+165 624
+166 613
+166 624
+167 613
+167 624
+167 732
+168 452
+168 567
+168 573
+168 624
+168 732
+169 398
+169 452
+169 473
+169 511
+169 512
+169 605
+169 624
+169 631
+169 647
+169 775
+170 478
+170 511
+170 719
+170 775
+171 453
+171 478
+171 719
+172 453
+172 719
+173 453
+173 719
+174 453
+174 543
+174 719
+175 453
+175 543
+175 622
+175 652
+176 399
+176 453
+176 652
+177 399
+177 453
+178 399
+178 453
+179 399
+179 409
+179 453
+179 571
+180 399
+180 413
+180 480
+180 504
+180 571
+181 413
+181 480
+182 413
+182 424
+182 480
+182 487
+182 517
+182 554
+182 624
+182 673
+182 677
+182 734
+182 769
+183 424
+183 431
+183 624
+183 774
+184 431
+184 456
+184 606
+184 624
+185 456
+185 512
+185 569
+185 624
+186 512
+186 569
+187 394
+187 442
+187 512
+187 569
+188 394
+188 465
+188 512
+188 631
+189 398
+189 465
+189 473
+189 511
+189 526
+189 605
+189 631
+189 647
+189 754
+190 511
+190 522
+190 526
+190 702
+191 453
+191 478
+191 511
+191 522
+191 617
+191 670
+192 453
+192 670
+193 409
+193 453
+193 571
+193 670
+194 571
+194 670
+195 413
+195 517
+195 529
+195 571
+195 670
+195 673
+195 677
+195 734
+196 397
+196 424
+196 529
+196 677
+196 774
+197 397
+197 431
+197 774
+198 397
+198 431
+199 397
+199 430
+199 431
+199 446
+200 430
+200 431
+200 456
+200 606
+201 430
+201 456
+201 490
+201 643
+201 678
+201 694
+201 722
+202 456
+202 569
+202 722
+203 569
+203 722
+204 569
+204 722
+205 442
+205 569
+205 722
+206 394
+206 442
+206 465
+206 526
+206 658
+206 722
+206 754
+207 526
+207 658
+207 702
+208 528
+208 626
+208 658
+208 702
+209 592
+209 626
+209 702
+210 397
+210 430
+210 446
+210 490
+210 522
+210 529
+210 592
+210 617
+210 670
+210 694
+210 702
+210 704
+211 694
+211 704
+212 678
+212 694
+212 704
+213 475
+213 678
+213 704
+214 475
+214 637
+214 678
+215 566
+215 637
+215 678
+215 700
+216 678
+216 700
+217 468
+217 643
+217 678
+217 700
+218 468
+218 536
+218 589
+218 643
+219 401
+219 432
+219 459
+219 494
+219 528
+219 536
+219 626
+219 643
+219 658
+219 660
+219 722
+220 626
+220 660
+221 592
+221 626
+221 660
+221 771
+222 592
+222 635
+222 731
+222 771
+223 435
+223 475
+223 547
+223 592
+223 635
+223 637
+223 704
+224 435
+224 566
+224 637
+225 408
+225 435
+225 566
+225 700
+225 703
+226 434
+226 441
+226 700
+226 703
+226 712
+226 727
+227 468
+227 675
+227 700
+227 712
+228 463
+228 468
+228 495
+228 536
+228 589
+228 655
+228 663
+228 675
+228 695
+228 755
+229 401
+229 432
+229 494
+229 536
+229 695
+230 458
+230 459
+230 494
+230 586
+230 644
+230 660
+230 695
+230 709
+230 714
+230 731
+230 771
+230 776
+231 582
+231 635
+231 714
+231 731
+232 547
+232 582
+232 635
+233 545
+233 547
+233 582
+234 545
+234 547
+235 545
+235 547
+235 609
+235 710
+235 728
+235 745
+236 408
+236 434
+236 435
+236 441
+236 547
+236 609
+236 675
+236 703
+236 712
+236 727
+237 609
+237 663
+237 675
+237 740
+238 429
+238 572
+238 614
+238 663
+238 740
+239 572
+239 663
+240 572
+240 663
+241 463
+241 506
+241 572
+241 655
+241 663
+242 506
+242 655
+243 458
+243 495
+243 506
+243 655
+243 695
+243 755
+243 776
+244 458
+244 506
+245 458
+245 506
+246 440
+246 458
+246 476
+246 506
+246 558
+247 440
+247 458
+247 563
+247 587
+248 458
+248 586
+248 587
+248 709
+249 486
+249 587
+249 644
+249 709
+250 486
+250 644
+250 714
+251 486
+251 545
+251 582
+251 710
+251 714
+251 728
+251 745
+252 403
+252 486
+252 710
+252 730
+253 710
+253 730
+254 609
+254 710
+254 730
+255 496
+255 509
+255 609
+255 730
+256 496
+256 518
+256 609
+257 429
+257 518
+257 583
+257 609
+257 614
+257 740
+258 583
+258 614
+258 650
+258 766
+259 422
+259 501
+259 614
+259 651
+259 752
+259 766
+260 422
+260 614
+261 422
+261 466
+261 614
+261 627
+261 748
+262 614
+262 627
+263 614
+263 627
+264 469
+264 492
+264 572
+264 614
+264 627
+265 469
+265 506
+265 572
+266 469
+266 506
+266 558
+267 469
+267 539
+267 558
+267 716
+268 530
+268 539
+268 558
+269 530
+269 558
+270 530
+270 558
+271 476
+271 498
+271 521
+271 530
+271 558
+272 403
+272 440
+272 476
+272 486
+272 521
+272 563
+272 587
+272 608
+273 403
+273 508
+273 608
+273 656
+273 671
+273 681
+273 683
+274 403
+274 671
+275 403
+275 671
+275 730
+276 496
+276 509
+276 518
+276 583
+276 650
+276 671
+276 730
+277 426
+277 501
+277 650
+277 651
+277 671
+277 752
+277 766
+278 426
+278 482
+278 513
+278 752
+279 395
+279 513
+279 645
+279 752
+280 497
+280 615
+280 645
+280 752
+281 422
+281 497
+281 578
+281 748
+281 752
+282 438
+282 466
+282 565
+282 578
+282 627
+282 748
+283 471
+283 492
+283 565
+283 627
+284 471
+284 492
+284 570
+285 405
+285 469
+285 479
+285 488
+285 492
+285 570
+285 726
+286 469
+286 488
+286 564
+287 469
+287 523
+287 564
+288 469
+288 523
+289 469
+289 523
+290 414
+290 469
+290 523
+290 539
+290 716
+291 414
+291 443
+291 491
+291 539
+292 443
+292 530
+292 539
+292 772
+293 427
+293 460
+293 498
+293 530
+293 772
+294 427
+294 498
+294 508
+294 521
+294 608
+294 656
+294 683
+295 427
+295 656
+295 681
+296 427
+296 681
+297 427
+297 534
+297 681
+298 426
+298 482
+298 534
+298 671
+298 681
+299 482
+299 534
+299 737
+299 750
+300 482
+300 513
+300 737
+301 395
+301 497
+301 513
+301 584
+301 615
+301 645
+301 737
+302 497
+302 584
+303 405
+303 438
+303 471
+303 497
+303 565
+303 570
+303 578
+303 584
+303 701
+304 405
+304 479
+304 701
+305 415
+305 479
+305 488
+305 701
+305 726
+306 414
+306 415
+306 488
+306 523
+306 560
+306 564
+307 414
+307 450
+307 560
+308 414
+308 450
+309 414
+309 450
+309 491
+310 450
+310 491
+311 443
+311 450
+311 460
+311 491
+311 772
+312 450
+312 460
+312 598
+312 672
+313 460
+313 577
+313 672
+313 696
+313 749
+314 427
+314 460
+314 534
+314 749
+314 750
+315 749
+315 750
+316 415
+316 450
+316 560
+316 584
+316 598
+316 701
+316 737
+316 749
+316 750
+317 598
+317 636
+317 749
+318 577
+318 598
+318 636
+318 672
+318 696
+319 577
+319 636
+320 577
+320 636
+321 577
+321 636
+321 747
+321 749
+321 767
+322 747
+322 762
+322 767
+322 773
+323 747
+323 762
+323 767
+323 773
+324 477
+324 762
+325 477
+325 762
+325 770
+326 477
+326 770
+327 550
+327 574
+327 602
+327 770
+328 550
+328 641
+328 770
+329 574
+329 602
+329 641
+329 689
+329 770
+330 550
+330 574
+330 641
+330 689
+331 449
+331 689
+331 718
+332 449
+332 689
+332 735
+333 689
+333 735
+334 449
+334 689
+334 718
+334 735
+335 449
+335 735
+336 449
+336 691
+336 735
+337 648
+337 691
+337 735
+338 474
+338 505
+338 619
+338 630
+338 648
+338 735
+339 505
+339 691
+339 735
+340 505
+340 619
+340 648
+340 691
+341 425
+341 505
+341 619
+341 630
+342 425
+342 474
+342 505
+342 516
+342 519
+342 630
+342 688
+343 425
+343 516
+343 688
+344 503
+344 516
+344 519
+344 688
+345 436
+345 447
+345 503
+345 596
+345 659
+345 688
+345 717
+346 447
+346 503
+346 688
+347 447
+347 503
+348 436
+348 447
+348 503
+348 596
+348 628
+348 659
+348 717
+349 420
+349 447
+349 448
+349 524
+349 628
+350 420
+350 489
+350 524
+350 628
+351 420
+351 448
+351 489
+351 524
+352 489
+352 524
+353 489
+353 524
+354 489
+355 489
+355 649
+356 464
+356 649
+356 697
+357 464
+357 576
+358 464
+358 576
+358 729
+359 464
+359 576
+359 729
+360 729
+361 493
+361 729
+362 493
+362 729
+363 493
+363 575
+363 639
+363 729
+363 738
+364 493
+364 548
+364 575
+364 729
+364 738
+365 548
+365 639
+365 738
+366 507
+366 548
+366 575
+366 620
+366 639
+367 419
+367 507
+367 597
+367 599
+367 620
+367 665
+367 725
+367 758
+368 507
+368 597
+368 620
+368 758
+369 597
+369 665
+369 758
+370 665
+370 758
+371 665
+371 758
+372 616
+372 665
+372 758
+373 419
+373 616
+373 665
+374 419
+374 616
+375 419
+375 538
+375 600
+375 616
+376 419
+376 538
+376 746
+377 419
+378 419
+378 599
+378 725
+379 725
+379 758
+380 538
+380 600
+380 616
+380 758
+381 538
+381 746
+382 470
+382 746
+383 470
+384 470
+385 470
+386 462
+386 470
+386 632
+386 654
+386 661
+387 654
+388 472
+388 654
+389 472
+390 472
+391 472
+391 590
+392 590
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/36.gr b/src/githubtests/medium_test_set/instances/36.gr
new file mode 100644
index 0000000..9354e76
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/36.gr
@@ -0,0 +1,81 @@
+p ocr 16 16 80
+1 28
+1 30
+1 32
+2 19
+3 19
+4 25
+4 27
+4 31
+5 21
+5 26
+5 30
+6 17
+6 18
+6 22
+6 23
+6 29
+7 20
+7 24
+7 30
+8 21
+8 24
+8 27
+9 20
+9 25
+9 32
+10 20
+10 26
+10 27
+11 19
+12 24
+12 25
+12 28
+13 19
+14 19
+15 21
+15 28
+15 31
+16 26
+16 31
+16 32
+5 17
+7 17
+8 17
+10 17
+4 18
+9 18
+10 18
+16 18
+3 20
+13 20
+11 21
+14 21
+1 22
+7 22
+9 22
+12 22
+4 23
+8 23
+12 23
+15 23
+3 24
+11 24
+2 25
+3 25
+13 26
+14 26
+3 27
+14 27
+2 28
+11 28
+1 29
+5 29
+15 29
+16 29
+11 30
+13 30
+2 31
+14 31
+2 32
+13 32
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/37.gr b/src/githubtests/medium_test_set/instances/37.gr
new file mode 100644
index 0000000..e3b8adb
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/37.gr
@@ -0,0 +1,193 @@
+p ocr 32 32 192
+1 35
+1 48
+2 48
+2 61
+3 35
+3 59
+4 39
+4 43
+4 58
+4 63
+5 42
+5 48
+6 50
+6 52
+6 57
+6 62
+7 33
+7 44
+7 47
+7 57
+8 38
+8 43
+8 44
+8 54
+9 45
+9 61
+10 35
+10 45
+11 59
+11 61
+12 35
+12 42
+13 49
+13 54
+13 56
+13 57
+14 42
+14 59
+15 43
+15 47
+15 49
+15 51
+16 35
+16 61
+17 36
+17 37
+17 40
+17 53
+17 60
+17 64
+18 41
+18 44
+18 62
+18 63
+19 46
+19 49
+19 52
+19 58
+20 42
+20 61
+22 33
+22 38
+22 51
+22 56
+23 34
+23 46
+23 50
+23 56
+24 47
+24 52
+24 55
+24 63
+25 39
+25 46
+25 51
+25 55
+26 45
+26 48
+27 42
+27 45
+28 34
+28 38
+28 39
+28 41
+29 48
+29 59
+30 34
+30 54
+30 58
+30 62
+31 45
+31 59
+32 33
+32 41
+32 50
+32 55
+2 33
+5 33
+20 33
+9 34
+11 34
+31 34
+21 35
+4 36
+15 36
+19 36
+24 36
+25 36
+6 37
+13 37
+19 37
+23 37
+30 37
+2 38
+11 38
+29 38
+26 39
+29 39
+31 39
+6 40
+7 40
+18 40
+24 40
+32 40
+2 41
+9 41
+26 41
+21 42
+1 43
+3 43
+29 43
+1 44
+2 44
+16 44
+21 45
+14 46
+27 46
+31 46
+1 47
+5 47
+12 47
+21 48
+3 49
+12 49
+14 49
+9 50
+20 50
+27 50
+5 51
+14 51
+29 51
+10 52
+12 52
+27 52
+22 53
+23 53
+25 53
+28 53
+32 53
+3 54
+11 54
+16 54
+5 55
+26 55
+27 55
+11 56
+14 56
+20 56
+12 57
+16 57
+20 57
+3 58
+10 58
+31 58
+21 59
+7 60
+8 60
+13 60
+15 60
+22 60
+21 61
+9 62
+10 62
+16 62
+1 63
+10 63
+26 63
+4 64
+8 64
+18 64
+28 64
+30 64
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/38.gr b/src/githubtests/medium_test_set/instances/38.gr
new file mode 100644
index 0000000..28b96aa
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/38.gr
@@ -0,0 +1,372 @@
+p ocr 178 194 371
+1 359
+2 204
+2 205
+2 209
+2 258
+2 310
+2 356
+3 338
+4 298
+4 330
+5 182
+5 228
+5 314
+6 300
+7 198
+8 235
+9 252
+9 289
+9 348
+10 196
+10 224
+11 230
+11 278
+12 269
+12 365
+13 238
+14 362
+15 334
+16 187
+17 355
+18 200
+19 180
+19 280
+20 305
+20 312
+21 237
+21 336
+22 186
+22 241
+22 276
+22 297
+22 303
+22 329
+22 333
+22 358
+23 239
+23 264
+23 273
+23 316
+23 332
+24 352
+25 285
+25 353
+26 361
+27 247
+28 367
+29 183
+30 342
+30 349
+31 293
+32 197
+32 246
+32 272
+33 283
+33 290
+33 295
+34 181
+34 208
+34 243
+35 184
+35 189
+35 226
+36 233
+37 221
+37 287
+38 214
+39 270
+40 311
+41 279
+41 302
+42 346
+43 254
+43 262
+43 288
+44 217
+45 313
+46 294
+47 363
+48 364
+49 325
+50 190
+50 275
+51 236
+51 253
+51 261
+52 194
+52 341
+53 345
+54 207
+54 370
+55 225
+55 267
+55 366
+56 203
+56 335
+57 351
+58 216
+58 331
+59 229
+59 231
+59 271
+59 326
+60 213
+60 318
+61 227
+61 265
+61 286
+61 328
+62 188
+62 299
+63 255
+63 274
+68 193
+68 244
+68 324
+68 340
+68 354
+68 357
+80 185
+80 218
+80 256
+80 368
+81 292
+85 220
+86 202
+86 284
+87 222
+87 260
+87 291
+90 191
+90 350
+92 206
+92 245
+92 306
+93 315
+93 344
+103 223
+103 242
+103 249
+103 301
+103 307
+103 319
+103 371
+104 201
+104 343
+107 251
+107 322
+108 195
+108 309
+108 369
+114 212
+114 215
+114 327
+118 232
+118 250
+118 277
+118 321
+120 192
+120 282
+120 320
+123 199
+123 263
+127 339
+136 268
+136 317
+138 308
+142 248
+142 257
+144 219
+146 266
+149 210
+149 304
+150 179
+150 259
+150 347
+153 234
+153 240
+153 372
+159 337
+175 281
+178 211
+178 296
+178 323
+178 360
+35 181
+142 181
+6 182
+78 182
+30 183
+124 183
+23 186
+17 187
+88 187
+63 188
+36 189
+51 190
+160 194
+161 194
+128 197
+129 197
+8 198
+79 198
+80 198
+19 200
+57 203
+164 203
+66 205
+67 205
+55 207
+65 209
+39 214
+145 214
+59 216
+45 217
+11 224
+162 225
+143 226
+173 227
+174 227
+77 228
+170 229
+166 231
+167 231
+168 231
+169 231
+37 233
+144 233
+9 235
+81 235
+52 236
+156 236
+157 236
+158 236
+159 236
+22 237
+92 237
+93 237
+14 238
+140 243
+141 243
+33 246
+28 247
+116 247
+117 247
+118 247
+119 247
+120 247
+121 247
+122 247
+44 254
+178 255
+155 261
+148 262
+24 264
+103 264
+56 267
+13 269
+85 269
+40 270
+60 271
+171 271
+172 271
+177 274
+154 275
+12 278
+42 279
+20 280
+34 283
+135 283
+136 283
+137 283
+138 283
+139 283
+26 285
+114 285
+38 287
+10 289
+32 293
+127 293
+47 294
+130 295
+131 295
+132 295
+133 295
+134 295
+100 297
+5 298
+76 298
+7 300
+147 302
+94 303
+95 303
+96 303
+89 305
+64 310
+41 311
+146 311
+21 312
+90 312
+91 312
+46 313
+149 313
+61 318
+50 325
+152 325
+153 325
+165 326
+62 328
+175 328
+176 328
+71 330
+72 330
+73 330
+74 330
+75 330
+102 332
+101 333
+16 334
+4 338
+70 338
+53 341
+31 342
+54 345
+43 346
+82 348
+125 349
+126 349
+58 351
+25 352
+104 352
+105 352
+106 352
+107 352
+108 352
+109 353
+110 353
+111 353
+112 353
+113 353
+18 355
+3 356
+68 356
+69 356
+97 358
+98 358
+99 358
+2 359
+27 361
+115 361
+15 362
+86 362
+87 362
+48 363
+150 363
+151 363
+49 364
+83 365
+84 365
+163 366
+29 367
+123 367
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/39.gr b/src/githubtests/medium_test_set/instances/39.gr
new file mode 100644
index 0000000..bbe39fe
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/39.gr
@@ -0,0 +1,378 @@
+p ocr 186 192 377
+1 301
+2 361
+3 378
+4 211
+4 265
+4 349
+4 375
+5 270
+6 240
+7 257
+8 215
+8 276
+8 309
+8 346
+8 356
+8 360
+9 312
+10 326
+10 338
+11 287
+12 277
+13 208
+13 250
+13 306
+13 323
+13 351
+14 195
+14 316
+14 331
+15 318
+16 285
+17 280
+18 248
+19 279
+19 320
+19 334
+19 350
+20 278
+21 193
+21 205
+21 218
+21 274
+21 300
+21 348
+21 362
+22 281
+23 221
+24 258
+24 372
+25 197
+25 317
+26 341
+27 355
+28 289
+28 344
+29 290
+29 313
+29 328
+29 374
+30 310
+30 325
+31 308
+32 187
+33 201
+33 251
+34 188
+34 210
+35 198
+35 220
+36 190
+36 222
+36 264
+36 284
+36 293
+36 294
+36 369
+37 207
+37 235
+37 363
+37 367
+38 229
+38 267
+39 268
+39 302
+40 206
+40 231
+40 238
+40 256
+40 263
+40 283
+40 333
+40 343
+40 371
+41 303
+42 339
+43 225
+44 262
+45 204
+45 366
+46 259
+47 261
+47 314
+48 223
+48 357
+48 359
+49 232
+49 252
+49 266
+49 269
+50 288
+51 327
+52 209
+52 364
+53 376
+54 199
+55 216
+56 200
+56 253
+56 340
+57 298
+58 254
+59 239
+60 282
+61 226
+64 192
+64 203
+64 227
+64 305
+65 373
+74 202
+74 315
+78 233
+78 242
+80 336
+81 246
+81 377
+82 271
+82 329
+90 319
+92 243
+92 272
+92 286
+92 365
+93 191
+93 196
+93 212
+94 214
+94 260
+95 354
+106 337
+106 353
+106 370
+108 213
+108 219
+108 275
+112 230
+113 307
+115 304
+116 224
+116 244
+116 292
+116 342
+120 194
+121 324
+136 249
+136 273
+136 296
+136 297
+158 217
+158 241
+158 311
+158 347
+164 189
+164 299
+164 358
+164 368
+166 291
+175 255
+175 322
+175 335
+175 345
+177 295
+178 332
+179 237
+179 330
+181 245
+182 247
+183 228
+185 234
+185 236
+185 321
+185 352
+33 187
+35 188
+138 188
+37 190
+22 193
+26 197
+117 197
+36 198
+141 198
+55 199
+179 199
+133 201
+134 201
+135 201
+159 204
+101 205
+147 207
+53 209
+173 209
+174 209
+175 209
+137 210
+63 211
+56 216
+180 216
+181 216
+182 216
+183 216
+184 216
+185 216
+139 220
+140 220
+24 221
+108 221
+109 221
+49 223
+44 225
+158 225
+148 229
+149 229
+153 231
+154 231
+50 232
+156 238
+7 240
+19 248
+14 250
+89 250
+90 250
+34 251
+136 251
+169 252
+170 252
+186 253
+8 257
+64 257
+65 257
+66 257
+67 257
+68 257
+110 258
+47 259
+48 261
+162 261
+163 261
+164 261
+165 261
+166 261
+45 262
+155 263
+5 265
+171 266
+39 267
+150 268
+168 269
+6 270
+72 276
+73 276
+13 277
+21 278
+96 279
+97 279
+98 279
+18 280
+95 280
+23 281
+102 281
+103 281
+104 281
+105 281
+106 281
+107 281
+152 283
+17 285
+94 285
+12 287
+78 287
+79 287
+80 287
+81 287
+82 287
+51 288
+122 289
+123 289
+124 289
+132 290
+142 294
+143 294
+144 294
+145 294
+146 294
+2 301
+58 301
+40 302
+42 303
+32 308
+71 309
+10 312
+129 313
+130 313
+131 313
+161 314
+91 316
+16 318
+92 318
+93 318
+84 323
+85 323
+86 323
+87 323
+88 323
+31 325
+11 326
+52 327
+172 327
+30 328
+15 331
+157 333
+20 334
+75 338
+76 338
+77 338
+43 339
+57 340
+27 341
+118 341
+119 341
+120 341
+121 341
+151 343
+29 344
+9 346
+74 346
+99 350
+100 350
+83 351
+28 355
+69 356
+70 356
+167 359
+3 361
+59 361
+46 366
+160 366
+38 367
+41 371
+25 372
+111 372
+112 372
+113 372
+114 372
+115 372
+116 372
+125 374
+126 374
+127 374
+128 374
+54 376
+176 376
+177 376
+178 376
+4 378
+60 378
+61 378
+62 378
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/4.gr b/src/githubtests/medium_test_set/instances/4.gr
new file mode 100644
index 0000000..d22f6bc
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/4.gr
@@ -0,0 +1,140 @@
+p ocr 26 26 139
+1 32
+1 40
+1 44
+2 31
+2 32
+2 40
+2 44
+3 32
+3 33
+3 44
+4 28
+4 33
+4 36
+4 39
+4 41
+4 46
+4 48
+4 49
+4 50
+4 52
+5 28
+5 30
+5 36
+5 41
+5 43
+5 46
+5 48
+5 49
+5 50
+5 52
+6 27
+6 31
+6 34
+6 45
+7 30
+7 37
+7 38
+7 42
+7 43
+7 51
+8 32
+8 40
+8 44
+9 28
+9 29
+9 33
+9 35
+9 36
+9 39
+9 47
+9 48
+9 49
+9 50
+9 52
+10 41
+10 43
+10 46
+10 48
+10 49
+10 50
+10 52
+11 27
+11 31
+11 34
+11 45
+12 38
+12 42
+13 28
+13 29
+13 33
+13 35
+13 36
+13 39
+13 47
+13 48
+13 49
+13 50
+13 52
+14 30
+14 41
+14 42
+14 43
+14 46
+15 30
+15 41
+15 43
+15 46
+15 48
+15 49
+15 50
+15 52
+16 27
+16 31
+16 34
+16 45
+17 29
+17 32
+17 33
+17 35
+17 39
+17 44
+17 47
+18 32
+18 44
+19 38
+19 42
+20 31
+21 31
+21 32
+21 40
+21 44
+22 30
+22 37
+22 38
+22 42
+22 43
+22 51
+23 32
+23 44
+24 29
+24 33
+24 35
+24 39
+24 47
+24 48
+24 49
+24 50
+24 52
+25 29
+25 32
+25 33
+25 35
+25 39
+25 44
+25 47
+26 31
+26 32
+26 40
+26 44
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/40.gr b/src/githubtests/medium_test_set/instances/40.gr
new file mode 100644
index 0000000..dda6534
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/40.gr
@@ -0,0 +1,404 @@
+p ocr 198 206 403
+1 259
+1 316
+2 214
+3 354
+4 301
+5 317
+6 272
+6 293
+6 300
+6 318
+6 338
+7 336
+8 211
+8 395
+9 344
+9 346
+10 274
+10 322
+11 282
+11 290
+12 234
+12 350
+13 203
+13 256
+14 245
+15 260
+15 306
+15 394
+16 222
+16 261
+16 280
+16 292
+16 362
+16 400
+17 208
+18 348
+18 355
+19 233
+19 253
+20 330
+20 332
+21 252
+21 284
+21 333
+22 249
+23 262
+24 223
+24 238
+24 310
+24 343
+24 398
+25 265
+25 299
+26 235
+26 363
+26 404
+27 232
+27 254
+27 258
+27 321
+27 358
+27 384
+28 323
+29 366
+30 248
+31 373
+32 298
+33 227
+33 327
+33 342
+34 270
+34 365
+35 331
+36 286
+36 340
+36 377
+37 237
+38 295
+38 328
+39 263
+40 228
+40 329
+41 311
+41 345
+41 382
+42 351
+42 381
+43 230
+44 287
+45 385
+45 403
+46 308
+47 231
+47 269
+47 347
+47 393
+48 388
+49 380
+50 266
+50 283
+51 219
+51 264
+51 324
+51 356
+52 339
+53 215
+53 236
+53 275
+53 305
+53 307
+53 341
+54 303
+55 325
+55 401
+56 207
+56 267
+56 276
+57 392
+58 199
+58 304
+59 209
+59 369
+59 378
+60 268
+60 314
+60 360
+60 361
+61 221
+61 278
+62 383
+63 368
+64 337
+65 402
+66 312
+67 206
+67 213
+67 218
+67 271
+67 285
+68 201
+68 289
+69 349
+70 335
+70 367
+71 217
+72 294
+72 297
+72 396
+73 241
+74 255
+74 389
+75 279
+75 288
+75 399
+76 212
+76 246
+76 364
+77 247
+77 313
+78 226
+78 257
+80 202
+82 353
+91 224
+91 244
+92 326
+102 229
+102 357
+114 334
+115 370
+125 296
+126 359
+126 375
+127 225
+127 242
+132 391
+133 376
+134 387
+137 320
+139 309
+143 302
+144 205
+145 315
+154 204
+154 319
+154 379
+157 240
+157 243
+157 273
+159 216
+170 239
+170 390
+172 251
+174 277
+174 281
+175 352
+177 374
+177 397
+179 200
+179 372
+179 386
+180 210
+180 291
+184 250
+184 371
+197 220
+69 201
+179 201
+14 203
+95 203
+57 207
+18 208
+9 211
+88 211
+77 212
+68 213
+176 213
+177 213
+178 213
+3 214
+146 215
+147 215
+148 215
+149 215
+72 217
+163 221
+164 221
+165 221
+166 221
+117 223
+118 223
+198 226
+44 230
+48 231
+28 232
+107 233
+108 233
+109 233
+110 233
+13 234
+120 235
+38 237
+119 238
+74 241
+15 245
+189 246
+190 246
+191 246
+192 246
+193 246
+194 246
+78 247
+197 247
+31 248
+127 248
+23 249
+114 249
+115 249
+20 253
+185 255
+94 256
+2 259
+97 260
+98 260
+99 260
+100 260
+101 260
+103 261
+24 262
+116 262
+40 263
+52 264
+144 264
+145 264
+51 266
+141 266
+142 266
+143 266
+129 270
+130 270
+131 270
+11 274
+158 276
+62 278
+167 278
+188 279
+17 280
+106 280
+12 282
+91 282
+92 282
+140 283
+113 284
+45 287
+133 287
+134 287
+104 292
+105 292
+7 293
+73 294
+39 295
+33 298
+26 299
+83 300
+5 301
+82 301
+55 303
+154 303
+59 304
+159 304
+160 304
+96 306
+54 307
+47 308
+135 308
+136 308
+137 308
+67 312
+196 313
+162 314
+6 317
+84 318
+85 318
+86 318
+87 318
+122 321
+29 323
+155 325
+34 327
+41 329
+132 329
+111 330
+36 331
+21 332
+112 332
+22 333
+181 335
+182 335
+8 336
+65 337
+171 337
+53 339
+150 341
+151 341
+152 341
+153 341
+128 342
+10 344
+90 344
+42 345
+89 346
+19 348
+70 349
+180 349
+93 350
+4 354
+79 354
+80 354
+81 354
+121 358
+61 361
+195 364
+35 365
+30 366
+125 366
+126 366
+71 367
+183 367
+184 367
+64 368
+168 368
+169 368
+170 368
+32 373
+37 377
+60 378
+161 378
+50 380
+139 380
+43 381
+63 383
+123 384
+124 384
+49 388
+75 389
+186 389
+187 389
+58 392
+138 393
+16 394
+102 394
+25 398
+76 399
+56 401
+156 401
+157 401
+66 402
+172 402
+173 402
+174 402
+175 402
+46 403
+27 404
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/41.gr b/src/githubtests/medium_test_set/instances/41.gr
new file mode 100644
index 0000000..4cbf4c9
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/41.gr
@@ -0,0 +1,190 @@
+p ocr 189 24 189
+1 195
+2 197
+3 195
+4 195
+5 197
+6 197
+7 197
+8 195
+9 199
+10 195
+11 195
+12 197
+13 199
+14 197
+15 199
+16 195
+17 195
+18 197
+19 195
+20 197
+21 193
+22 193
+23 198
+24 193
+25 198
+26 193
+27 193
+28 193
+29 198
+30 196
+31 193
+32 193
+33 193
+34 196
+35 196
+36 198
+37 196
+38 198
+39 193
+40 198
+41 193
+42 198
+43 196
+44 193
+45 202
+46 212
+47 212
+48 202
+49 202
+50 202
+51 212
+52 209
+53 202
+54 212
+55 209
+56 202
+57 212
+58 212
+59 209
+60 212
+61 212
+62 209
+63 212
+64 202
+65 212
+66 209
+67 212
+68 201
+69 201
+70 201
+71 208
+72 207
+73 201
+74 207
+75 207
+76 201
+77 201
+78 201
+79 201
+80 201
+81 208
+82 207
+83 208
+84 208
+85 201
+86 201
+87 208
+88 208
+89 207
+90 208
+91 208
+92 208
+93 208
+94 207
+95 208
+96 206
+97 213
+98 213
+99 213
+100 213
+101 213
+102 213
+103 206
+104 206
+105 206
+106 204
+107 204
+108 206
+109 204
+110 206
+111 213
+112 213
+113 206
+114 206
+115 210
+116 203
+117 200
+118 210
+119 210
+120 210
+121 200
+122 200
+123 203
+124 203
+125 200
+126 203
+127 200
+128 203
+129 210
+130 200
+131 203
+132 200
+133 210
+134 203
+135 203
+136 203
+137 203
+138 210
+139 210
+140 200
+141 210
+142 203
+143 203
+144 210
+145 210
+146 191
+147 194
+148 194
+149 191
+150 194
+151 205
+152 194
+153 205
+154 205
+155 194
+156 205
+157 194
+158 205
+159 205
+160 205
+161 194
+162 205
+163 205
+164 194
+165 205
+166 194
+167 205
+168 194
+169 191
+170 194
+171 194
+172 191
+173 192
+174 211
+175 192
+176 192
+177 192
+178 190
+179 192
+180 190
+181 192
+182 192
+183 192
+184 192
+185 192
+186 211
+187 190
+188 192
+189 211
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/42.gr b/src/githubtests/medium_test_set/instances/42.gr
new file mode 100644
index 0000000..dd718aa
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/42.gr
@@ -0,0 +1,197 @@
+p ocr 196 42 196
+1 206
+2 209
+3 227
+4 234
+5 203
+6 227
+7 234
+8 227
+9 209
+10 203
+11 209
+12 232
+13 203
+14 227
+15 227
+16 227
+17 232
+18 232
+19 203
+20 206
+21 206
+22 234
+23 222
+24 214
+25 236
+26 217
+27 222
+28 222
+29 211
+30 222
+31 214
+32 214
+33 211
+34 211
+35 222
+36 222
+37 223
+38 217
+39 217
+40 214
+41 223
+42 222
+43 211
+44 214
+45 211
+46 211
+47 214
+48 236
+49 236
+50 211
+51 223
+52 211
+53 214
+54 223
+55 208
+56 202
+57 200
+58 208
+59 200
+60 208
+61 197
+62 200
+63 225
+64 225
+65 202
+66 231
+67 202
+68 197
+69 225
+70 208
+71 231
+72 197
+73 197
+74 202
+75 208
+76 231
+77 197
+78 200
+79 202
+80 225
+81 225
+82 225
+83 197
+84 231
+85 208
+86 208
+87 199
+88 235
+89 238
+90 224
+91 233
+92 205
+93 224
+94 205
+95 238
+96 199
+97 199
+98 199
+99 205
+100 233
+101 224
+102 224
+103 238
+104 238
+105 224
+106 233
+107 235
+108 224
+109 238
+110 205
+111 224
+112 235
+113 224
+114 213
+115 218
+116 204
+117 204
+118 213
+119 226
+120 204
+121 226
+122 229
+123 213
+124 226
+125 198
+126 229
+127 213
+128 226
+129 213
+130 213
+131 204
+132 198
+133 218
+134 218
+135 218
+136 213
+137 218
+138 229
+139 226
+140 213
+141 218
+142 204
+143 226
+144 198
+145 220
+146 221
+147 220
+148 220
+149 230
+150 215
+151 221
+152 221
+153 216
+154 215
+155 215
+156 237
+157 216
+158 221
+159 216
+160 220
+161 237
+162 230
+163 216
+164 230
+165 237
+166 221
+167 237
+168 221
+169 215
+170 215
+171 212
+172 207
+173 210
+174 207
+175 212
+176 201
+177 207
+178 212
+179 212
+180 219
+181 219
+182 210
+183 210
+184 219
+185 212
+186 207
+187 207
+188 228
+189 201
+190 210
+191 210
+192 219
+193 207
+194 228
+195 201
+196 228
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/43.gr b/src/githubtests/medium_test_set/instances/43.gr
new file mode 100644
index 0000000..4f09954
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/43.gr
@@ -0,0 +1,285 @@
+p ocr 284 48 284
+1 322
+2 290
+3 297
+4 319
+5 290
+6 290
+7 322
+8 323
+9 319
+10 312
+11 297
+12 290
+13 290
+14 290
+15 297
+16 322
+17 290
+18 297
+19 323
+20 297
+21 312
+22 319
+23 312
+24 297
+25 297
+26 323
+27 322
+28 295
+29 318
+30 303
+31 306
+32 306
+33 318
+34 306
+35 295
+36 296
+37 303
+38 295
+39 295
+40 303
+41 306
+42 296
+43 318
+44 306
+45 318
+46 296
+47 318
+48 295
+49 306
+50 318
+51 318
+52 318
+53 287
+54 318
+55 306
+56 303
+57 287
+58 303
+59 287
+60 295
+61 296
+62 294
+63 326
+64 286
+65 328
+66 286
+67 294
+68 294
+69 286
+70 293
+71 328
+72 288
+73 288
+74 286
+75 288
+76 326
+77 328
+78 294
+79 286
+80 286
+81 293
+82 326
+83 294
+84 288
+85 326
+86 326
+87 294
+88 288
+89 286
+90 288
+91 328
+92 293
+93 294
+94 286
+95 294
+96 286
+97 285
+98 332
+99 302
+100 285
+101 292
+102 329
+103 300
+104 292
+105 302
+106 285
+107 332
+108 302
+109 300
+110 300
+111 292
+112 329
+113 300
+114 285
+115 285
+116 332
+117 292
+118 285
+119 302
+120 292
+121 300
+122 302
+123 302
+124 292
+125 300
+126 329
+127 329
+128 302
+129 302
+130 300
+131 332
+132 285
+133 285
+134 332
+135 329
+136 329
+137 302
+138 310
+139 309
+140 309
+141 310
+142 309
+143 310
+144 305
+145 309
+146 308
+147 309
+148 305
+149 316
+150 308
+151 316
+152 308
+153 305
+154 310
+155 310
+156 324
+157 309
+158 305
+159 305
+160 324
+161 305
+162 305
+163 324
+164 308
+165 316
+166 310
+167 310
+168 309
+169 310
+170 310
+171 305
+172 308
+173 331
+174 301
+175 301
+176 311
+177 311
+178 320
+179 289
+180 331
+181 298
+182 289
+183 301
+184 311
+185 298
+186 311
+187 311
+188 301
+189 301
+190 331
+191 320
+192 331
+193 320
+194 301
+195 289
+196 311
+197 311
+198 298
+199 301
+200 289
+201 289
+202 331
+203 301
+204 289
+205 331
+206 311
+207 311
+208 321
+209 307
+210 307
+211 315
+212 321
+213 313
+214 291
+215 315
+216 307
+217 313
+218 307
+219 325
+220 325
+221 291
+222 325
+223 291
+224 321
+225 321
+226 325
+227 291
+228 307
+229 325
+230 307
+231 321
+232 325
+233 315
+234 321
+235 291
+236 321
+237 315
+238 307
+239 321
+240 321
+241 325
+242 291
+243 325
+244 307
+245 313
+246 291
+247 299
+248 317
+249 330
+250 299
+251 299
+252 317
+253 314
+254 304
+255 330
+256 304
+257 314
+258 304
+259 317
+260 299
+261 317
+262 304
+263 327
+264 330
+265 304
+266 317
+267 314
+268 317
+269 330
+270 299
+271 304
+272 330
+273 299
+274 299
+275 304
+276 327
+277 304
+278 330
+279 299
+280 317
+281 299
+282 304
+283 317
+284 327
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/44.gr b/src/githubtests/medium_test_set/instances/44.gr
new file mode 100644
index 0000000..fa811ba
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/44.gr
@@ -0,0 +1,1650 @@
+p ocr 855 221 1649
+1 880
+1 1034
+2 1020
+3 981
+3 1048
+3 1052
+4 1045
+5 911
+5 998
+6 891
+9 911
+9 981
+10 981
+11 998
+14 868
+14 1052
+14 1063
+15 884
+15 940
+15 948
+16 868
+16 890
+16 926
+17 868
+17 926
+17 948
+17 1063
+18 868
+18 880
+18 1031
+19 1059
+20 906
+20 1031
+21 880
+21 950
+21 998
+21 1008
+22 911
+23 998
+24 1047
+24 1063
+25 940
+25 998
+26 906
+26 1034
+26 1055
+27 884
+27 1008
+27 1034
+28 868
+28 1047
+29 868
+29 1031
+29 1045
+29 1055
+30 880
+31 890
+31 1047
+32 868
+32 891
+32 998
+32 1031
+32 1047
+32 1063
+33 880
+34 880
+34 940
+34 950
+34 981
+35 890
+36 1047
+37 1008
+38 950
+38 1047
+39 1048
+40 950
+41 926
+41 1008
+41 1045
+41 1047
+42 911
+42 1063
+43 1008
+43 1048
+45 926
+45 1034
+45 1063
+46 1045
+46 1048
+46 1055
+47 1031
+49 891
+49 1052
+50 940
+51 1063
+52 880
+52 950
+52 1020
+52 1063
+53 891
+53 906
+53 1047
+54 911
+54 1063
+55 911
+55 998
+56 1020
+56 1031
+56 1048
+57 1048
+58 891
+60 950
+60 1034
+61 998
+62 911
+63 981
+63 1045
+63 1052
+64 868
+64 1045
+65 1020
+65 1052
+65 1055
+67 880
+68 891
+68 998
+68 1008
+68 1034
+69 1034
+69 1055
+69 1063
+70 981
+70 1008
+71 1008
+71 1045
+71 1048
+72 880
+72 1034
+72 1047
+73 890
+73 906
+73 940
+73 998
+73 1045
+73 1048
+73 1055
+74 926
+76 868
+76 880
+76 1047
+77 998
+78 1047
+80 906
+80 948
+81 880
+81 906
+81 950
+81 1048
+81 1059
+82 1048
+82 1055
+82 1063
+83 868
+83 1034
+83 1047
+84 890
+84 998
+85 880
+85 911
+85 1034
+87 940
+87 950
+87 1034
+87 1052
+88 1008
+89 948
+90 884
+90 1034
+90 1059
+91 915
+91 987
+91 1073
+92 876
+92 915
+92 946
+92 959
+93 898
+93 915
+93 956
+93 987
+93 1066
+94 898
+94 959
+94 1002
+95 958
+95 961
+95 983
+95 987
+95 1002
+95 1026
+95 1066
+96 959
+96 961
+96 977
+96 1026
+97 898
+97 946
+97 953
+97 958
+97 959
+97 961
+97 1033
+98 1033
+99 857
+99 937
+99 946
+99 949
+99 992
+99 1002
+100 1002
+100 1026
+101 898
+101 977
+101 987
+101 1018
+102 945
+102 949
+102 959
+102 987
+103 857
+103 945
+103 946
+103 959
+103 961
+104 983
+104 1066
+105 937
+105 949
+105 958
+105 1018
+105 1026
+106 857
+106 876
+106 937
+107 958
+107 987
+107 1002
+107 1026
+108 898
+108 937
+108 961
+108 1033
+109 876
+109 937
+109 983
+110 876
+110 898
+110 983
+110 1002
+111 937
+111 977
+111 987
+111 992
+111 1053
+111 1066
+112 946
+112 977
+112 987
+112 992
+112 1066
+112 1073
+113 876
+113 945
+113 949
+113 961
+113 1026
+113 1033
+113 1053
+113 1066
+114 876
+114 961
+114 983
+114 992
+114 1018
+114 1033
+115 977
+115 1002
+116 977
+116 1073
+117 876
+117 983
+117 1026
+117 1066
+118 953
+118 958
+118 959
+118 1066
+118 1073
+119 857
+119 898
+119 946
+119 1002
+120 977
+120 992
+120 1002
+120 1033
+121 945
+121 1002
+121 1026
+121 1066
+122 956
+122 959
+122 1053
+122 1073
+123 898
+123 937
+124 876
+124 946
+124 949
+124 1026
+125 876
+125 945
+125 946
+125 959
+125 987
+126 876
+126 1002
+127 898
+128 857
+128 876
+128 959
+128 987
+128 1018
+128 1033
+129 961
+129 1033
+129 1066
+130 956
+130 977
+130 1066
+131 857
+131 1026
+131 1033
+132 937
+132 949
+132 1033
+132 1066
+133 992
+133 1018
+133 1033
+133 1053
+134 857
+134 876
+134 898
+134 949
+134 958
+135 987
+135 992
+135 1002
+135 1018
+135 1026
+136 937
+136 958
+136 992
+137 953
+137 958
+137 961
+139 954
+140 960
+141 925
+143 905
+143 1037
+145 1036
+147 887
+147 932
+147 1004
+148 929
+148 980
+148 1037
+148 1049
+149 929
+149 960
+150 932
+150 1036
+151 932
+151 980
+151 1013
+152 925
+152 1013
+152 1021
+152 1036
+153 909
+153 923
+153 938
+154 883
+154 887
+154 929
+154 975
+155 938
+155 980
+155 1035
+156 975
+157 883
+157 1049
+158 877
+158 923
+158 994
+159 980
+159 1036
+160 954
+161 905
+161 932
+161 960
+161 1004
+162 877
+162 1037
+164 1036
+165 883
+165 960
+166 923
+166 1049
+167 925
+167 1013
+168 905
+168 1013
+168 1058
+169 938
+169 1049
+171 887
+171 905
+171 923
+171 980
+171 1010
+172 1010
+172 1013
+173 887
+175 887
+176 932
+177 938
+177 994
+178 925
+178 1035
+179 929
+179 932
+179 1036
+180 877
+181 1010
+181 1013
+181 1049
+182 905
+182 1035
+182 1049
+183 923
+183 1010
+183 1013
+184 1013
+186 929
+186 938
+186 1025
+188 938
+188 954
+188 1049
+189 1049
+190 938
+190 1004
+191 877
+191 1037
+193 883
+193 905
+194 905
+194 1025
+195 975
+195 1010
+196 877
+196 905
+196 909
+196 994
+197 1036
+199 1037
+200 909
+201 1004
+201 1037
+202 923
+202 1004
+203 887
+203 980
+203 1010
+203 1037
+204 929
+205 883
+206 877
+206 932
+207 905
+208 925
+208 1010
+208 1058
+209 960
+210 1010
+210 1037
+211 1021
+211 1049
+212 932
+212 1004
+213 887
+213 1004
+213 1049
+214 980
+216 905
+216 994
+216 1058
+217 887
+217 1004
+218 938
+218 994
+219 887
+219 1035
+222 905
+222 925
+222 1035
+223 1013
+223 1037
+225 877
+225 929
+225 932
+225 980
+226 1004
+226 1010
+226 1025
+226 1035
+226 1036
+227 960
+228 975
+229 980
+229 1013
+229 1035
+229 1058
+231 929
+232 929
+232 932
+234 938
+234 1004
+235 1037
+237 877
+237 1021
+238 975
+239 887
+240 1021
+240 1037
+242 994
+243 923
+243 960
+246 994
+247 980
+247 1021
+247 1058
+248 887
+249 932
+249 994
+251 909
+253 862
+253 1016
+253 1040
+254 902
+254 971
+254 1012
+254 1069
+255 899
+255 901
+255 943
+255 1012
+255 1029
+255 1051
+256 901
+256 902
+256 1040
+256 1069
+256 1075
+257 862
+257 869
+257 894
+257 910
+257 1016
+258 933
+258 943
+258 989
+258 1040
+259 901
+259 943
+259 1051
+260 894
+261 899
+261 971
+262 933
+262 966
+262 1038
+263 899
+263 902
+263 966
+263 1038
+264 859
+264 901
+264 902
+264 933
+264 943
+264 1029
+265 859
+265 894
+265 902
+265 971
+266 901
+266 902
+266 971
+266 1038
+267 902
+267 963
+267 1016
+268 859
+268 901
+268 971
+269 1029
+269 1067
+270 859
+270 862
+270 864
+270 1016
+270 1040
+270 1067
+271 859
+271 933
+271 943
+271 971
+271 1016
+272 966
+273 943
+273 989
+273 1040
+274 862
+274 933
+274 971
+274 1012
+274 1038
+274 1040
+274 1067
+276 894
+276 899
+276 910
+276 989
+276 1040
+277 894
+277 943
+277 971
+277 1075
+278 862
+278 902
+278 910
+278 1012
+278 1029
+278 1067
+279 894
+279 899
+279 901
+279 1016
+279 1038
+280 899
+280 933
+281 859
+281 901
+281 902
+281 943
+281 1016
+282 864
+282 869
+282 971
+282 1012
+282 1016
+282 1069
+283 869
+283 902
+283 966
+284 862
+284 899
+284 963
+284 966
+284 1038
+285 864
+285 1012
+285 1067
+285 1075
+286 859
+286 862
+286 902
+286 971
+286 989
+286 1038
+287 966
+287 1038
+288 859
+288 862
+288 1012
+288 1038
+289 859
+289 894
+289 943
+289 1040
+289 1067
+290 859
+290 943
+290 1051
+291 899
+291 943
+291 1016
+292 899
+292 933
+293 859
+293 901
+293 933
+293 963
+293 971
+293 1012
+294 892
+294 935
+295 951
+295 1009
+296 888
+297 888
+297 903
+297 1028
+298 1028
+298 1046
+299 1039
+300 957
+301 1039
+302 888
+304 1065
+305 903
+305 969
+306 863
+307 863
+309 917
+309 1046
+311 903
+311 1005
+311 1028
+312 969
+314 917
+314 1039
+315 900
+315 1044
+316 1028
+317 863
+318 892
+319 863
+319 1044
+320 951
+321 888
+321 1028
+322 863
+323 892
+323 903
+323 1028
+325 951
+325 969
+325 1065
+326 888
+327 1046
+330 1039
+332 917
+333 1005
+334 1005
+337 888
+337 1009
+338 1028
+338 1046
+339 969
+339 1028
+339 1046
+342 951
+343 1039
+346 951
+347 1028
+348 1009
+348 1039
+349 935
+351 957
+352 1039
+353 1009
+354 903
+355 888
+356 1046
+357 900
+357 903
+358 888
+359 1046
+361 1039
+363 1039
+363 1044
+364 863
+364 969
+365 969
+366 1046
+367 863
+367 888
+368 969
+369 1039
+370 903
+371 935
+373 969
+373 1046
+374 1009
+374 1028
+375 900
+375 969
+376 863
+376 888
+376 903
+377 951
+377 1065
+378 888
+378 957
+379 903
+379 1065
+380 957
+380 1065
+382 917
+382 1009
+383 1005
+383 1009
+383 1046
+386 863
+386 1065
+387 1039
+388 1005
+388 1028
+388 1044
+389 935
+389 1028
+390 935
+391 903
+392 917
+392 951
+393 888
+393 903
+395 917
+395 1005
+396 903
+397 999
+397 1030
+398 973
+400 913
+400 1041
+400 1042
+401 871
+401 922
+401 999
+402 939
+403 973
+403 1030
+404 1014
+405 999
+406 955
+406 1050
+407 952
+407 955
+407 1014
+408 871
+408 1001
+411 973
+413 1001
+414 999
+414 1007
+415 973
+415 978
+415 1050
+416 1007
+417 999
+418 922
+419 955
+419 1030
+420 955
+421 978
+421 1041
+421 1050
+422 1050
+423 952
+423 1001
+423 1041
+424 997
+426 871
+426 952
+427 955
+428 1030
+428 1076
+429 871
+429 939
+429 1042
+430 1007
+431 913
+431 955
+431 978
+431 1050
+432 1041
+433 1030
+434 913
+434 955
+435 1001
+436 997
+437 871
+438 871
+438 955
+438 1001
+438 1030
+439 871
+439 978
+440 858
+440 978
+441 913
+442 913
+442 997
+442 1042
+443 922
+443 997
+444 871
+444 999
+445 999
+445 1007
+445 1042
+446 922
+446 939
+446 997
+447 858
+447 1030
+447 1041
+448 952
+448 978
+448 1042
+449 858
+449 997
+450 952
+450 997
+451 952
+452 913
+452 939
+452 952
+452 1042
+452 1050
+456 922
+456 952
+457 871
+457 955
+458 858
+458 1042
+459 913
+459 955
+460 913
+460 999
+460 1001
+460 1076
+461 922
+461 997
+461 1001
+461 1030
+462 871
+462 913
+463 939
+463 952
+463 1030
+463 1041
+464 858
+464 871
+464 1042
+465 913
+467 999
+467 1041
+468 1050
+468 1076
+469 973
+469 1001
+470 1001
+470 1050
+472 858
+472 871
+472 973
+472 978
+473 858
+473 922
+474 1014
+475 952
+475 999
+476 913
+476 1041
+476 1042
+477 922
+477 1007
+478 913
+478 922
+478 952
+478 1030
+479 955
+479 1007
+479 1050
+480 978
+480 1001
+481 990
+481 1032
+481 1070
+483 866
+484 879
+484 991
+485 927
+485 1070
+487 927
+487 993
+488 990
+491 893
+491 990
+492 879
+492 1070
+493 893
+493 927
+493 1032
+493 1070
+494 893
+494 991
+494 1022
+495 991
+495 1022
+496 866
+497 927
+497 1070
+499 879
+499 927
+499 993
+500 970
+500 1032
+501 872
+501 893
+501 924
+501 970
+502 991
+502 1070
+503 1032
+505 927
+506 927
+506 991
+506 1043
+507 991
+510 866
+510 927
+511 1022
+511 1070
+512 927
+512 1070
+513 927
+514 879
+516 879
+516 893
+516 924
+517 993
+517 1032
+518 893
+518 1022
+519 993
+519 1070
+520 991
+520 1032
+521 927
+521 1070
+522 872
+522 970
+522 1070
+523 993
+524 924
+524 1043
+525 990
+525 993
+526 1070
+527 927
+527 990
+527 991
+529 924
+529 1043
+530 872
+530 970
+531 993
+531 1032
+532 919
+532 941
+532 979
+532 1056
+533 1057
+533 1068
+534 919
+534 984
+534 996
+534 1019
+534 1023
+534 1068
+535 865
+535 882
+535 941
+535 1000
+535 1003
+536 865
+536 996
+537 979
+537 984
+537 996
+537 1019
+538 878
+538 897
+538 941
+538 979
+538 1054
+539 1057
+539 1068
+540 897
+540 1019
+541 878
+541 912
+541 979
+541 1003
+541 1019
+542 996
+542 1019
+542 1056
+543 856
+543 865
+543 912
+543 979
+543 996
+543 1003
+543 1019
+543 1056
+544 865
+544 878
+544 919
+544 979
+544 1003
+544 1019
+544 1023
+544 1068
+545 878
+545 1003
+545 1017
+545 1019
+545 1057
+546 897
+546 996
+546 1057
+547 1003
+547 1023
+548 865
+548 897
+548 1023
+548 1057
+549 856
+549 865
+549 897
+549 979
+549 1003
+549 1056
+550 912
+550 1000
+550 1017
+551 856
+551 918
+551 1019
+551 1023
+551 1057
+552 918
+552 1003
+553 919
+553 947
+554 878
+554 996
+554 1054
+555 912
+555 1003
+555 1023
+556 878
+556 979
+556 1056
+557 941
+557 984
+557 1056
+557 1057
+558 941
+558 947
+558 996
+558 1000
+559 1056
+560 878
+560 912
+560 1057
+561 882
+561 919
+561 979
+561 1000
+561 1054
+562 918
+562 996
+562 1000
+562 1003
+563 918
+563 1056
+564 865
+564 912
+564 979
+565 941
+565 996
+565 1000
+565 1023
+566 865
+566 941
+567 878
+567 919
+567 947
+567 1023
+567 1056
+568 856
+568 865
+568 918
+568 919
+568 941
+568 1000
+568 1003
+569 856
+569 865
+569 979
+569 1056
+570 865
+570 882
+570 1017
+570 1057
+572 882
+572 912
+572 919
+572 941
+572 1019
+572 1023
+572 1054
+573 897
+573 912
+573 918
+573 979
+573 1003
+573 1019
+574 886
+574 1024
+575 861
+575 875
+575 886
+575 889
+575 962
+576 886
+576 1071
+577 875
+577 974
+577 1006
+577 1015
+578 870
+578 889
+578 1015
+578 1027
+578 1071
+580 870
+580 889
+580 967
+580 1006
+582 962
+582 1024
+583 1024
+583 1071
+585 861
+585 886
+585 962
+585 974
+585 1015
+586 861
+587 870
+587 889
+587 962
+587 976
+587 1027
+587 1071
+588 1015
+589 930
+590 967
+590 1027
+591 967
+591 974
+591 1015
+592 930
+592 974
+592 1006
+592 1015
+593 875
+593 962
+593 1027
+594 870
+594 908
+594 962
+596 1024
+597 930
+597 1015
+597 1071
+598 974
+598 1006
+598 1024
+599 875
+599 889
+599 908
+600 886
+600 908
+600 930
+600 967
+600 1006
+601 1006
+603 1006
+603 1024
+603 1062
+604 886
+604 974
+604 1027
+605 889
+606 870
+607 930
+607 967
+607 1006
+607 1027
+608 889
+608 967
+609 908
+610 908
+611 861
+611 886
+612 875
+612 886
+612 889
+612 974
+613 870
+613 908
+613 930
+613 1006
+614 930
+614 967
+615 886
+615 889
+615 967
+617 870
+617 875
+617 886
+617 976
+617 1015
+617 1071
+618 889
+618 1006
+618 1027
+619 908
+619 1027
+620 1006
+621 976
+622 962
+622 1015
+622 1071
+623 861
+623 908
+624 875
+626 1062
+626 1071
+627 1006
+627 1027
+627 1071
+628 861
+628 886
+629 1071
+630 875
+631 875
+631 967
+631 976
+632 861
+632 870
+633 1062
+634 870
+634 875
+634 967
+634 974
+635 861
+635 875
+635 886
+635 967
+636 861
+636 889
+636 930
+636 962
+636 1015
+636 1027
+636 1071
+637 965
+638 895
+638 986
+639 936
+639 968
+640 860
+640 985
+641 896
+641 942
+641 986
+642 931
+642 934
+642 964
+642 986
+643 914
+643 936
+644 965
+644 968
+645 920
+646 914
+646 920
+646 944
+646 985
+647 867
+647 895
+648 920
+648 942
+649 931
+649 936
+649 986
+650 885
+650 934
+651 867
+651 944
+652 931
+653 986
+654 885
+654 920
+654 934
+654 965
+655 942
+656 964
+656 968
+657 942
+658 881
+659 896
+660 936
+661 860
+661 896
+661 968
+662 934
+662 968
+664 896
+664 986
+665 942
+665 944
+666 895
+666 934
+666 964
+666 986
+667 985
+667 1060
+668 885
+668 936
+669 896
+670 986
+671 896
+671 914
+672 895
+672 942
+672 944
+673 881
+673 964
+674 914
+674 942
+675 896
+678 881
+679 985
+680 944
+683 931
+684 965
+684 1060
+685 964
+685 986
+686 942
+686 986
+687 885
+687 931
+688 985
+690 936
+691 936
+691 968
+693 860
+694 942
+695 896
+697 860
+699 964
+700 914
+700 944
+700 964
+701 936
+701 944
+701 986
+702 985
+702 1060
+703 968
+704 920
+704 965
+704 968
+704 985
+705 920
+706 896
+706 944
+708 986
+709 964
+710 895
+710 936
+712 964
+714 881
+714 896
+714 942
+715 867
+718 931
+718 965
+719 896
+719 931
+720 936
+720 964
+722 931
+722 944
+724 881
+724 895
+724 896
+725 934
+725 936
+726 968
+727 1064
+728 995
+729 995
+730 972
+731 904
+731 1011
+733 928
+735 1064
+736 874
+737 928
+737 982
+738 972
+738 1064
+739 1061
+741 988
+742 904
+744 988
+745 982
+746 904
+746 988
+750 907
+750 982
+753 874
+753 916
+754 1072
+756 1064
+757 907
+757 1011
+758 1061
+759 1061
+761 988
+762 988
+764 928
+764 988
+765 874
+765 972
+770 873
+774 972
+774 1061
+776 921
+776 928
+777 921
+778 928
+778 982
+778 995
+779 972
+781 1061
+782 874
+782 1072
+783 874
+784 873
+784 988
+786 904
+786 928
+786 972
+786 1061
+787 1061
+789 874
+790 972
+791 928
+792 873
+793 1074
+795 995
+797 873
+797 972
+797 1011
+799 921
+800 873
+800 1061
+802 1064
+805 873
+806 928
+807 907
+807 916
+807 1011
+808 874
+809 904
+809 972
+810 995
+811 1011
+815 904
+815 988
+818 904
+819 1011
+820 904
+820 988
+820 1061
+821 988
+822 982
+822 1072
+823 972
+824 982
+824 995
+825 1064
+829 972
+830 995
+830 1011
+832 904
+832 1011
+833 916
+835 995
+836 1074
+837 982
+837 1064
+840 995
+847 904
+847 1061
+848 972
+848 995
+849 982
+851 1011
+851 1064
+851 1074
+854 873
+855 1064
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/45.gr b/src/githubtests/medium_test_set/instances/45.gr
new file mode 100644
index 0000000..a4c984a
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/45.gr
@@ -0,0 +1,969 @@
+p ocr 462 241 968
+1 569
+1 576
+2 472
+2 482
+2 538
+2 635
+3 474
+3 487
+3 590
+3 635
+4 474
+4 590
+4 635
+5 506
+5 595
+5 597
+5 638
+6 495
+6 506
+6 630
+6 638
+6 648
+7 595
+7 616
+7 630
+7 635
+8 472
+8 474
+8 482
+9 474
+9 487
+9 560
+9 590
+10 474
+10 495
+10 555
+10 576
+10 648
+11 616
+12 482
+12 569
+12 576
+12 638
+12 703
+13 487
+13 555
+13 597
+14 495
+14 648
+14 702
+14 703
+15 506
+15 538
+15 555
+15 569
+15 638
+15 648
+16 560
+16 616
+16 630
+16 655
+16 702
+16 703
+17 538
+17 560
+17 638
+18 595
+18 597
+18 630
+19 569
+19 576
+19 630
+20 472
+20 555
+20 569
+20 616
+20 655
+21 482
+21 495
+21 576
+21 616
+21 655
+21 702
+22 560
+22 648
+22 655
+22 703
+23 511
+23 561
+23 567
+23 699
+24 511
+24 594
+24 608
+24 641
+25 500
+25 561
+25 565
+25 567
+25 578
+25 591
+25 604
+25 641
+25 699
+26 591
+26 594
+27 565
+27 594
+28 565
+28 571
+28 604
+28 642
+28 699
+29 463
+29 567
+29 591
+29 642
+29 697
+30 463
+30 500
+30 565
+30 566
+30 608
+30 699
+31 463
+31 571
+31 578
+31 594
+31 604
+31 697
+32 463
+32 500
+32 571
+32 591
+32 641
+32 690
+33 500
+33 566
+33 567
+33 608
+33 642
+33 690
+34 561
+34 608
+34 641
+34 642
+34 690
+34 697
+35 463
+35 511
+35 561
+35 566
+36 561
+36 565
+36 604
+36 690
+37 500
+37 567
+37 578
+37 591
+37 699
+39 529
+39 549
+39 656
+39 684
+40 600
+40 628
+41 516
+41 600
+41 643
+42 529
+42 540
+42 628
+43 529
+45 515
+45 629
+46 517
+46 540
+46 552
+46 601
+47 577
+48 548
+51 549
+52 629
+53 684
+54 553
+55 552
+55 574
+55 596
+56 540
+56 574
+57 501
+58 600
+59 515
+59 529
+61 501
+61 552
+62 600
+62 684
+63 596
+64 601
+64 661
+66 584
+67 548
+67 601
+67 628
+68 584
+68 601
+69 548
+70 516
+70 517
+72 656
+74 516
+74 517
+74 629
+75 628
+75 629
+75 656
+76 516
+76 574
+76 596
+77 529
+77 553
+77 577
+77 584
+77 628
+78 661
+79 515
+79 577
+80 501
+81 661
+82 501
+82 516
+85 549
+85 553
+85 584
+86 540
+86 643
+88 501
+88 540
+88 596
+88 629
+88 643
+89 552
+89 656
+91 468
+91 479
+91 564
+92 693
+93 484
+93 547
+95 464
+95 527
+95 598
+97 499
+97 554
+99 640
+100 663
+101 527
+101 653
+104 524
+104 663
+105 695
+107 564
+108 524
+110 652
+111 653
+112 524
+114 479
+114 640
+114 653
+116 524
+116 531
+116 598
+117 464
+117 499
+119 464
+119 564
+119 695
+120 513
+120 547
+122 499
+123 547
+124 640
+124 653
+125 695
+126 527
+127 499
+127 564
+127 598
+128 499
+128 531
+128 693
+130 527
+131 547
+132 479
+132 513
+132 564
+132 658
+134 695
+135 653
+136 658
+137 531
+137 663
+138 693
+140 484
+140 663
+141 524
+141 531
+141 658
+141 695
+142 484
+143 468
+144 513
+144 527
+144 531
+144 554
+144 663
+147 468
+147 693
+149 652
+149 658
+151 598
+151 652
+151 658
+152 484
+153 554
+154 602
+157 632
+158 632
+159 634
+159 672
+161 633
+162 568
+162 602
+163 602
+164 618
+164 639
+165 480
+167 633
+167 674
+169 498
+169 624
+169 689
+170 575
+170 603
+170 624
+172 624
+174 672
+175 480
+175 498
+175 633
+177 505
+177 610
+177 618
+180 618
+180 689
+182 633
+183 480
+183 568
+183 610
+186 639
+187 498
+187 631
+189 674
+190 603
+191 575
+192 634
+192 672
+194 633
+195 558
+195 610
+196 505
+197 498
+197 632
+199 610
+199 631
+200 631
+200 674
+202 575
+204 634
+205 639
+206 603
+207 558
+207 575
+207 689
+209 480
+211 558
+212 689
+213 498
+214 689
+215 568
+217 505
+220 475
+220 657
+221 609
+221 613
+222 504
+222 507
+222 609
+222 670
+222 700
+223 504
+224 533
+225 657
+226 605
+226 636
+227 533
+229 613
+229 615
+229 650
+230 609
+230 615
+231 620
+232 491
+233 650
+234 613
+235 614
+235 650
+236 542
+236 613
+237 491
+238 542
+238 605
+239 523
+239 542
+239 670
+240 475
+240 507
+240 670
+241 609
+241 620
+242 475
+242 605
+243 700
+244 700
+245 475
+245 614
+245 615
+246 542
+246 609
+246 614
+247 475
+248 491
+248 533
+249 523
+250 504
+250 507
+252 542
+254 620
+254 636
+254 700
+255 491
+255 504
+255 533
+256 605
+256 657
+256 670
+257 491
+257 504
+257 620
+257 700
+258 523
+258 636
+259 485
+259 556
+259 583
+259 626
+260 483
+260 520
+261 606
+262 508
+262 593
+263 520
+263 611
+263 687
+264 467
+264 496
+264 611
+264 626
+264 659
+265 508
+265 556
+265 659
+265 687
+266 467
+266 485
+266 489
+266 520
+266 570
+266 593
+266 679
+267 489
+267 508
+267 582
+268 467
+268 485
+268 489
+268 508
+268 520
+268 570
+268 593
+269 467
+269 593
+269 606
+269 611
+270 483
+270 508
+270 583
+270 611
+270 626
+271 496
+271 556
+271 582
+271 626
+271 687
+272 489
+272 583
+272 593
+272 622
+273 485
+273 583
+273 611
+273 679
+274 556
+274 583
+274 659
+274 679
+275 489
+275 556
+275 570
+275 606
+275 622
+275 626
+275 687
+276 483
+276 496
+276 570
+276 582
+276 622
+276 687
+277 644
+279 617
+281 539
+281 625
+281 683
+282 651
+283 537
+283 649
+284 623
+285 651
+285 692
+286 537
+286 539
+286 625
+286 678
+287 539
+287 677
+288 532
+289 683
+289 692
+290 535
+290 651
+291 644
+295 545
+296 623
+296 644
+297 589
+297 649
+298 586
+299 471
+300 539
+300 589
+300 683
+301 536
+302 473
+304 473
+305 536
+305 586
+305 644
+305 678
+306 644
+308 532
+308 545
+308 588
+308 617
+308 692
+309 535
+309 586
+310 471
+310 535
+311 649
+311 677
+311 683
+312 544
+312 678
+314 471
+315 588
+315 589
+315 649
+316 532
+316 586
+316 625
+317 617
+318 544
+320 537
+320 544
+320 617
+320 649
+320 692
+321 623
+321 625
+322 588
+323 532
+323 625
+324 536
+324 678
+326 537
+327 535
+327 683
+328 473
+328 536
+328 545
+329 589
+331 677
+332 544
+332 677
+333 588
+333 651
+334 486
+334 607
+335 470
+335 492
+335 502
+335 669
+335 681
+336 470
+336 502
+336 662
+337 470
+338 526
+338 671
+340 619
+340 691
+341 607
+342 518
+342 619
+343 526
+346 562
+347 492
+347 607
+348 514
+349 518
+349 662
+349 681
+350 637
+350 669
+351 528
+351 671
+353 469
+353 530
+354 681
+355 518
+355 681
+356 514
+357 662
+358 518
+358 691
+359 637
+360 486
+360 514
+360 580
+361 469
+361 619
+361 669
+362 669
+362 691
+363 530
+365 502
+365 666
+366 528
+366 607
+366 662
+366 671
+367 530
+367 637
+368 469
+369 469
+371 514
+371 528
+372 469
+374 619
+375 502
+376 607
+379 492
+379 526
+379 530
+379 580
+381 470
+381 486
+381 562
+384 528
+384 671
+386 562
+386 619
+387 486
+387 526
+388 492
+388 580
+388 666
+389 492
+389 562
+389 662
+390 666
+391 476
+391 563
+391 579
+391 581
+392 525
+392 541
+392 579
+393 572
+393 592
+394 510
+394 525
+394 572
+394 579
+394 612
+394 701
+395 466
+395 481
+395 551
+395 581
+395 612
+396 494
+396 503
+396 525
+396 579
+396 587
+396 668
+397 490
+397 503
+397 521
+397 551
+397 572
+397 587
+397 612
+397 665
+397 668
+397 701
+398 476
+398 481
+398 503
+398 510
+398 563
+398 701
+399 465
+399 466
+399 494
+399 541
+399 572
+399 592
+400 466
+400 476
+400 521
+400 525
+400 541
+400 563
+400 587
+400 612
+400 668
+400 701
+401 466
+401 551
+401 665
+402 494
+402 510
+402 521
+402 572
+402 587
+402 592
+403 466
+403 476
+403 481
+403 510
+403 521
+404 494
+404 510
+404 592
+404 665
+404 701
+405 465
+405 481
+405 490
+405 521
+405 581
+406 465
+406 481
+406 490
+406 579
+406 587
+406 592
+407 490
+407 563
+408 477
+408 546
+408 673
+408 685
+409 543
+409 685
+410 546
+410 627
+410 673
+410 698
+411 682
+411 688
+411 698
+412 546
+413 477
+413 673
+413 675
+413 694
+414 682
+415 512
+415 550
+415 685
+417 512
+417 673
+417 682
+418 627
+418 688
+419 488
+419 682
+420 477
+420 685
+421 546
+422 675
+422 688
+423 682
+424 675
+426 512
+426 550
+427 627
+427 694
+428 546
+431 488
+432 543
+432 664
+432 673
+433 477
+433 512
+433 698
+434 688
+434 694
+435 477
+435 550
+435 664
+436 488
+436 512
+436 522
+436 685
+437 694
+438 664
+438 698
+439 522
+439 675
+439 688
+441 522
+441 543
+441 675
+442 534
+442 585
+442 599
+442 647
+442 676
+442 686
+443 497
+443 646
+443 667
+444 519
+445 534
+445 557
+445 599
+445 667
+446 478
+446 509
+446 559
+446 573
+446 645
+446 667
+446 676
+447 497
+447 519
+447 599
+447 696
+448 559
+448 680
+448 686
+448 696
+449 559
+449 647
+449 654
+449 680
+449 686
+450 493
+450 557
+450 573
+450 621
+450 696
+451 478
+451 509
+451 621
+451 645
+451 660
+451 676
+452 557
+452 585
+452 599
+452 647
+453 493
+453 497
+453 557
+453 585
+453 645
+453 696
+454 478
+454 509
+454 519
+454 534
+454 645
+454 660
+454 667
+454 686
+455 497
+455 519
+455 534
+455 599
+455 646
+455 654
+455 660
+455 676
+456 559
+456 573
+456 621
+456 654
+456 680
+456 696
+457 493
+457 646
+458 573
+458 585
+458 646
+458 676
+459 497
+459 509
+459 680
+460 645
+460 646
+460 660
+460 680
+460 686
+461 509
+461 585
+461 621
+461 660
+462 519
+462 534
+462 557
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/46.gr b/src/githubtests/medium_test_set/instances/46.gr
new file mode 100644
index 0000000..d9e02eb
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/46.gr
@@ -0,0 +1,1229 @@
+p ocr 770 238 1228
+1 823
+1 883
+1 884
+2 952
+4 803
+4 902
+5 884
+5 894
+6 781
+6 883
+6 902
+6 941
+7 781
+7 823
+8 902
+9 902
+9 908
+10 778
+10 883
+10 941
+12 891
+13 778
+13 941
+13 952
+14 811
+14 884
+14 894
+15 823
+15 894
+15 991
+16 803
+16 823
+16 847
+16 884
+18 803
+18 908
+19 811
+19 883
+19 908
+20 908
+21 883
+21 941
+22 778
+22 823
+23 891
+23 902
+24 781
+24 803
+24 884
+24 894
+24 902
+25 781
+25 847
+25 891
+26 847
+27 884
+27 908
+28 803
+29 894
+30 952
+30 991
+31 991
+32 847
+33 803
+33 811
+33 991
+34 847
+34 894
+35 894
+35 908
+35 991
+36 883
+37 778
+37 781
+38 803
+38 941
+39 778
+39 823
+40 781
+40 884
+41 891
+41 902
+43 823
+43 908
+44 926
+45 774
+46 978
+47 926
+50 806
+50 852
+51 806
+51 837
+52 926
+54 775
+54 900
+55 806
+55 938
+57 984
+58 926
+59 900
+60 852
+61 806
+65 774
+66 938
+70 938
+70 984
+71 819
+73 819
+76 819
+77 775
+77 852
+77 900
+79 852
+81 775
+81 984
+82 978
+83 866
+84 852
+89 837
+90 774
+91 837
+93 978
+94 978
+96 775
+97 774
+97 984
+98 837
+99 866
+99 938
+99 984
+100 775
+100 852
+101 775
+104 984
+105 774
+105 978
+108 837
+108 900
+109 774
+110 926
+110 978
+114 938
+118 852
+118 938
+121 837
+122 866
+126 791
+126 942
+127 840
+127 901
+127 939
+128 771
+128 814
+128 844
+128 871
+128 934
+128 940
+128 1005
+128 1008
+129 843
+129 873
+129 881
+129 901
+129 939
+130 798
+130 814
+130 871
+130 934
+130 940
+130 946
+131 901
+131 939
+132 812
+132 893
+132 934
+132 940
+132 946
+132 1008
+133 873
+133 893
+133 942
+134 796
+134 843
+134 844
+134 871
+134 934
+135 796
+136 812
+136 844
+137 809
+137 840
+137 942
+138 836
+138 934
+138 1005
+139 809
+139 812
+139 836
+139 844
+139 881
+139 893
+139 946
+139 1005
+139 1008
+140 771
+140 836
+141 836
+141 893
+142 814
+142 939
+142 940
+142 942
+142 1005
+143 814
+143 843
+143 942
+144 771
+144 798
+144 809
+144 812
+144 940
+145 791
+145 840
+145 843
+145 940
+146 798
+146 836
+146 881
+147 771
+147 940
+147 1008
+148 771
+148 791
+148 796
+148 893
+148 946
+148 1005
+149 814
+149 840
+149 844
+149 893
+149 901
+149 946
+149 1008
+150 901
+151 771
+151 791
+151 812
+151 836
+151 840
+151 871
+152 873
+153 798
+153 840
+153 946
+153 1005
+154 836
+154 893
+154 934
+154 1005
+154 1008
+155 953
+158 953
+158 961
+159 979
+159 995
+166 813
+168 898
+169 810
+169 961
+170 979
+171 810
+171 953
+171 961
+172 841
+173 918
+173 980
+174 813
+174 953
+177 779
+177 980
+178 980
+180 961
+181 979
+182 961
+183 918
+183 995
+191 841
+191 961
+191 979
+192 898
+193 898
+200 813
+203 898
+206 898
+207 810
+208 918
+209 779
+210 979
+213 813
+217 779
+218 813
+220 961
+224 898
+225 777
+227 841
+229 777
+229 779
+230 995
+231 953
+233 777
+233 779
+233 980
+237 779
+237 841
+238 995
+240 898
+244 980
+244 995
+246 988
+247 869
+248 794
+248 804
+248 818
+248 855
+248 861
+248 988
+249 904
+249 911
+250 1001
+251 818
+252 794
+252 1001
+253 869
+254 804
+254 973
+255 943
+256 794
+257 804
+257 855
+257 911
+258 799
+259 943
+260 825
+260 943
+263 799
+265 861
+266 794
+266 825
+266 988
+268 825
+270 804
+270 825
+271 861
+272 818
+272 1001
+274 855
+275 825
+276 988
+279 794
+280 861
+280 886
+280 911
+282 825
+284 855
+284 973
+285 886
+286 861
+286 973
+288 799
+288 804
+289 869
+289 943
+290 904
+290 911
+291 804
+293 869
+295 799
+295 825
+295 861
+296 904
+299 886
+299 943
+299 988
+300 904
+301 804
+302 943
+303 829
+304 865
+304 868
+304 912
+306 790
+306 867
+308 780
+308 784
+308 1004
+309 790
+310 972
+311 790
+311 838
+311 921
+312 783
+312 956
+313 875
+313 917
+314 917
+314 927
+315 780
+316 783
+316 822
+316 875
+317 865
+319 912
+320 790
+321 829
+321 1004
+323 773
+323 783
+323 801
+323 829
+325 838
+325 912
+325 956
+325 1004
+326 966
+326 1002
+327 838
+327 912
+327 921
+328 822
+328 838
+328 927
+329 780
+329 865
+329 875
+329 966
+330 783
+330 816
+330 921
+332 875
+332 921
+333 783
+333 829
+333 921
+333 972
+334 816
+334 838
+335 780
+335 867
+335 912
+335 1002
+336 867
+337 816
+340 784
+340 790
+340 868
+340 1004
+341 780
+341 790
+341 829
+341 863
+342 868
+343 867
+344 784
+344 816
+344 822
+344 912
+344 927
+345 921
+345 927
+346 816
+346 912
+347 1002
+349 822
+349 865
+351 816
+351 867
+351 868
+351 956
+352 829
+353 784
+353 867
+353 1004
+354 972
+355 829
+355 966
+356 801
+356 838
+358 867
+359 780
+359 783
+360 801
+360 1002
+361 863
+363 773
+363 917
+364 1002
+365 863
+366 773
+366 966
+367 966
+367 1004
+368 838
+368 917
+368 956
+374 997
+375 786
+375 895
+375 987
+376 876
+376 947
+377 974
+378 987
+379 885
+379 963
+380 786
+381 997
+383 831
+385 831
+385 885
+386 776
+386 821
+386 981
+387 1007
+388 786
+388 831
+388 947
+390 821
+390 895
+391 963
+392 876
+393 831
+393 879
+398 831
+398 1007
+399 776
+399 862
+399 974
+400 987
+401 947
+401 987
+402 987
+403 997
+404 876
+406 821
+406 879
+406 1007
+407 776
+407 885
+407 947
+407 969
+408 879
+409 862
+409 879
+410 951
+411 826
+412 969
+414 997
+417 951
+419 786
+419 821
+421 981
+423 969
+424 879
+426 963
+427 776
+427 987
+427 997
+428 876
+429 879
+429 997
+431 776
+432 821
+432 862
+433 981
+433 987
+434 862
+434 885
+435 951
+435 974
+437 895
+437 969
+438 885
+439 831
+439 876
+439 951
+439 963
+440 826
+441 969
+441 974
+442 831
+442 947
+442 997
+444 879
+444 969
+444 974
+445 826
+446 850
+447 850
+447 878
+447 899
+448 808
+448 860
+450 835
+450 853
+450 860
+450 958
+451 851
+451 878
+453 839
+454 835
+454 860
+456 880
+456 899
+456 958
+457 808
+457 851
+459 788
+459 853
+459 899
+460 850
+460 851
+460 958
+461 835
+462 888
+463 958
+464 850
+465 835
+465 839
+467 878
+467 888
+467 977
+468 851
+468 860
+471 839
+471 919
+471 933
+472 788
+472 853
+472 860
+472 916
+475 788
+475 860
+475 919
+475 977
+477 933
+478 835
+478 839
+480 850
+482 860
+483 788
+483 878
+484 851
+485 880
+485 916
+485 977
+487 919
+488 853
+488 899
+489 808
+489 835
+489 958
+490 788
+490 899
+490 958
+492 916
+493 919
+493 933
+494 788
+494 916
+495 839
+496 888
+497 835
+497 880
+498 788
+498 919
+498 977
+499 880
+499 977
+500 853
+501 850
+501 851
+501 853
+501 958
+502 878
+503 853
+503 916
+503 919
+504 933
+505 792
+505 857
+505 915
+505 996
+506 833
+506 842
+506 945
+506 960
+506 986
+506 998
+507 842
+507 915
+507 986
+507 992
+508 833
+508 834
+508 870
+508 903
+508 915
+508 986
+508 989
+509 824
+509 833
+509 834
+509 996
+509 998
+510 824
+510 872
+511 859
+511 945
+512 824
+512 870
+512 903
+512 924
+512 992
+512 996
+513 824
+513 834
+513 896
+513 983
+513 989
+513 998
+514 792
+514 857
+514 924
+514 992
+514 996
+515 824
+515 834
+515 989
+516 792
+516 846
+516 857
+516 903
+517 824
+517 896
+517 945
+517 960
+517 986
+518 896
+518 945
+518 989
+519 846
+519 859
+519 945
+519 989
+520 872
+520 903
+520 986
+520 998
+521 802
+521 870
+521 915
+521 945
+522 842
+522 846
+522 870
+522 903
+522 960
+522 992
+523 846
+523 870
+523 872
+523 915
+523 992
+523 996
+524 824
+524 834
+524 989
+524 996
+525 870
+525 998
+526 833
+526 859
+526 872
+526 986
+527 872
+527 924
+527 983
+528 792
+528 834
+528 915
+529 859
+529 896
+529 903
+529 998
+530 792
+530 842
+530 872
+530 998
+531 802
+531 859
+531 924
+531 996
+532 802
+532 834
+532 846
+532 857
+532 903
+532 945
+532 983
+532 992
+533 802
+533 846
+533 872
+533 992
+534 787
+534 793
+534 910
+535 787
+535 905
+535 930
+536 910
+536 932
+537 817
+537 820
+537 910
+538 820
+538 930
+538 975
+538 1003
+539 793
+539 820
+540 882
+540 910
+540 930
+541 994
+542 793
+542 930
+542 1003
+543 975
+544 793
+544 930
+545 793
+545 817
+545 882
+545 905
+545 1003
+547 820
+547 856
+548 787
+548 820
+548 932
+548 975
+549 930
+550 787
+550 793
+550 856
+550 905
+550 975
+550 1003
+551 787
+551 817
+551 910
+552 787
+552 817
+552 820
+552 1003
+553 817
+553 910
+553 932
+553 994
+554 856
+554 882
+554 905
+554 910
+554 994
+554 1003
+555 817
+555 820
+555 856
+555 930
+556 975
+557 787
+557 817
+557 882
+557 975
+559 828
+559 971
+563 807
+563 925
+564 828
+565 928
+566 897
+568 874
+570 922
+571 971
+572 848
+573 795
+573 848
+573 971
+574 874
+575 795
+577 797
+578 848
+578 887
+578 913
+579 795
+579 807
+579 948
+581 874
+582 874
+584 948
+585 848
+585 928
+587 807
+587 874
+588 948
+589 913
+589 922
+590 815
+590 874
+592 782
+592 795
+592 815
+593 928
+599 795
+601 797
+606 815
+610 959
+613 795
+613 807
+613 887
+613 971
+616 897
+616 925
+618 925
+618 948
+620 959
+622 828
+622 897
+624 848
+624 971
+625 815
+625 828
+627 795
+627 797
+628 848
+628 925
+629 815
+629 922
+630 782
+633 815
+634 828
+634 948
+634 971
+636 959
+638 887
+641 874
+643 782
+643 797
+643 971
+644 913
+649 828
+650 848
+654 849
+654 864
+654 949
+654 962
+654 999
+655 849
+655 854
+655 892
+655 909
+655 937
+655 999
+655 1000
+655 1006
+656 854
+656 864
+656 929
+656 937
+656 964
+657 923
+657 935
+657 962
+658 800
+658 923
+658 935
+658 970
+659 889
+659 909
+659 923
+659 1006
+660 854
+660 889
+660 929
+660 935
+660 949
+660 957
+660 982
+661 832
+661 889
+661 935
+661 937
+661 999
+662 800
+662 849
+662 923
+662 929
+662 955
+662 962
+662 999
+663 949
+663 955
+664 849
+664 889
+664 923
+664 935
+664 937
+664 1006
+665 889
+665 929
+665 937
+665 949
+665 957
+665 962
+665 1000
+666 892
+666 993
+666 1006
+667 854
+667 892
+667 962
+667 970
+668 1000
+668 1006
+669 854
+669 864
+669 955
+670 929
+670 955
+670 970
+670 1000
+671 800
+671 832
+671 864
+671 964
+671 993
+671 1000
+672 849
+672 909
+672 957
+672 964
+672 982
+672 985
+673 849
+673 935
+673 955
+673 962
+673 964
+673 999
+674 832
+674 889
+674 909
+674 949
+674 964
+674 985
+674 993
+674 1006
+675 929
+675 949
+675 957
+675 964
+675 999
+676 892
+676 923
+676 962
+676 985
+676 993
+677 832
+677 849
+677 937
+677 970
+677 982
+677 985
+678 832
+678 955
+678 993
+678 999
+679 909
+679 970
+679 982
+680 789
+680 805
+680 858
+680 931
+680 976
+681 789
+681 858
+681 906
+682 785
+683 858
+683 944
+683 968
+683 976
+684 805
+684 845
+684 906
+684 950
+685 805
+685 845
+686 827
+686 858
+687 936
+687 944
+688 785
+688 827
+688 845
+688 976
+689 845
+689 936
+690 805
+690 827
+690 936
+690 950
+691 827
+691 845
+691 906
+691 931
+691 950
+692 785
+692 827
+692 950
+693 789
+693 805
+693 931
+694 805
+694 858
+694 944
+695 789
+696 950
+696 968
+696 976
+697 931
+698 906
+698 936
+699 950
+700 944
+700 976
+701 936
+702 827
+702 906
+702 944
+702 950
+703 789
+703 976
+704 789
+704 944
+705 968
+706 845
+706 944
+706 976
+711 830
+712 907
+714 772
+715 890
+715 954
+715 965
+716 772
+717 877
+717 990
+718 830
+718 914
+719 877
+719 920
+723 954
+723 967
+724 965
+726 914
+729 877
+730 830
+731 907
+731 990
+732 830
+733 967
+734 954
+736 772
+736 890
+736 920
+736 967
+737 914
+737 965
+740 890
+741 877
+742 772
+743 907
+744 890
+745 914
+746 914
+746 990
+747 907
+748 830
+748 907
+748 954
+748 965
+749 877
+749 990
+750 890
+750 954
+751 967
+752 954
+752 967
+753 907
+753 920
+754 890
+755 830
+755 914
+757 877
+757 954
+759 920
+760 907
+761 830
+764 920
+765 772
+765 920
+766 877
+766 890
+766 990
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/47.gr b/src/githubtests/medium_test_set/instances/47.gr
new file mode 100644
index 0000000..626b42b
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/47.gr
@@ -0,0 +1,260 @@
+p ocr 132 128 259
+1 159
+4 137
+4 201
+5 230
+5 252
+6 145
+7 170
+7 222
+7 235
+8 195
+9 150
+9 156
+9 182
+9 245
+9 249
+10 190
+12 187
+12 191
+12 260
+13 241
+19 149
+19 166
+21 141
+21 171
+24 147
+24 155
+25 215
+26 179
+26 181
+26 207
+26 241
+27 198
+28 154
+28 196
+29 183
+29 253
+30 146
+33 142
+35 213
+35 240
+35 248
+36 188
+36 227
+38 220
+39 165
+39 233
+40 152
+45 185
+48 241
+50 228
+50 259
+51 203
+52 258
+53 223
+54 135
+54 204
+55 212
+55 241
+55 243
+56 148
+56 232
+57 180
+57 192
+58 134
+58 200
+61 225
+61 242
+65 197
+65 241
+66 237
+67 138
+67 174
+67 199
+68 157
+68 176
+70 168
+70 244
+71 251
+72 229
+73 194
+73 254
+75 236
+76 214
+78 209
+81 160
+82 169
+82 210
+82 218
+83 202
+84 162
+85 158
+86 211
+86 255
+87 189
+87 257
+88 193
+89 239
+89 256
+90 164
+90 173
+91 177
+91 217
+96 231
+97 172
+97 175
+97 226
+99 143
+99 246
+100 241
+100 247
+103 151
+103 234
+105 241
+106 163
+107 139
+108 144
+108 221
+108 224
+109 136
+111 241
+114 205
+114 219
+117 206
+120 140
+120 208
+121 153
+122 186
+122 238
+123 167
+124 133
+124 161
+127 184
+130 178
+130 250
+131 216
+132 241
+8 133
+51 133
+57 133
+29 134
+42 134
+32 137
+83 137
+95 144
+107 148
+24 150
+120 151
+12 152
+50 153
+54 153
+104 153
+109 154
+78 156
+124 156
+15 157
+18 161
+117 161
+3 163
+16 163
+43 163
+49 163
+88 167
+41 168
+63 168
+98 168
+116 168
+72 169
+86 169
+58 171
+89 175
+67 176
+56 177
+64 177
+27 179
+75 179
+114 181
+7 182
+22 182
+77 182
+69 184
+34 186
+87 186
+14 187
+53 187
+25 188
+47 188
+71 188
+20 189
+23 189
+130 191
+39 192
+45 196
+36 197
+60 198
+2 200
+101 200
+110 200
+129 201
+66 202
+11 203
+79 203
+19 204
+76 208
+85 208
+37 209
+106 209
+125 211
+123 212
+46 213
+122 214
+1 217
+17 217
+44 218
+30 219
+38 219
+52 219
+68 219
+84 219
+91 223
+121 223
+28 224
+62 225
+94 225
+119 225
+103 227
+108 229
+113 229
+82 234
+90 234
+127 234
+112 236
+59 237
+40 238
+92 238
+93 238
+115 238
+118 238
+102 240
+73 242
+74 242
+96 242
+128 242
+131 242
+61 243
+70 243
+126 243
+21 244
+35 244
+97 244
+99 244
+5 245
+81 247
+6 248
+9 248
+33 249
+80 249
+10 250
+31 257
+4 259
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/48.gr b/src/githubtests/medium_test_set/instances/48.gr
new file mode 100644
index 0000000..8c96451
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/48.gr
@@ -0,0 +1,373 @@
+p ocr 179 194 372
+1 233
+2 336
+4 188
+4 205
+4 255
+6 332
+8 222
+9 189
+10 210
+10 322
+10 339
+11 214
+11 238
+11 256
+13 212
+18 267
+18 283
+19 313
+21 183
+22 180
+22 257
+22 284
+24 333
+25 359
+26 266
+26 335
+26 371
+28 203
+28 315
+29 288
+29 310
+29 338
+31 250
+31 281
+35 245
+37 230
+37 311
+39 270
+39 285
+43 239
+44 220
+44 229
+45 185
+47 293
+47 337
+47 352
+48 191
+48 207
+48 280
+48 338
+49 304
+53 296
+53 325
+54 227
+56 213
+56 292
+56 306
+56 348
+56 358
+57 276
+57 287
+57 366
+61 254
+61 350
+63 258
+64 194
+64 202
+64 242
+64 243
+65 231
+66 298
+66 302
+66 343
+68 265
+68 269
+69 198
+69 211
+70 219
+70 338
+71 373
+72 323
+73 309
+75 215
+75 234
+75 244
+77 354
+80 342
+80 372
+81 275
+82 197
+83 195
+83 317
+83 330
+87 251
+89 226
+90 364
+91 236
+91 326
+94 218
+95 264
+95 319
+97 351
+99 260
+99 274
+99 324
+99 355
+100 327
+100 331
+101 181
+101 200
+101 209
+101 253
+104 182
+104 349
+105 303
+105 357
+106 320
+108 184
+109 232
+109 252
+109 259
+109 286
+109 316
+110 334
+111 204
+113 318
+113 328
+113 340
+113 369
+118 365
+119 246
+120 301
+121 187
+121 224
+121 263
+121 291
+121 294
+122 186
+122 290
+124 312
+125 341
+126 192
+126 308
+126 321
+126 353
+127 196
+129 367
+131 262
+131 278
+131 338
+131 361
+132 370
+133 297
+133 368
+134 225
+134 345
+137 271
+137 295
+139 206
+139 241
+139 282
+140 272
+144 307
+144 329
+145 344
+147 201
+154 235
+155 314
+155 338
+156 199
+156 279
+157 240
+157 300
+157 305
+157 346
+157 356
+157 360
+162 223
+165 190
+165 193
+165 299
+165 363
+167 289
+168 208
+169 221
+169 277
+170 248
+171 228
+171 247
+172 237
+172 249
+174 216
+175 217
+177 268
+177 273
+177 362
+178 261
+178 347
+127 180
+80 181
+105 181
+122 182
+45 184
+89 184
+22 185
+25 186
+93 187
+135 187
+10 188
+43 188
+113 191
+14 195
+78 196
+3 197
+79 197
+100 197
+151 197
+164 197
+21 198
+167 198
+165 200
+47 201
+46 204
+109 204
+136 204
+31 205
+39 205
+51 208
+102 208
+28 210
+144 210
+24 211
+36 211
+60 211
+96 211
+124 212
+76 213
+120 214
+9 215
+42 215
+88 215
+146 215
+13 217
+49 219
+69 219
+143 220
+37 224
+68 224
+62 226
+32 228
+56 228
+159 228
+173 228
+107 230
+114 230
+83 232
+12 235
+81 235
+108 235
+179 235
+177 236
+38 237
+50 237
+6 238
+7 239
+41 244
+61 244
+160 244
+84 248
+8 249
+171 251
+134 255
+117 256
+162 258
+101 260
+35 261
+123 261
+152 261
+138 262
+156 262
+33 263
+99 264
+148 264
+154 264
+52 265
+19 266
+20 266
+72 266
+30 268
+58 269
+176 269
+126 272
+15 273
+92 273
+18 275
+149 277
+166 277
+1 278
+27 278
+54 278
+91 279
+174 287
+16 288
+157 288
+86 290
+141 291
+59 292
+137 292
+133 294
+26 296
+66 297
+77 297
+147 297
+97 301
+55 302
+90 302
+44 303
+64 303
+132 304
+169 304
+110 307
+82 310
+178 311
+104 313
+161 314
+75 321
+129 321
+4 323
+112 325
+87 326
+119 326
+139 326
+145 326
+170 330
+5 331
+128 331
+130 331
+53 332
+71 334
+98 334
+158 334
+17 335
+67 336
+85 336
+142 336
+168 336
+150 337
+163 337
+23 341
+175 341
+115 342
+73 345
+63 347
+106 349
+40 350
+153 350
+118 354
+140 355
+74 358
+125 358
+65 359
+34 360
+95 360
+121 361
+172 361
+116 363
+103 364
+57 365
+94 365
+11 370
+2 372
+111 373
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/49.gr b/src/githubtests/medium_test_set/instances/49.gr
new file mode 100644
index 0000000..ca50b78
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/49.gr
@@ -0,0 +1,423 @@
+p ocr 206 217 422
+1 237
+1 333
+1 335
+1 402
+2 310
+5 260
+5 360
+8 249
+8 406
+8 412
+9 369
+10 328
+12 253
+12 391
+15 405
+15 409
+16 399
+17 370
+20 239
+21 304
+21 323
+23 311
+23 332
+26 300
+29 361
+35 225
+36 270
+38 214
+38 384
+39 263
+41 271
+42 423
+44 246
+46 390
+48 350
+50 287
+51 280
+52 302
+54 241
+54 325
+54 349
+55 354
+56 213
+56 217
+56 234
+58 273
+59 294
+61 385
+61 408
+62 235
+62 284
+64 319
+64 381
+64 400
+66 293
+68 262
+68 378
+68 380
+69 415
+71 212
+71 277
+71 282
+72 259
+74 395
+75 321
+75 383
+75 413
+77 211
+77 286
+77 298
+77 376
+79 346
+81 407
+83 312
+83 370
+83 375
+84 324
+85 230
+85 331
+86 222
+86 236
+86 292
+86 397
+87 367
+88 307
+89 252
+89 305
+89 336
+89 382
+90 370
+90 418
+91 276
+91 371
+91 398
+91 420
+94 364
+96 227
+97 393
+102 229
+104 309
+104 370
+104 411
+104 414
+105 338
+105 422
+107 345
+107 357
+108 219
+108 352
+109 247
+112 266
+113 207
+113 356
+114 283
+115 285
+118 268
+118 269
+118 314
+118 401
+119 233
+119 281
+120 288
+120 410
+121 242
+122 224
+124 320
+124 339
+125 386
+126 244
+132 275
+132 318
+133 353
+134 290
+134 340
+135 363
+137 254
+137 358
+137 365
+137 373
+140 297
+140 419
+141 265
+141 348
+141 372
+144 322
+144 404
+145 421
+147 238
+148 341
+148 403
+150 327
+152 326
+153 329
+153 379
+154 215
+154 228
+159 248
+159 250
+162 392
+162 416
+163 344
+163 347
+164 220
+164 258
+166 226
+167 387
+168 279
+169 245
+170 417
+171 295
+172 208
+172 342
+172 351
+172 368
+174 240
+174 251
+176 264
+177 355
+178 232
+178 359
+179 296
+179 334
+179 337
+180 362
+181 216
+181 315
+181 396
+182 301
+183 274
+184 257
+184 267
+184 306
+184 317
+185 256
+185 389
+186 343
+187 291
+188 223
+188 299
+189 221
+189 308
+189 313
+189 377
+191 366
+192 209
+192 210
+192 255
+193 231
+195 278
+197 388
+198 394
+199 316
+200 243
+200 303
+200 330
+201 261
+201 289
+203 218
+204 272
+204 374
+41 207
+107 207
+89 210
+113 210
+149 210
+181 211
+34 214
+133 214
+2 219
+204 222
+16 223
+132 223
+166 224
+189 225
+109 226
+114 226
+69 230
+9 231
+56 231
+116 231
+11 232
+24 232
+85 232
+158 233
+202 233
+205 233
+66 234
+87 235
+164 235
+38 236
+103 236
+20 237
+196 238
+79 240
+197 240
+117 244
+72 245
+7 246
+199 248
+122 249
+30 251
+100 251
+123 252
+135 252
+203 255
+8 258
+49 258
+142 258
+1 259
+102 259
+152 259
+51 260
+157 261
+75 263
+78 263
+21 264
+120 268
+134 268
+147 269
+46 271
+201 271
+5 272
+76 272
+93 272
+121 273
+198 273
+190 276
+101 277
+33 279
+110 280
+194 281
+37 282
+112 283
+206 283
+4 284
+84 284
+119 285
+65 288
+29 289
+18 290
+169 291
+50 296
+62 296
+28 297
+129 297
+162 299
+27 300
+32 300
+47 300
+159 301
+186 302
+143 307
+191 308
+92 309
+141 310
+57 311
+77 311
+118 312
+13 313
+63 313
+80 313
+15 314
+99 315
+137 315
+140 315
+95 316
+14 318
+126 320
+200 321
+45 323
+160 323
+172 324
+60 326
+39 328
+128 328
+26 329
+168 329
+150 332
+183 334
+25 337
+48 337
+108 337
+91 338
+179 340
+151 341
+178 341
+22 343
+173 343
+64 346
+165 346
+86 349
+145 349
+187 349
+182 350
+44 353
+88 353
+40 357
+98 357
+6 358
+19 358
+36 362
+195 362
+192 364
+82 366
+54 367
+31 368
+124 369
+176 369
+136 371
+43 373
+71 373
+96 375
+130 376
+155 376
+156 376
+170 376
+153 378
+52 380
+125 381
+193 381
+144 383
+161 384
+35 385
+12 390
+139 390
+163 390
+180 390
+111 392
+184 392
+68 395
+70 395
+127 395
+138 395
+67 396
+94 396
+171 396
+167 398
+175 398
+59 399
+106 399
+174 399
+3 402
+61 402
+73 402
+154 402
+188 403
+58 412
+185 413
+23 414
+53 414
+55 417
+97 417
+105 417
+177 417
+42 418
+10 419
+146 419
+74 420
+81 421
+115 421
+131 422
+148 423
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/5.gr b/src/githubtests/medium_test_set/instances/5.gr
new file mode 100644
index 0000000..e04a218
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/5.gr
@@ -0,0 +1,251 @@
+p ocr 31 37 250
+1 40
+1 44
+1 48
+1 52
+1 53
+1 55
+1 58
+1 62
+1 63
+2 34
+2 35
+2 36
+2 42
+2 51
+2 54
+2 65
+2 68
+3 40
+3 44
+3 48
+3 52
+3 53
+3 55
+3 58
+3 62
+3 63
+4 32
+4 43
+4 56
+5 32
+5 43
+5 56
+6 32
+6 33
+6 36
+6 43
+6 49
+6 54
+6 56
+6 68
+7 32
+7 56
+8 38
+8 39
+8 47
+8 55
+8 57
+8 61
+8 66
+9 38
+9 39
+9 42
+9 45
+9 46
+9 57
+9 60
+9 64
+10 40
+10 44
+10 48
+10 52
+10 53
+10 55
+10 58
+10 62
+10 63
+11 33
+11 34
+11 35
+11 36
+11 43
+11 49
+11 50
+11 51
+11 54
+11 56
+11 68
+12 34
+12 35
+12 39
+12 42
+12 51
+12 57
+12 59
+12 60
+12 65
+13 37
+13 41
+13 52
+13 53
+13 58
+13 67
+14 32
+14 43
+14 56
+15 40
+15 44
+15 48
+15 52
+15 53
+15 55
+15 58
+15 62
+15 63
+16 37
+16 40
+16 41
+16 52
+16 53
+16 58
+16 67
+17 33
+17 34
+17 35
+17 36
+17 43
+17 49
+17 50
+17 51
+17 54
+17 56
+17 68
+18 33
+18 34
+18 35
+18 36
+18 42
+18 49
+18 50
+18 51
+18 54
+18 59
+18 65
+18 68
+19 33
+19 34
+19 35
+19 36
+19 42
+19 49
+19 50
+19 51
+19 54
+19 59
+19 65
+19 68
+20 32
+20 43
+20 56
+21 38
+21 40
+21 44
+21 47
+21 48
+21 55
+21 61
+21 62
+21 63
+21 66
+22 38
+22 39
+22 45
+22 47
+22 55
+22 57
+22 60
+22 61
+22 62
+22 66
+23 33
+23 34
+23 35
+23 36
+23 49
+23 50
+23 51
+23 54
+23 56
+23 68
+24 38
+24 39
+24 42
+24 45
+24 46
+24 47
+24 57
+24 59
+24 60
+24 61
+24 64
+24 65
+24 66
+25 37
+25 40
+25 41
+25 52
+25 53
+25 58
+25 63
+25 67
+26 38
+26 39
+26 47
+26 55
+26 57
+26 60
+26 61
+26 66
+27 40
+27 53
+27 55
+27 63
+28 32
+28 33
+28 36
+28 43
+28 54
+28 56
+28 68
+29 33
+29 34
+29 35
+29 36
+29 43
+29 49
+29 50
+29 51
+29 54
+29 56
+29 68
+30 37
+30 41
+30 52
+30 53
+30 58
+30 67
+31 38
+31 39
+31 44
+31 45
+31 46
+31 47
+31 48
+31 55
+31 57
+31 60
+31 61
+31 62
+31 64
+31 66
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/50.gr b/src/githubtests/medium_test_set/instances/50.gr
new file mode 100644
index 0000000..035201b
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/50.gr
@@ -0,0 +1,441 @@
+p ocr 123 125 440
+1 127
+1 131
+1 226
+2 139
+2 148
+2 170
+2 202
+2 209
+3 188
+3 196
+3 203
+3 230
+4 144
+5 189
+5 231
+6 130
+6 141
+6 207
+6 231
+6 235
+6 242
+6 247
+7 166
+7 167
+7 169
+7 192
+8 175
+8 178
+8 229
+8 245
+9 136
+9 181
+9 190
+9 200
+10 149
+10 217
+10 222
+10 245
+11 141
+11 157
+11 234
+12 129
+12 229
+12 245
+13 124
+13 143
+13 165
+13 168
+13 197
+14 194
+14 212
+14 220
+15 226
+15 231
+16 157
+16 234
+17 146
+17 215
+18 129
+18 212
+18 217
+18 220
+18 225
+18 236
+19 124
+19 136
+19 150
+19 165
+19 190
+19 199
+19 234
+20 132
+20 134
+20 137
+20 141
+20 247
+21 131
+21 232
+22 128
+22 160
+22 198
+22 226
+23 134
+23 138
+23 141
+23 154
+24 160
+24 215
+25 153
+25 158
+25 185
+25 193
+25 205
+26 130
+26 134
+26 154
+26 247
+27 129
+27 133
+27 225
+28 146
+28 215
+28 223
+29 134
+29 154
+30 126
+30 175
+30 178
+30 179
+30 224
+30 229
+31 167
+31 183
+31 248
+32 141
+32 176
+32 185
+32 210
+32 234
+32 237
+33 146
+33 204
+33 208
+33 217
+33 223
+34 158
+34 185
+34 237
+35 128
+35 177
+36 172
+36 245
+37 192
+37 201
+38 212
+38 220
+39 126
+39 145
+39 187
+39 224
+40 183
+40 188
+40 196
+40 214
+41 135
+41 241
+42 135
+42 151
+42 184
+43 147
+43 150
+43 153
+43 180
+43 186
+43 193
+43 221
+44 202
+45 126
+45 224
+45 243
+46 140
+47 189
+47 207
+47 224
+47 231
+48 128
+48 231
+49 177
+49 216
+49 222
+50 160
+50 211
+50 218
+50 233
+51 212
+51 230
+52 190
+52 191
+52 206
+52 237
+53 151
+53 156
+53 208
+53 215
+54 144
+54 155
+54 163
+54 169
+54 242
+55 139
+55 184
+55 209
+55 239
+56 140
+56 164
+57 201
+58 189
+58 224
+59 147
+59 159
+59 162
+59 174
+59 180
+60 163
+60 248
+61 218
+61 226
+62 131
+62 137
+62 141
+62 156
+62 157
+62 170
+62 183
+62 202
+62 209
+62 241
+63 153
+63 159
+63 174
+63 180
+63 186
+64 165
+65 225
+65 228
+66 135
+66 156
+66 241
+67 148
+67 202
+67 239
+68 167
+68 176
+68 183
+68 185
+69 139
+69 148
+70 160
+70 177
+70 215
+70 217
+70 222
+70 223
+71 152
+71 165
+71 173
+71 219
+71 227
+72 139
+72 148
+72 239
+73 172
+73 175
+73 177
+73 189
+73 224
+73 231
+73 244
+74 168
+74 197
+75 131
+75 184
+75 209
+75 246
+76 143
+76 165
+76 168
+76 173
+76 227
+77 181
+77 182
+77 190
+77 200
+78 153
+78 193
+78 221
+79 142
+79 166
+79 167
+79 169
+79 195
+80 164
+80 172
+80 177
+80 244
+81 156
+81 241
+82 141
+82 142
+82 169
+82 210
+82 242
+83 157
+83 162
+84 125
+84 150
+84 152
+84 162
+84 165
+84 199
+85 140
+85 164
+85 172
+85 245
+86 203
+86 230
+87 155
+87 163
+87 167
+87 169
+87 192
+87 248
+88 156
+88 188
+88 204
+88 217
+89 158
+89 213
+89 237
+90 188
+90 194
+90 212
+90 217
+90 220
+90 230
+90 236
+91 126
+91 129
+91 187
+91 207
+92 132
+92 137
+93 136
+93 200
+93 234
+94 135
+94 184
+94 202
+94 241
+95 133
+95 207
+95 228
+96 155
+96 163
+97 172
+97 244
+98 142
+98 169
+98 195
+99 182
+99 200
+99 234
+100 202
+100 239
+101 177
+102 163
+102 183
+102 196
+102 203
+102 207
+102 214
+102 225
+102 228
+102 230
+102 242
+103 127
+103 131
+103 151
+103 184
+103 215
+103 218
+103 226
+103 246
+104 151
+104 215
+105 175
+105 179
+105 224
+106 131
+106 132
+106 137
+106 161
+106 226
+106 232
+107 144
+107 163
+107 242
+108 132
+108 161
+109 215
+109 223
+110 172
+110 175
+110 245
+111 182
+111 190
+111 234
+112 151
+112 184
+113 138
+113 141
+113 154
+113 235
+114 131
+114 137
+115 140
+115 164
+115 177
+115 222
+116 162
+116 174
+116 183
+116 185
+117 143
+117 165
+118 150
+118 158
+118 191
+118 193
+118 205
+118 206
+118 237
+119 125
+119 157
+119 238
+119 240
+120 132
+120 247
+121 145
+121 187
+121 224
+122 124
+122 171
+122 234
+123 125
+123 152
+123 157
+123 173
+123 197
+123 234
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/51.gr b/src/githubtests/medium_test_set/instances/51.gr
new file mode 100644
index 0000000..c0b04bd
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/51.gr
@@ -0,0 +1,521 @@
+p ocr 150 154 520
+1 198
+1 244
+1 245
+1 293
+2 168
+2 250
+2 304
+3 193
+3 219
+3 228
+3 286
+3 301
+3 303
+4 180
+4 194
+4 228
+4 273
+4 301
+5 241
+5 274
+6 193
+6 252
+6 286
+6 287
+7 185
+7 188
+8 154
+8 196
+9 237
+9 262
+9 294
+10 248
+10 253
+10 271
+11 217
+11 250
+11 283
+12 151
+12 169
+12 199
+12 223
+12 226
+12 263
+12 275
+12 278
+13 209
+13 249
+14 204
+14 232
+14 272
+15 215
+15 236
+15 247
+16 160
+16 178
+16 202
+16 216
+16 298
+17 166
+17 202
+17 212
+18 210
+18 289
+19 182
+19 194
+19 219
+19 228
+19 282
+20 267
+21 234
+21 244
+21 263
+22 198
+22 288
+23 156
+23 190
+23 243
+23 246
+23 280
+23 296
+24 182
+24 195
+24 207
+24 282
+25 204
+25 284
+26 221
+26 248
+26 253
+26 271
+27 168
+27 189
+27 211
+27 247
+27 280
+27 297
+28 191
+28 240
+28 300
+29 186
+30 154
+30 195
+30 196
+30 235
+31 269
+32 159
+32 180
+32 181
+32 182
+32 216
+32 264
+32 300
+33 174
+33 258
+33 264
+34 193
+34 252
+35 151
+35 188
+35 199
+35 204
+35 254
+35 272
+35 299
+36 152
+36 159
+36 163
+36 171
+37 152
+37 250
+37 297
+38 222
+38 250
+39 181
+39 233
+39 237
+39 262
+39 263
+39 270
+40 156
+40 157
+40 239
+41 159
+41 191
+41 300
+42 152
+42 159
+42 174
+42 257
+42 264
+43 156
+43 190
+44 203
+44 234
+44 244
+45 167
+45 172
+45 183
+46 163
+47 168
+47 250
+47 283
+48 155
+48 157
+48 160
+48 177
+48 216
+48 242
+49 179
+49 285
+50 152
+50 185
+51 282
+51 286
+52 233
+52 237
+52 263
+53 226
+53 230
+54 255
+55 209
+55 249
+55 277
+55 278
+56 152
+56 167
+56 172
+56 174
+56 247
+56 255
+56 257
+57 214
+57 227
+58 192
+58 236
+58 247
+59 152
+59 181
+59 213
+59 261
+59 290
+60 151
+60 209
+60 292
+61 174
+61 179
+61 200
+61 216
+61 285
+62 158
+62 184
+62 195
+62 207
+62 265
+62 281
+63 161
+63 197
+64 152
+64 213
+64 224
+64 238
+64 250
+64 280
+65 166
+65 184
+65 214
+66 152
+66 187
+66 201
+66 251
+67 155
+67 216
+67 229
+67 243
+68 195
+68 207
+69 204
+69 266
+70 152
+70 185
+70 188
+70 201
+70 231
+70 279
+71 184
+71 227
+72 152
+72 163
+72 185
+72 188
+73 176
+73 221
+73 245
+74 178
+74 202
+74 216
+74 218
+75 242
+75 298
+76 162
+76 177
+76 296
+77 151
+77 209
+77 277
+77 278
+78 160
+78 173
+78 239
+79 240
+79 253
+79 270
+79 288
+79 300
+80 223
+80 232
+80 263
+80 279
+81 158
+81 184
+81 274
+82 152
+82 187
+82 251
+82 261
+82 290
+82 302
+83 165
+83 195
+83 227
+83 265
+84 168
+84 238
+84 280
+84 304
+85 188
+85 204
+85 279
+86 175
+86 249
+86 292
+86 299
+87 203
+87 221
+87 253
+87 263
+87 270
+88 206
+88 211
+88 297
+89 186
+89 244
+89 269
+90 174
+90 179
+90 285
+91 198
+91 221
+91 245
+92 219
+92 282
+92 303
+93 260
+93 275
+93 299
+94 167
+94 174
+94 183
+94 255
+95 159
+95 171
+95 210
+95 289
+96 193
+96 218
+96 225
+96 252
+96 268
+97 158
+97 184
+97 218
+97 241
+98 233
+98 237
+98 295
+99 168
+99 304
+100 159
+100 208
+100 210
+100 254
+100 288
+100 289
+101 189
+101 236
+101 243
+101 247
+101 280
+102 205
+102 232
+102 266
+103 165
+103 195
+103 235
+104 153
+104 175
+104 249
+104 278
+104 291
+105 206
+105 217
+106 220
+106 233
+106 262
+107 281
+107 282
+107 287
+108 154
+108 156
+108 170
+108 181
+108 182
+108 202
+108 213
+108 224
+108 239
+108 280
+109 240
+109 300
+110 218
+110 252
+111 181
+111 201
+111 231
+111 237
+111 302
+112 188
+112 254
+112 259
+112 276
+113 244
+113 288
+114 263
+114 279
+115 173
+115 202
+116 161
+116 259
+117 275
+117 291
+117 299
+118 186
+118 230
+118 244
+119 168
+119 206
+119 211
+119 217
+119 283
+120 186
+120 230
+120 260
+121 221
+121 253
+121 288
+122 181
+122 290
+122 302
+123 200
+123 216
+124 163
+124 171
+124 276
+125 187
+126 226
+126 260
+126 275
+127 166
+127 170
+127 227
+127 235
+128 222
+128 238
+128 250
+128 304
+129 171
+129 197
+129 210
+129 254
+129 256
+130 176
+130 221
+130 244
+130 245
+131 228
+131 301
+132 186
+132 244
+132 260
+132 267
+132 269
+133 151
+133 169
+133 278
+134 238
+134 304
+135 177
+135 296
+136 190
+136 246
+136 280
+137 174
+137 179
+137 200
+137 216
+137 258
+137 264
+138 180
+138 193
+138 216
+138 268
+138 301
+139 220
+139 262
+139 294
+139 295
+140 208
+140 267
+140 288
+141 166
+141 184
+141 202
+142 187
+142 251
+143 205
+143 232
+143 266
+143 279
+143 284
+144 215
+144 247
+144 255
+145 215
+145 216
+145 236
+145 243
+145 255
+146 174
+146 183
+147 153
+147 175
+147 291
+147 299
+148 154
+148 182
+149 164
+149 240
+149 288
+150 282
+150 287
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/52.gr b/src/githubtests/medium_test_set/instances/52.gr
new file mode 100644
index 0000000..e1968b3
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/52.gr
@@ -0,0 +1,821 @@
+p ocr 250 220 820
+1 324
+1 381
+1 413
+1 441
+2 404
+2 408
+2 448
+3 265
+3 381
+3 396
+4 293
+4 365
+4 394
+5 282
+5 373
+5 419
+5 455
+6 404
+6 448
+6 468
+7 271
+7 282
+7 313
+7 351
+7 367
+7 441
+8 298
+8 380
+8 442
+9 263
+9 277
+9 303
+10 384
+10 407
+11 277
+11 320
+11 336
+11 343
+11 357
+12 324
+12 441
+13 355
+13 411
+13 420
+14 359
+14 453
+14 467
+15 312
+15 317
+15 395
+15 434
+15 462
+15 469
+16 275
+16 323
+17 262
+17 344
+17 437
+17 438
+18 261
+18 298
+19 303
+19 345
+19 346
+19 356
+19 405
+19 439
+20 305
+21 359
+21 470
+22 388
+22 398
+23 447
+23 466
+24 310
+24 368
+24 392
+25 383
+26 323
+26 359
+26 383
+27 274
+27 351
+27 381
+27 406
+27 413
+27 441
+28 318
+28 379
+28 428
+29 295
+29 386
+30 338
+30 363
+30 393
+30 394
+30 437
+30 463
+31 445
+32 382
+32 409
+32 467
+33 286
+33 366
+33 429
+34 265
+34 274
+34 307
+34 333
+35 274
+35 351
+35 406
+36 253
+36 260
+36 349
+36 402
+37 329
+37 339
+38 286
+38 304
+38 354
+38 366
+38 429
+38 447
+38 461
+39 304
+39 461
+40 267
+41 371
+41 432
+42 345
+42 357
+43 327
+43 345
+44 312
+44 317
+44 454
+45 412
+45 454
+45 467
+46 303
+46 346
+47 253
+47 261
+47 291
+48 402
+48 443
+49 374
+50 365
+50 395
+51 362
+51 418
+52 291
+52 297
+52 311
+52 380
+53 353
+53 430
+54 291
+54 297
+54 380
+55 294
+55 379
+55 437
+56 294
+56 317
+56 437
+56 460
+57 255
+57 389
+57 440
+58 305
+58 470
+59 280
+59 344
+59 352
+59 437
+60 359
+60 470
+61 310
+61 368
+61 392
+61 411
+61 431
+62 283
+62 436
+63 273
+63 304
+63 423
+63 447
+63 461
+64 350
+64 375
+64 449
+64 452
+64 456
+65 255
+65 256
+65 397
+66 254
+66 411
+66 424
+67 322
+67 353
+68 325
+68 342
+68 382
+68 409
+69 280
+69 352
+69 394
+69 398
+70 429
+71 276
+71 335
+71 403
+72 299
+72 334
+72 447
+72 466
+73 251
+74 284
+74 287
+74 349
+74 370
+74 396
+74 467
+75 278
+75 411
+75 424
+75 431
+76 258
+76 300
+76 412
+76 446
+76 457
+77 295
+77 324
+78 271
+78 332
+78 416
+79 262
+79 388
+80 262
+80 344
+80 398
+81 365
+81 395
+82 361
+82 385
+82 440
+83 266
+83 371
+83 387
+83 422
+83 451
+84 411
+84 420
+85 327
+85 443
+86 365
+86 395
+87 376
+87 451
+88 328
+88 396
+89 329
+89 339
+90 295
+90 329
+91 275
+91 323
+91 359
+91 432
+92 394
+92 426
+93 407
+93 417
+94 260
+94 261
+94 402
+95 262
+95 388
+95 394
+95 399
+95 438
+96 271
+96 385
+96 416
+97 257
+97 286
+98 317
+98 363
+98 394
+98 426
+99 252
+99 312
+99 375
+99 449
+99 454
+99 462
+100 303
+100 345
+100 346
+101 252
+101 414
+101 444
+101 449
+102 288
+102 314
+102 345
+103 270
+103 403
+104 357
+104 405
+105 328
+105 332
+105 396
+105 410
+106 340
+106 364
+106 371
+107 281
+107 342
+107 382
+108 282
+108 302
+108 330
+108 351
+108 455
+109 293
+109 365
+109 394
+109 426
+109 469
+110 270
+110 358
+110 359
+110 401
+110 467
+111 283
+111 377
+112 272
+112 306
+112 341
+112 378
+112 433
+112 436
+113 269
+113 460
+114 295
+114 324
+114 339
+114 381
+115 391
+115 412
+116 284
+116 295
+116 337
+117 275
+118 279
+118 467
+119 265
+119 328
+119 396
+119 410
+120 281
+120 317
+120 382
+120 454
+120 467
+121 334
+121 466
+122 400
+122 454
+123 369
+123 383
+124 447
+124 466
+125 266
+125 340
+125 418
+126 305
+126 359
+126 432
+126 470
+127 271
+127 282
+127 313
+127 347
+127 373
+127 419
+128 369
+128 427
+128 432
+128 467
+128 468
+129 385
+129 397
+129 440
+130 266
+130 267
+130 283
+130 305
+130 318
+130 326
+130 360
+130 377
+130 378
+130 414
+130 417
+130 436
+130 444
+130 470
+131 257
+131 264
+131 299
+131 303
+131 310
+131 315
+131 334
+132 265
+132 381
+133 261
+133 291
+133 442
+134 388
+134 394
+134 398
+135 334
+135 392
+136 259
+136 300
+136 331
+136 380
+136 385
+137 279
+137 325
+137 341
+137 342
+137 360
+137 378
+137 409
+137 421
+138 277
+138 303
+138 357
+139 266
+139 326
+139 340
+139 371
+139 432
+140 255
+140 256
+140 397
+140 440
+141 287
+141 401
+142 253
+142 349
+143 301
+143 358
+143 390
+144 435
+144 450
+145 283
+145 415
+145 436
+146 258
+146 259
+146 300
+146 440
+147 290
+147 400
+147 420
+148 302
+148 307
+148 351
+149 271
+149 332
+149 374
+149 410
+150 439
+151 330
+151 374
+152 255
+152 258
+152 425
+153 270
+153 401
+153 403
+154 369
+154 453
+155 287
+155 349
+155 402
+155 443
+155 459
+156 255
+156 295
+156 441
+157 314
+157 320
+157 357
+158 301
+158 322
+158 353
+158 430
+159 353
+159 359
+159 390
+159 430
+160 271
+160 385
+161 268
+161 379
+161 394
+161 435
+161 437
+162 275
+162 369
+162 383
+162 432
+163 251
+163 289
+163 300
+163 345
+163 457
+164 265
+164 302
+164 330
+164 333
+164 374
+164 410
+165 296
+165 431
+166 264
+166 296
+166 309
+166 310
+167 337
+168 350
+168 449
+169 402
+169 443
+170 295
+170 337
+170 412
+170 446
+171 266
+171 267
+171 279
+171 407
+171 421
+171 422
+172 388
+172 398
+173 277
+173 336
+174 252
+174 276
+174 287
+174 355
+174 392
+174 411
+174 447
+174 466
+175 284
+175 412
+175 467
+176 285
+176 420
+177 348
+177 360
+177 379
+178 257
+178 286
+178 303
+178 327
+178 447
+178 459
+179 355
+179 400
+180 274
+180 307
+181 271
+181 374
+181 419
+181 455
+182 257
+182 286
+182 319
+183 294
+183 317
+183 342
+183 360
+184 285
+184 391
+184 412
+185 364
+185 371
+186 396
+187 373
+187 419
+188 415
+188 445
+189 331
+189 416
+190 316
+190 427
+191 405
+191 439
+192 261
+192 298
+192 300
+192 327
+192 345
+192 402
+192 443
+193 395
+193 434
+193 469
+194 266
+194 384
+195 354
+195 447
+196 282
+196 351
+197 316
+197 376
+197 387
+197 422
+197 451
+198 266
+198 362
+198 364
+198 371
+198 372
+199 332
+199 370
+200 296
+200 309
+200 424
+201 252
+201 276
+201 470
+202 328
+202 410
+203 331
+203 385
+203 416
+204 267
+204 272
+204 283
+204 306
+204 341
+204 377
+205 284
+205 295
+205 329
+205 339
+205 381
+206 254
+206 263
+206 277
+206 309
+206 412
+206 420
+206 424
+207 285
+207 290
+207 420
+208 286
+208 354
+208 447
+209 283
+209 306
+209 436
+209 445
+210 271
+210 397
+211 263
+211 264
+211 303
+211 309
+212 394
+212 435
+212 450
+213 258
+213 295
+213 386
+213 446
+214 266
+214 418
+215 253
+215 349
+216 286
+216 366
+217 272
+217 306
+218 306
+218 433
+218 436
+219 273
+219 286
+219 299
+219 304
+219 315
+219 319
+219 366
+219 423
+220 269
+220 317
+220 338
+220 393
+220 437
+220 460
+221 301
+221 359
+221 470
+222 386
+222 425
+223 371
+223 387
+223 427
+224 292
+224 301
+224 322
+224 390
+225 268
+225 350
+225 435
+225 449
+225 462
+226 316
+226 422
+226 427
+227 365
+227 394
+227 395
+227 435
+227 462
+228 303
+228 356
+228 357
+229 408
+229 427
+230 278
+230 296
+230 464
+231 428
+231 444
+232 275
+232 323
+232 383
+233 252
+233 355
+233 454
+234 268
+234 444
+234 449
+235 302
+235 333
+236 291
+236 442
+237 268
+237 444
+237 465
+238 276
+238 335
+238 401
+238 403
+238 458
+239 340
+239 362
+239 364
+239 418
+240 294
+240 348
+240 379
+241 277
+241 288
+241 308
+241 314
+241 320
+241 336
+242 338
+243 253
+243 291
+243 311
+243 370
+244 276
+244 301
+244 403
+244 470
+245 311
+245 332
+245 370
+245 380
+245 416
+246 251
+246 288
+246 308
+246 412
+247 279
+247 408
+247 427
+247 467
+248 255
+248 271
+248 367
+248 397
+249 285
+249 391
+249 400
+249 412
+250 280
+250 321
+250 437
+250 463
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/53.gr b/src/githubtests/medium_test_set/instances/53.gr
new file mode 100644
index 0000000..e9b0382
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/53.gr
@@ -0,0 +1,234 @@
+p ocr 101 111 233
+1 164
+2 171
+2 201
+3 164
+3 178
+3 201
+5 178
+5 201
+6 171
+6 201
+8 171
+8 201
+9 164
+9 178
+9 201
+10 164
+10 178
+10 201
+11 171
+11 201
+12 164
+13 164
+13 201
+14 171
+14 178
+16 164
+16 171
+16 201
+17 178
+17 201
+18 164
+18 178
+19 171
+21 171
+22 164
+22 171
+23 171
+23 178
+23 201
+24 164
+25 178
+26 164
+26 171
+27 201
+28 201
+29 164
+29 178
+30 171
+30 178
+31 164
+32 164
+32 171
+32 201
+33 178
+33 201
+34 171
+34 201
+35 201
+36 201
+38 164
+38 178
+38 201
+40 164
+40 178
+40 201
+41 178
+42 171
+42 178
+42 201
+43 164
+43 201
+44 171
+44 178
+45 164
+45 171
+45 201
+46 201
+47 178
+47 201
+48 178
+49 178
+49 201
+50 164
+50 178
+51 164
+51 178
+52 178
+53 164
+53 201
+54 171
+55 171
+56 105
+56 107
+56 108
+56 109
+56 110
+56 111
+56 112
+56 113
+56 114
+56 115
+56 116
+56 117
+56 123
+56 125
+56 126
+56 128
+56 129
+56 131
+56 133
+56 134
+56 135
+56 140
+56 142
+56 144
+56 146
+56 147
+56 149
+56 150
+56 151
+56 152
+56 167
+56 170
+56 171
+56 172
+56 175
+56 176
+56 177
+56 178
+56 179
+56 180
+56 182
+56 184
+56 185
+56 187
+56 188
+56 192
+56 198
+56 203
+56 205
+56 210
+56 211
+56 212
+57 164
+57 171
+57 201
+58 171
+59 171
+59 201
+60 171
+60 178
+60 201
+61 164
+61 171
+61 178
+61 201
+63 164
+63 171
+63 178
+64 164
+64 201
+65 164
+65 178
+66 171
+66 201
+67 171
+67 178
+67 201
+68 171
+68 178
+69 164
+69 171
+69 201
+70 164
+70 178
+71 164
+71 171
+71 178
+71 201
+72 178
+72 201
+73 164
+73 178
+74 171
+74 178
+76 178
+77 178
+78 164
+79 164
+79 178
+80 178
+80 201
+81 164
+81 171
+81 201
+82 171
+82 178
+83 171
+83 178
+84 178
+84 201
+85 164
+85 171
+85 201
+86 178
+86 201
+87 178
+87 201
+88 201
+89 164
+89 178
+89 201
+90 178
+91 201
+92 164
+92 171
+92 178
+94 171
+94 201
+95 171
+96 164
+96 178
+97 164
+97 201
+98 171
+98 178
+99 164
+99 171
+99 201
+100 171
+100 178
+100 201
+101 164
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/54.gr b/src/githubtests/medium_test_set/instances/54.gr
new file mode 100644
index 0000000..dc0b0bd
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/54.gr
@@ -0,0 +1,282 @@
+p ocr 133 125 281
+2 187
+6 187
+15 187
+18 187
+19 187
+20 187
+23 187
+25 187
+26 187
+28 187
+33 187
+36 187
+37 187
+40 187
+52 187
+55 187
+61 187
+63 187
+69 139
+69 141
+69 145
+69 148
+69 152
+69 154
+69 163
+69 165
+69 168
+69 172
+69 181
+69 182
+69 184
+69 186
+69 187
+69 188
+69 190
+69 194
+69 199
+69 200
+69 201
+69 203
+69 207
+69 208
+69 209
+69 211
+69 212
+69 214
+69 218
+69 224
+69 225
+69 230
+69 236
+69 244
+69 245
+69 247
+69 248
+69 255
+69 256
+72 187
+74 187
+75 134
+75 135
+75 139
+75 140
+75 142
+75 144
+75 147
+75 149
+75 151
+75 154
+75 158
+75 162
+75 163
+75 164
+75 166
+75 168
+75 170
+75 174
+75 175
+75 176
+75 177
+75 180
+75 185
+75 187
+75 192
+75 198
+75 200
+75 204
+75 205
+75 207
+75 208
+75 217
+75 223
+75 224
+75 225
+75 226
+75 227
+75 232
+75 234
+75 235
+75 242
+75 248
+75 251
+75 252
+75 254
+75 255
+75 256
+76 187
+81 187
+83 187
+85 187
+86 187
+88 187
+89 187
+91 187
+92 134
+92 136
+92 137
+92 138
+92 139
+92 142
+92 145
+92 146
+92 147
+92 151
+92 152
+92 157
+92 158
+92 161
+92 164
+92 165
+92 168
+92 169
+92 173
+92 175
+92 176
+92 178
+92 179
+92 182
+92 183
+92 184
+92 187
+92 188
+92 193
+92 196
+92 201
+92 202
+92 204
+92 206
+92 208
+92 213
+92 215
+92 218
+92 219
+92 220
+92 221
+92 222
+92 223
+92 230
+92 233
+92 237
+92 238
+92 239
+92 240
+92 243
+92 245
+92 247
+92 248
+92 249
+92 255
+92 257
+92 258
+94 187
+96 187
+97 134
+97 138
+97 139
+97 147
+97 149
+97 153
+97 154
+97 155
+97 156
+97 158
+97 160
+97 162
+97 168
+97 169
+97 170
+97 173
+97 176
+97 177
+97 182
+97 187
+97 189
+97 190
+97 192
+97 193
+97 195
+97 196
+97 198
+97 199
+97 200
+97 204
+97 208
+97 209
+97 210
+97 217
+97 218
+97 225
+97 227
+97 228
+97 233
+97 241
+97 242
+97 245
+97 247
+97 249
+97 252
+99 187
+102 187
+106 187
+108 187
+110 187
+111 187
+113 187
+116 135
+116 137
+116 143
+116 145
+116 148
+116 151
+116 152
+116 155
+116 157
+116 159
+116 166
+116 168
+116 169
+116 172
+116 173
+116 174
+116 176
+116 179
+116 180
+116 185
+116 187
+116 190
+116 192
+116 193
+116 194
+116 195
+116 196
+116 197
+116 199
+116 200
+116 202
+116 208
+116 211
+116 218
+116 221
+116 224
+116 229
+116 233
+116 236
+116 238
+116 240
+116 241
+116 244
+116 245
+116 247
+116 249
+116 251
+116 256
+116 258
+118 187
+122 187
+123 187
+128 187
+129 187
+130 187
+133 187
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/55.gr b/src/githubtests/medium_test_set/instances/55.gr
new file mode 100644
index 0000000..38a4025
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/55.gr
@@ -0,0 +1,381 @@
+p ocr 174 172 380
+3 197
+13 197
+18 197
+26 197
+29 197
+32 197
+36 197
+45 197
+52 197
+58 197
+62 197
+73 197
+75 197
+79 197
+80 197
+83 197
+87 197
+88 197
+89 176
+89 178
+89 184
+89 186
+89 187
+89 189
+89 191
+89 192
+89 197
+89 203
+89 210
+89 211
+89 213
+89 214
+89 215
+89 216
+89 221
+89 223
+89 227
+89 228
+89 231
+89 238
+89 240
+89 252
+89 253
+89 255
+89 257
+89 264
+89 265
+89 271
+89 272
+89 274
+89 280
+89 281
+89 284
+89 285
+89 288
+89 289
+89 290
+89 292
+89 296
+89 299
+89 300
+89 301
+89 303
+89 305
+89 315
+89 323
+89 324
+89 325
+89 326
+89 332
+89 336
+89 341
+89 344
+89 346
+92 197
+93 197
+94 197
+96 197
+98 197
+104 175
+104 179
+104 186
+104 187
+104 188
+104 194
+104 196
+104 197
+104 202
+104 216
+104 217
+104 221
+104 228
+104 241
+104 250
+104 253
+104 258
+104 259
+104 266
+104 267
+104 273
+104 275
+104 277
+104 280
+104 282
+104 285
+104 286
+104 291
+104 292
+104 295
+104 297
+104 303
+104 304
+104 305
+104 307
+104 310
+104 311
+104 319
+104 321
+104 329
+104 334
+104 341
+104 343
+104 344
+105 197
+107 197
+108 177
+108 178
+108 180
+108 188
+108 189
+108 190
+108 191
+108 193
+108 197
+108 203
+108 204
+108 213
+108 215
+108 218
+108 222
+108 224
+108 225
+108 230
+108 232
+108 241
+108 242
+108 249
+108 259
+108 260
+108 266
+108 270
+108 273
+108 274
+108 276
+108 280
+108 284
+108 290
+108 294
+108 299
+108 300
+108 309
+108 310
+108 312
+108 313
+108 314
+108 316
+108 319
+108 321
+108 322
+108 330
+108 333
+108 341
+108 345
+108 346
+109 197
+112 197
+113 178
+113 183
+113 184
+113 189
+113 190
+113 198
+113 204
+113 206
+113 208
+113 216
+113 217
+113 219
+113 225
+113 235
+113 237
+113 239
+113 241
+113 243
+113 244
+113 248
+113 253
+113 254
+113 258
+113 262
+113 263
+113 265
+113 266
+113 268
+113 269
+113 272
+113 274
+113 275
+113 279
+113 281
+113 283
+113 284
+113 285
+113 289
+113 293
+113 301
+113 307
+113 309
+113 314
+113 317
+113 318
+113 325
+113 329
+113 334
+113 340
+113 341
+113 344
+120 197
+124 197
+125 197
+128 197
+132 197
+138 197
+139 176
+139 177
+139 180
+139 186
+139 191
+139 193
+139 195
+139 197
+139 199
+139 200
+139 201
+139 208
+139 210
+139 216
+139 224
+139 225
+139 226
+139 229
+139 230
+139 233
+139 241
+139 255
+139 263
+139 266
+139 273
+139 276
+139 279
+139 281
+139 286
+139 295
+139 298
+139 300
+139 306
+139 309
+139 311
+139 319
+139 323
+139 326
+139 327
+139 329
+139 337
+139 338
+139 339
+139 341
+139 346
+141 197
+144 197
+145 197
+146 197
+147 197
+149 197
+152 197
+154 197
+155 197
+156 175
+156 180
+156 185
+156 192
+156 198
+156 200
+156 204
+156 206
+156 207
+156 208
+156 216
+156 224
+156 225
+156 226
+156 227
+156 228
+156 229
+156 232
+156 234
+156 235
+156 240
+156 244
+156 245
+156 257
+156 268
+156 272
+156 279
+156 282
+156 284
+156 285
+156 291
+156 296
+156 297
+156 299
+156 305
+156 306
+156 311
+156 316
+156 317
+156 331
+156 332
+156 336
+156 341
+156 342
+161 197
+167 179
+167 187
+167 190
+167 194
+167 197
+167 198
+167 200
+167 211
+167 212
+167 215
+167 222
+167 224
+167 230
+167 232
+167 236
+167 240
+167 246
+167 250
+167 251
+167 256
+167 261
+167 278
+167 279
+167 280
+167 284
+167 287
+167 288
+167 290
+167 293
+167 294
+167 298
+167 303
+167 305
+167 306
+167 314
+167 316
+167 318
+167 323
+167 325
+167 330
+167 332
+167 335
+167 339
+167 341
+167 342
+167 343
+168 197
+171 197
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/56.gr b/src/githubtests/medium_test_set/instances/56.gr
new file mode 100644
index 0000000..04f0668
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/56.gr
@@ -0,0 +1,505 @@
+p ocr 235 224 504
+1 427
+2 314
+2 356
+3 407
+3 427
+4 356
+4 427
+5 311
+5 356
+6 356
+7 427
+10 356
+10 427
+12 407
+14 311
+14 427
+15 311
+16 356
+18 407
+20 314
+20 407
+21 311
+21 407
+24 407
+26 407
+30 311
+31 356
+31 407
+32 407
+35 314
+39 356
+40 311
+40 314
+40 356
+40 407
+43 314
+43 427
+44 356
+46 311
+47 311
+49 236
+49 244
+49 246
+49 247
+49 255
+49 256
+49 263
+49 268
+49 269
+49 283
+49 287
+49 298
+49 299
+49 301
+49 310
+49 320
+49 337
+49 338
+49 347
+49 355
+49 358
+49 375
+49 376
+49 377
+49 381
+49 390
+49 396
+49 398
+49 399
+49 400
+49 401
+49 402
+49 404
+49 407
+49 409
+49 413
+49 416
+49 422
+49 424
+49 429
+49 435
+49 445
+49 446
+49 449
+49 457
+51 314
+52 356
+53 427
+55 311
+55 427
+56 314
+56 356
+56 427
+57 356
+58 356
+58 407
+58 427
+59 311
+59 427
+60 311
+60 314
+60 356
+61 427
+64 311
+66 311
+66 407
+66 427
+67 356
+68 314
+68 427
+69 311
+70 311
+71 427
+73 427
+74 311
+75 239
+75 243
+75 244
+75 252
+75 254
+75 258
+75 264
+75 271
+75 273
+75 279
+75 287
+75 289
+75 290
+75 291
+75 292
+75 296
+75 298
+75 300
+75 306
+75 307
+75 309
+75 312
+75 313
+75 319
+75 322
+75 323
+75 343
+75 345
+75 346
+75 350
+75 353
+75 354
+75 356
+75 378
+75 382
+75 389
+75 391
+75 392
+75 399
+75 400
+75 407
+75 416
+75 420
+75 421
+75 431
+75 440
+75 441
+75 445
+75 447
+75 450
+75 454
+75 457
+75 459
+77 427
+78 311
+79 311
+79 314
+80 314
+80 356
+81 314
+81 407
+82 311
+84 314
+84 407
+84 427
+85 427
+86 407
+88 314
+94 356
+94 427
+95 356
+96 407
+96 427
+97 314
+97 427
+98 427
+99 356
+100 356
+100 407
+101 427
+102 240
+102 244
+102 256
+102 264
+102 265
+102 271
+102 287
+102 299
+102 304
+102 315
+102 316
+102 320
+102 334
+102 338
+102 343
+102 348
+102 352
+102 356
+102 363
+102 364
+102 366
+102 369
+102 370
+102 372
+102 382
+102 392
+102 400
+102 406
+102 419
+102 421
+102 430
+102 431
+102 432
+102 439
+102 444
+102 447
+102 451
+102 454
+102 458
+102 459
+103 356
+103 427
+106 356
+106 427
+110 356
+110 407
+111 427
+112 427
+113 314
+113 356
+116 356
+116 407
+117 314
+117 407
+121 314
+121 427
+122 311
+124 314
+127 356
+128 407
+128 427
+129 314
+129 427
+130 407
+131 427
+133 314
+133 356
+134 356
+136 314
+136 407
+137 311
+137 314
+139 356
+139 427
+140 311
+140 407
+141 311
+141 314
+142 407
+143 311
+143 356
+146 311
+147 407
+149 356
+150 314
+150 407
+151 407
+153 314
+153 427
+154 427
+155 311
+156 356
+157 356
+158 311
+158 314
+158 407
+159 407
+159 427
+160 314
+160 407
+161 356
+161 407
+162 311
+162 314
+162 427
+163 427
+165 311
+167 356
+168 427
+170 407
+173 314
+176 427
+177 314
+178 314
+178 407
+178 427
+179 311
+179 407
+179 427
+181 427
+185 356
+185 407
+189 311
+190 311
+190 407
+192 314
+192 356
+193 311
+194 314
+195 356
+197 311
+197 427
+198 311
+198 314
+198 407
+198 427
+199 427
+200 407
+200 427
+201 314
+203 240
+203 245
+203 247
+203 251
+203 254
+203 281
+203 298
+203 306
+203 310
+203 319
+203 320
+203 325
+203 333
+203 337
+203 347
+203 352
+203 357
+203 359
+203 365
+203 367
+203 369
+203 381
+203 383
+203 385
+203 387
+203 401
+203 403
+203 404
+203 407
+203 412
+203 417
+203 419
+203 426
+203 432
+203 437
+203 438
+203 439
+203 440
+203 442
+203 447
+203 456
+206 427
+207 311
+207 427
+208 356
+209 314
+210 407
+211 356
+212 314
+213 311
+213 356
+214 311
+214 356
+215 356
+216 311
+216 356
+217 240
+217 248
+217 263
+217 269
+217 273
+217 276
+217 282
+217 292
+217 295
+217 296
+217 299
+217 305
+217 307
+217 318
+217 319
+217 324
+217 328
+217 335
+217 340
+217 347
+217 351
+217 352
+217 356
+217 358
+217 363
+217 365
+217 371
+217 373
+217 380
+217 382
+217 395
+217 396
+217 397
+217 405
+217 406
+217 407
+217 410
+217 411
+217 414
+217 423
+217 424
+217 428
+217 430
+217 431
+217 434
+217 440
+217 446
+217 447
+217 449
+217 458
+218 314
+218 407
+218 427
+220 356
+221 356
+222 407
+222 427
+223 407
+225 407
+225 427
+228 427
+229 251
+229 258
+229 270
+229 280
+229 281
+229 282
+229 285
+229 294
+229 307
+229 308
+229 309
+229 314
+229 318
+229 320
+229 336
+229 340
+229 349
+229 352
+229 355
+229 356
+229 357
+229 358
+229 361
+229 365
+229 373
+229 384
+229 389
+229 392
+229 395
+229 400
+229 403
+229 405
+229 409
+229 412
+229 418
+229 430
+229 432
+229 434
+229 437
+229 448
+229 449
+229 450
+229 452
+229 453
+229 458
+230 311
+230 407
+230 427
+231 311
+231 314
+232 427
+233 356
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/57.gr b/src/githubtests/medium_test_set/instances/57.gr
new file mode 100644
index 0000000..fe8984e
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/57.gr
@@ -0,0 +1,592 @@
+p ocr 260 279 591
+1 312
+1 394
+1 446
+1 522
+3 265
+3 403
+3 522
+4 403
+4 535
+5 522
+6 394
+6 477
+7 265
+8 446
+9 477
+10 491
+11 522
+12 312
+13 312
+13 394
+14 403
+14 446
+14 481
+15 265
+15 446
+15 477
+17 265
+17 481
+19 522
+20 265
+20 477
+22 403
+22 491
+23 263
+23 269
+23 271
+23 281
+23 283
+23 286
+23 288
+23 293
+23 299
+23 300
+23 301
+23 329
+23 331
+23 344
+23 352
+23 355
+23 359
+23 365
+23 371
+23 390
+23 392
+23 394
+23 396
+23 399
+23 402
+23 411
+23 420
+23 423
+23 425
+23 426
+23 443
+23 446
+23 449
+23 453
+23 455
+23 457
+23 464
+23 473
+23 476
+23 477
+23 480
+23 484
+23 485
+23 491
+23 495
+23 499
+23 510
+23 533
+24 481
+24 535
+25 535
+26 403
+27 394
+28 312
+28 535
+30 312
+30 446
+31 403
+32 394
+32 403
+32 491
+33 266
+33 274
+33 275
+33 276
+33 278
+33 285
+33 287
+33 288
+33 296
+33 301
+33 305
+33 332
+33 333
+33 342
+33 348
+33 353
+33 356
+33 357
+33 359
+33 363
+33 368
+33 370
+33 371
+33 377
+33 394
+33 399
+33 401
+33 403
+33 405
+33 436
+33 442
+33 446
+33 449
+33 452
+33 453
+33 460
+33 464
+33 473
+33 475
+33 477
+33 485
+33 488
+33 491
+33 504
+33 505
+33 507
+33 518
+33 529
+33 530
+33 535
+33 536
+34 403
+36 265
+36 491
+38 446
+39 403
+39 477
+39 535
+40 446
+41 403
+42 446
+42 491
+43 522
+44 477
+44 491
+44 535
+45 403
+46 394
+46 491
+48 312
+49 312
+49 394
+49 481
+49 522
+50 403
+50 481
+50 535
+51 394
+52 312
+52 403
+52 477
+52 481
+53 481
+55 394
+56 265
+56 312
+56 446
+58 312
+58 535
+59 265
+59 403
+60 312
+60 491
+60 535
+61 312
+61 394
+61 522
+62 265
+62 491
+64 265
+64 312
+64 522
+65 446
+66 312
+66 477
+66 491
+66 535
+67 265
+67 312
+67 394
+67 491
+67 535
+68 477
+68 481
+68 491
+69 403
+69 522
+70 312
+70 522
+71 265
+71 312
+72 403
+73 312
+73 403
+76 446
+76 535
+77 394
+77 446
+78 446
+78 522
+79 394
+79 522
+79 535
+81 403
+83 491
+85 491
+86 312
+86 522
+87 312
+87 446
+87 481
+88 446
+88 522
+89 265
+89 477
+89 491
+89 535
+90 477
+90 491
+91 394
+91 403
+92 265
+92 481
+92 522
+93 446
+93 522
+94 522
+96 265
+96 491
+98 265
+98 535
+99 312
+99 522
+99 535
+100 481
+101 265
+101 394
+101 403
+102 312
+102 394
+102 477
+102 535
+103 403
+103 535
+104 394
+105 403
+105 535
+106 446
+106 535
+107 446
+108 535
+109 265
+109 312
+109 491
+110 265
+110 312
+110 491
+112 265
+112 394
+112 477
+112 522
+113 403
+114 477
+114 522
+115 277
+115 281
+115 283
+115 301
+115 308
+115 315
+115 321
+115 332
+115 336
+115 341
+115 342
+115 355
+115 359
+115 366
+115 368
+115 371
+115 381
+115 383
+115 396
+115 397
+115 399
+115 403
+115 410
+115 414
+115 419
+115 422
+115 423
+115 426
+115 428
+115 442
+115 443
+115 454
+115 456
+115 465
+115 470
+115 479
+115 483
+115 491
+115 509
+115 512
+115 513
+115 517
+115 520
+115 523
+115 525
+115 537
+116 535
+117 394
+118 394
+118 477
+119 265
+119 477
+120 403
+121 535
+122 446
+122 481
+123 312
+125 394
+126 446
+126 477
+126 522
+127 265
+127 477
+128 522
+129 535
+130 312
+130 491
+131 403
+132 312
+132 477
+132 481
+133 535
+134 312
+134 535
+135 522
+137 265
+139 394
+139 491
+140 265
+141 265
+141 312
+142 312
+143 403
+143 477
+144 403
+144 481
+148 312
+148 394
+148 403
+148 491
+149 394
+149 403
+149 491
+149 535
+150 403
+151 535
+152 394
+152 446
+153 265
+153 403
+155 403
+155 491
+156 394
+156 481
+157 403
+158 265
+158 394
+160 265
+160 403
+160 481
+161 265
+161 446
+163 477
+164 446
+165 477
+165 491
+165 535
+166 491
+167 491
+168 394
+168 491
+169 477
+169 535
+170 265
+170 403
+170 491
+170 535
+171 394
+172 312
+172 394
+172 403
+172 535
+173 394
+173 481
+174 312
+174 394
+174 446
+174 477
+174 522
+175 403
+175 535
+176 312
+176 481
+176 535
+177 481
+178 535
+179 265
+179 403
+179 535
+180 403
+181 265
+181 312
+182 535
+183 265
+183 481
+183 491
+184 446
+184 477
+185 265
+185 394
+185 522
+187 394
+187 535
+188 522
+189 446
+189 477
+189 481
+190 312
+190 446
+190 481
+190 491
+191 394
+191 403
+192 394
+192 403
+192 477
+192 522
+193 394
+194 265
+194 477
+195 446
+196 394
+197 446
+197 491
+198 265
+199 312
+199 394
+202 394
+202 491
+204 491
+204 522
+205 312
+205 403
+206 265
+206 394
+208 394
+208 535
+209 477
+209 491
+209 522
+210 265
+210 477
+210 491
+210 522
+212 446
+212 481
+212 491
+213 265
+213 491
+214 265
+214 481
+215 394
+215 403
+215 477
+215 491
+215 522
+216 535
+217 477
+218 312
+218 481
+219 312
+219 522
+221 477
+221 535
+222 477
+223 446
+224 522
+225 265
+225 446
+225 522
+226 312
+226 491
+226 535
+227 446
+228 312
+228 394
+228 403
+229 265
+229 491
+230 265
+231 481
+231 491
+231 535
+232 535
+233 394
+233 535
+235 394
+235 491
+235 522
+236 535
+237 265
+237 394
+237 477
+237 481
+237 535
+238 403
+239 312
+239 394
+239 446
+239 522
+240 403
+240 535
+241 265
+242 491
+243 481
+244 265
+244 394
+244 446
+244 477
+244 481
+244 535
+245 491
+245 535
+246 481
+247 394
+247 477
+248 522
+249 394
+249 446
+250 446
+250 477
+251 312
+251 477
+251 522
+252 481
+252 522
+253 477
+253 522
+254 477
+254 491
+254 535
+255 394
+255 446
+255 481
+256 403
+257 312
+258 403
+258 477
+258 491
+258 522
+259 481
+259 522
+260 265
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/58.gr b/src/githubtests/medium_test_set/instances/58.gr
new file mode 100644
index 0000000..2f3c675
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/58.gr
@@ -0,0 +1,49 @@
+p ocr 13 24 48
+1 30
+1 32
+1 34
+2 19
+2 28
+2 36
+3 16
+3 19
+3 21
+3 22
+3 23
+3 24
+3 26
+3 29
+3 31
+3 32
+3 35
+3 37
+4 17
+4 21
+4 34
+5 15
+5 25
+5 26
+6 14
+6 16
+6 30
+7 15
+7 20
+7 22
+8 17
+8 27
+8 31
+9 18
+9 33
+9 37
+10 18
+10 27
+10 35
+11 23
+11 25
+11 36
+12 14
+12 24
+12 28
+13 20
+13 29
+13 33
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/59.gr b/src/githubtests/medium_test_set/instances/59.gr
new file mode 100644
index 0000000..ccf9c75
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/59.gr
@@ -0,0 +1,65 @@
+p ocr 17 32 64
+1 37
+1 43
+1 49
+2 23
+2 35
+2 45
+3 36
+3 38
+3 46
+4 23
+4 25
+4 44
+5 33
+5 34
+5 44
+6 39
+6 47
+6 48
+7 19
+7 21
+7 35
+8 28
+8 37
+8 38
+9 24
+9 26
+9 40
+10 21
+10 22
+10 25
+10 27
+10 28
+10 29
+10 31
+10 32
+10 34
+10 39
+10 40
+10 41
+10 42
+10 43
+10 45
+10 46
+11 20
+11 27
+11 48
+12 20
+12 24
+12 31
+13 22
+13 30
+13 47
+14 19
+14 30
+14 32
+15 26
+15 29
+15 36
+16 18
+16 33
+16 42
+17 18
+17 41
+17 49
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/6.gr b/src/githubtests/medium_test_set/instances/6.gr
new file mode 100644
index 0000000..702bf8d
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/6.gr
@@ -0,0 +1,295 @@
+p ocr 143 152 294
+1 250
+1 271
+2 156
+2 278
+3 222
+3 232
+3 237
+3 259
+3 263
+4 162
+7 188
+7 255
+7 261
+7 265
+7 285
+10 157
+10 187
+10 287
+11 170
+11 172
+11 294
+14 288
+16 223
+17 161
+17 211
+19 220
+19 242
+20 173
+20 176
+20 192
+20 252
+20 254
+25 175
+25 203
+25 279
+26 193
+28 262
+29 190
+33 177
+33 218
+33 238
+33 274
+33 275
+33 284
+33 286
+34 179
+35 149
+35 225
+35 282
+36 158
+36 169
+36 184
+36 253
+37 246
+39 151
+39 236
+39 292
+41 281
+42 215
+42 216
+42 293
+43 144
+43 180
+43 183
+43 227
+43 258
+43 264
+43 269
+44 205
+47 174
+47 208
+48 159
+48 249
+50 166
+50 248
+50 276
+52 168
+52 241
+55 201
+56 207
+57 160
+64 181
+64 235
+70 224
+71 167
+73 244
+78 186
+78 233
+78 280
+80 182
+80 239
+82 231
+83 260
+84 209
+84 226
+84 251
+84 257
+84 295
+85 230
+87 199
+87 202
+87 221
+88 150
+89 153
+89 206
+92 148
+92 194
+93 189
+93 217
+95 146
+96 195
+96 212
+97 289
+100 229
+101 152
+101 163
+101 178
+102 185
+105 165
+106 243
+107 191
+107 256
+107 273
+108 266
+108 267
+110 198
+110 228
+111 219
+111 283
+112 204
+113 147
+113 196
+113 210
+113 214
+114 240
+116 171
+121 272
+122 200
+126 213
+127 245
+127 277
+130 145
+130 197
+130 247
+130 290
+131 155
+131 270
+131 291
+139 154
+139 234
+139 268
+142 164
+79 146
+80 146
+93 148
+89 150
+90 153
+91 153
+92 153
+21 155
+117 155
+132 155
+133 155
+135 155
+136 155
+138 155
+139 155
+11 157
+37 158
+49 159
+121 159
+26 160
+58 160
+59 160
+60 160
+61 160
+62 160
+18 161
+19 161
+71 162
+143 164
+106 165
+122 166
+39 167
+12 170
+13 170
+14 170
+50 171
+118 171
+119 171
+120 171
+134 171
+48 174
+102 178
+36 179
+75 179
+103 185
+105 185
+125 185
+96 186
+78 189
+94 189
+104 190
+124 190
+126 190
+64 193
+5 196
+115 196
+116 196
+111 198
+29 200
+56 201
+88 202
+113 204
+22 205
+23 205
+24 205
+25 205
+57 207
+97 212
+127 213
+112 219
+17 223
+114 224
+76 225
+77 225
+95 225
+28 227
+101 229
+86 230
+87 230
+83 231
+65 235
+66 235
+67 235
+68 235
+69 235
+70 235
+7 236
+4 237
+81 239
+82 239
+72 240
+73 240
+40 241
+54 241
+55 241
+20 242
+107 243
+35 244
+74 244
+6 246
+38 246
+41 246
+53 246
+2 250
+85 251
+44 252
+84 260
+8 261
+9 261
+10 261
+30 262
+31 262
+32 262
+33 262
+123 262
+109 267
+110 267
+140 268
+141 268
+142 268
+51 272
+52 272
+108 273
+128 277
+129 277
+130 277
+3 278
+43 279
+63 279
+42 281
+34 286
+15 288
+16 288
+98 289
+99 289
+100 289
+131 290
+27 293
+45 293
+46 293
+47 293
+137 293
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/60.gr b/src/githubtests/medium_test_set/instances/60.gr
new file mode 100644
index 0000000..35db436
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/60.gr
@@ -0,0 +1,289 @@
+p ocr 121 144 288
+1 205
+2 220
+3 126
+3 177
+3 205
+4 132
+5 135
+6 124
+7 185
+8 165
+9 175
+10 257
+11 123
+11 136
+11 208
+12 195
+13 125
+13 234
+13 251
+14 252
+15 201
+16 182
+16 191
+16 203
+17 232
+18 245
+19 192
+20 134
+21 162
+22 255
+23 133
+24 152
+25 153
+26 241
+27 238
+28 204
+29 247
+30 124
+30 173
+30 175
+31 167
+32 248
+33 181
+34 137
+35 170
+36 151
+37 177
+38 143
+39 141
+40 194
+40 226
+40 263
+41 141
+41 187
+41 254
+42 259
+43 231
+44 148
+45 217
+46 174
+46 260
+46 265
+47 176
+48 197
+49 155
+50 218
+51 129
+52 182
+53 254
+54 264
+55 159
+56 253
+57 223
+58 237
+59 212
+60 144
+61 145
+61 216
+61 230
+62 235
+63 154
+64 265
+65 169
+66 162
+66 228
+66 257
+67 154
+67 157
+67 242
+68 196
+68 225
+68 237
+69 242
+70 194
+71 150
+72 136
+73 262
+74 208
+75 163
+76 152
+76 201
+76 261
+77 227
+78 206
+79 127
+79 198
+79 238
+80 122
+80 130
+80 147
+80 156
+80 158
+80 161
+80 168
+80 178
+80 179
+80 186
+80 188
+80 193
+80 199
+80 209
+80 210
+80 215
+80 219
+80 221
+80 224
+80 233
+80 236
+80 239
+80 243
+80 258
+81 160
+81 172
+81 189
+82 202
+82 211
+82 232
+83 140
+84 149
+85 174
+86 184
+87 250
+88 214
+89 125
+90 211
+91 164
+92 138
+93 246
+94 240
+95 225
+96 249
+97 256
+98 195
+98 244
+98 247
+99 153
+99 213
+99 217
+100 145
+101 146
+102 172
+103 234
+104 171
+105 200
+106 128
+107 165
+107 176
+107 190
+108 139
+109 160
+110 183
+111 216
+112 191
+113 166
+113 169
+113 185
+114 142
+114 149
+114 227
+115 184
+115 206
+115 207
+116 131
+117 180
+118 226
+119 157
+120 144
+120 222
+120 253
+121 204
+121 229
+121 231
+23 122
+14 123
+108 126
+91 127
+27 128
+15 129
+105 130
+111 131
+17 132
+6 133
+118 134
+39 135
+37 137
+102 138
+84 139
+21 140
+22 142
+10 143
+72 146
+32 147
+90 148
+112 150
+69 151
+103 155
+19 156
+71 158
+56 159
+101 161
+85 163
+109 164
+87 166
+95 167
+94 168
+89 170
+63 171
+5 173
+33 178
+48 179
+8 180
+78 181
+12 183
+73 186
+18 187
+49 188
+42 189
+59 190
+77 192
+50 193
+35 196
+1 197
+36 198
+97 199
+119 200
+83 202
+55 203
+44 207
+62 209
+57 210
+74 212
+20 213
+24 214
+75 215
+53 218
+92 219
+65 220
+106 221
+34 222
+29 223
+26 224
+2 228
+116 229
+51 230
+4 233
+28 235
+38 236
+88 239
+100 240
+45 241
+96 243
+93 244
+25 245
+86 246
+70 248
+60 249
+9 250
+117 251
+43 252
+58 255
+47 256
+31 258
+52 259
+110 260
+54 261
+7 262
+104 263
+64 264
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/7.gr b/src/githubtests/medium_test_set/instances/7.gr
new file mode 100644
index 0000000..3423bb4
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/7.gr
@@ -0,0 +1,459 @@
+p ocr 244 215 458
+1 439
+1 457
+2 297
+2 346
+5 298
+6 262
+6 426
+7 270
+7 289
+7 326
+7 334
+7 397
+8 412
+8 459
+9 281
+9 349
+9 449
+10 348
+11 375
+17 437
+18 357
+20 269
+20 274
+20 288
+21 312
+22 263
+23 399
+30 360
+30 382
+30 423
+31 458
+35 296
+37 286
+37 434
+43 273
+43 354
+44 311
+44 453
+47 401
+49 446
+49 451
+52 323
+52 385
+53 359
+57 280
+57 301
+57 392
+58 250
+58 366
+59 300
+59 335
+59 410
+60 290
+61 352
+61 406
+62 266
+62 427
+64 284
+68 417
+74 245
+74 246
+74 285
+74 305
+74 327
+74 364
+74 387
+74 442
+75 279
+75 413
+77 333
+77 419
+80 255
+81 309
+82 415
+83 249
+84 431
+85 291
+85 414
+87 317
+91 336
+93 275
+93 316
+93 321
+94 378
+94 436
+95 302
+95 391
+97 377
+100 337
+102 268
+102 350
+103 315
+103 331
+104 276
+110 343
+111 303
+112 418
+116 454
+117 379
+119 308
+119 363
+120 248
+121 355
+122 265
+123 260
+123 345
+123 351
+124 254
+126 330
+129 369
+129 400
+131 253
+134 372
+134 455
+135 272
+135 339
+137 264
+137 287
+139 381
+139 398
+139 421
+141 304
+141 313
+141 338
+141 424
+144 373
+144 383
+146 282
+146 411
+147 306
+148 448
+149 394
+149 433
+152 319
+154 320
+155 283
+155 403
+159 380
+160 277
+160 404
+161 261
+161 341
+161 425
+161 429
+165 258
+165 267
+165 432
+166 344
+167 328
+167 361
+168 365
+172 247
+172 367
+172 440
+173 271
+173 384
+173 389
+173 435
+173 438
+174 252
+175 314
+175 422
+178 318
+178 386
+178 428
+178 430
+181 256
+183 332
+183 402
+183 407
+185 257
+186 293
+189 251
+189 390
+190 353
+191 447
+192 294
+194 376
+196 393
+197 409
+204 259
+205 278
+205 452
+206 307
+207 325
+209 299
+209 444
+215 356
+215 443
+216 322
+216 358
+217 292
+217 324
+217 329
+217 408
+217 416
+217 456
+218 340
+227 368
+229 362
+231 450
+232 347
+232 388
+235 295
+236 310
+236 342
+236 374
+236 405
+238 396
+238 441
+238 445
+242 420
+243 370
+243 371
+244 395
+74 247
+121 248
+73 249
+170 249
+171 249
+173 249
+175 252
+132 253
+133 253
+147 253
+125 254
+126 254
+127 254
+128 254
+81 255
+182 256
+183 256
+186 257
+155 259
+124 260
+7 262
+23 263
+65 264
+217 264
+154 265
+200 265
+201 265
+202 265
+203 265
+63 266
+64 266
+207 267
+103 268
+8 270
+174 271
+44 273
+94 275
+9 276
+41 276
+105 276
+106 276
+108 276
+109 276
+58 280
+112 281
+142 281
+78 282
+149 282
+198 282
+156 283
+157 283
+158 283
+159 283
+216 284
+38 286
+39 286
+40 286
+42 286
+43 286
+107 286
+21 288
+61 290
+86 291
+87 291
+218 292
+187 293
+188 293
+189 293
+193 294
+194 294
+166 295
+36 296
+37 296
+6 298
+137 299
+210 299
+211 299
+212 299
+213 299
+214 299
+96 302
+97 302
+144 303
+176 303
+111 304
+135 306
+236 307
+82 309
+237 310
+238 310
+45 311
+46 311
+47 311
+22 312
+150 314
+177 314
+178 314
+88 317
+89 317
+90 317
+91 317
+153 319
+204 319
+205 320
+66 322
+67 322
+68 322
+167 325
+129 330
+104 331
+92 336
+93 336
+140 337
+141 337
+134 339
+191 340
+219 340
+220 340
+221 340
+222 340
+223 340
+10 343
+208 344
+209 344
+3 346
+5 346
+241 346
+206 347
+233 347
+234 347
+11 348
+62 352
+192 353
+224 353
+123 355
+199 355
+19 357
+20 357
+54 359
+55 359
+56 359
+57 359
+83 361
+143 361
+230 362
+231 362
+120 363
+75 364
+151 365
+152 365
+59 366
+228 368
+229 368
+130 369
+131 369
+244 371
+145 373
+146 373
+12 375
+13 375
+14 375
+15 375
+16 375
+17 375
+195 376
+196 376
+26 377
+98 377
+99 377
+101 377
+102 377
+118 379
+119 379
+160 380
+31 382
+53 385
+190 390
+197 393
+168 394
+114 396
+239 396
+240 396
+242 396
+27 398
+28 398
+29 398
+30 398
+24 399
+25 399
+139 399
+48 401
+49 401
+184 402
+185 402
+161 404
+148 409
+60 410
+110 412
+76 413
+77 413
+84 415
+169 415
+69 417
+70 417
+71 417
+72 417
+172 417
+4 418
+113 418
+115 418
+116 418
+79 419
+80 419
+136 419
+243 420
+179 428
+180 428
+181 428
+162 429
+163 429
+164 429
+165 429
+85 431
+95 436
+18 437
+2 439
+100 443
+138 443
+225 447
+226 447
+227 447
+122 448
+232 450
+50 451
+51 451
+52 451
+235 452
+117 454
+215 455
+32 458
+33 458
+34 458
+35 458
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/8.gr b/src/githubtests/medium_test_set/instances/8.gr
new file mode 100644
index 0000000..2218e88
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/8.gr
@@ -0,0 +1,654 @@
+p ocr 346 308 653
+1 401
+1 630
+1 633
+2 356
+4 391
+4 577
+4 608
+4 632
+9 366
+9 469
+12 527
+13 532
+18 379
+19 563
+19 599
+19 620
+22 442
+22 547
+22 647
+24 489
+24 541
+27 462
+27 466
+27 635
+27 636
+27 643
+29 479
+29 480
+30 436
+30 441
+33 560
+36 460
+36 618
+38 365
+38 511
+40 402
+40 472
+40 485
+40 496
+40 567
+40 623
+45 504
+49 405
+49 476
+49 594
+53 424
+53 555
+53 597
+54 512
+56 454
+57 411
+58 364
+58 604
+60 562
+60 576
+61 538
+61 550
+63 361
+63 570
+63 650
+64 501
+66 407
+66 478
+66 559
+69 457
+72 500
+72 528
+74 368
+74 586
+76 375
+78 351
+78 471
+78 473
+78 494
+78 610
+79 397
+79 497
+82 509
+90 450
+90 452
+91 517
+92 614
+94 569
+94 619
+96 390
+96 505
+96 584
+96 596
+101 626
+105 548
+106 642
+107 369
+107 385
+107 492
+107 631
+109 490
+109 537
+110 355
+110 551
+113 349
+113 398
+113 421
+113 438
+113 645
+114 382
+115 431
+120 448
+121 475
+121 585
+123 554
+126 433
+128 459
+128 523
+129 581
+136 400
+137 481
+140 617
+144 363
+144 508
+147 373
+147 392
+148 399
+148 470
+149 482
+149 483
+150 525
+151 568
+152 362
+153 393
+153 412
+153 627
+155 484
+158 414
+159 601
+160 557
+161 370
+165 409
+167 377
+167 435
+167 583
+169 445
+169 488
+169 616
+170 410
+170 518
+170 549
+170 595
+171 380
+171 593
+171 628
+171 641
+172 499
+172 640
+175 542
+179 434
+180 520
+180 612
+181 404
+181 444
+182 430
+182 654
+183 495
+184 378
+188 603
+192 598
+195 374
+195 403
+195 539
+197 526
+197 644
+198 381
+198 418
+198 429
+198 535
+198 600
+198 639
+199 359
+199 455
+199 522
+200 416
+201 439
+201 613
+201 638
+202 624
+203 423
+203 575
+205 651
+207 358
+208 422
+208 521
+209 352
+209 556
+209 605
+217 566
+221 413
+221 513
+221 531
+221 533
+224 432
+224 486
+224 506
+225 514
+226 524
+228 465
+228 653
+233 609
+236 388
+237 637
+238 376
+239 384
+239 564
+240 357
+240 387
+240 571
+241 396
+241 447
+241 552
+243 367
+243 606
+245 458
+246 579
+247 408
+247 464
+247 467
+247 493
+249 453
+251 634
+252 354
+254 621
+259 428
+259 503
+259 543
+261 591
+262 347
+262 395
+262 546
+263 510
+264 590
+265 646
+266 648
+268 360
+268 426
+268 625
+269 350
+269 437
+269 456
+274 451
+279 386
+279 425
+281 443
+281 553
+282 622
+285 574
+286 427
+286 498
+287 353
+287 420
+287 474
+290 502
+290 572
+290 587
+295 383
+298 491
+305 371
+305 545
+307 544
+307 649
+311 468
+311 652
+314 589
+316 449
+317 578
+318 588
+319 487
+320 602
+323 372
+323 389
+323 558
+324 515
+324 530
+324 540
+324 629
+325 406
+325 419
+325 440
+325 519
+326 415
+329 417
+329 536
+334 477
+334 561
+337 573
+337 582
+337 611
+338 534
+338 565
+339 463
+339 516
+339 615
+340 446
+341 507
+344 461
+346 348
+346 394
+346 529
+346 580
+346 592
+346 607
+346 347
+264 348
+157 353
+288 353
+290 353
+150 354
+4 356
+271 356
+338 358
+153 362
+39 365
+40 365
+75 368
+76 368
+108 369
+109 369
+27 370
+162 370
+163 370
+164 370
+306 371
+307 371
+196 374
+197 374
+77 375
+78 375
+239 376
+185 378
+311 378
+57 379
+115 382
+296 383
+297 383
+298 383
+241 387
+237 388
+324 389
+182 390
+5 391
+6 391
+7 391
+8 391
+13 391
+148 392
+114 398
+149 399
+137 400
+41 402
+42 402
+43 402
+45 402
+216 402
+97 404
+183 404
+28 409
+29 409
+58 411
+154 412
+156 412
+158 412
+289 412
+335 412
+159 414
+168 415
+169 415
+116 416
+211 416
+212 416
+213 416
+215 416
+217 416
+273 416
+44 417
+72 417
+330 417
+332 417
+167 419
+73 423
+126 423
+280 425
+281 425
+269 426
+287 427
+155 428
+260 428
+98 430
+99 430
+100 430
+101 430
+117 431
+118 431
+119 431
+120 431
+331 431
+225 432
+206 433
+337 433
+180 434
+327 435
+328 435
+329 435
+3 437
+214 437
+270 437
+272 437
+274 437
+31 441
+32 441
+33 441
+170 445
+146 446
+147 446
+121 448
+317 449
+91 450
+275 451
+276 451
+277 451
+278 451
+279 451
+235 453
+251 453
+19 454
+201 455
+210 455
+233 457
+246 458
+38 460
+47 460
+263 461
+345 461
+70 465
+229 465
+231 465
+232 465
+234 465
+236 465
+250 465
+293 465
+309 466
+326 466
+248 467
+249 467
+133 469
+134 469
+135 469
+136 469
+50 476
+51 476
+52 476
+53 476
+261 477
+67 478
+68 478
+69 478
+30 480
+138 481
+139 481
+140 481
+151 483
+253 483
+262 484
+320 487
+25 489
+26 489
+165 489
+110 490
+299 491
+300 491
+301 491
+302 491
+303 491
+304 491
+305 491
+79 494
+184 495
+80 497
+81 497
+82 497
+173 499
+174 499
+175 499
+334 500
+65 501
+66 501
+285 504
+342 507
+343 507
+344 507
+340 508
+83 509
+84 509
+85 509
+86 509
+87 509
+88 509
+89 509
+90 509
+18 512
+55 512
+226 514
+92 517
+171 518
+209 521
+129 523
+205 524
+254 525
+14 527
+15 527
+16 527
+56 527
+132 527
+166 527
+325 530
+222 531
+223 531
+224 531
+10 532
+11 532
+12 532
+339 534
+199 535
+176 542
+177 542
+178 542
+179 542
+17 544
+186 544
+308 544
+310 544
+312 544
+313 544
+314 544
+106 548
+62 550
+63 550
+111 551
+112 551
+113 551
+242 552
+243 552
+282 553
+124 554
+125 554
+127 554
+128 554
+227 554
+54 555
+200 556
+161 557
+34 560
+35 560
+36 560
+20 563
+21 563
+22 563
+240 564
+218 566
+219 566
+220 566
+221 566
+152 568
+95 569
+96 569
+64 570
+48 574
+49 574
+189 574
+61 576
+318 578
+247 579
+9 581
+130 581
+131 581
+208 582
+122 585
+123 585
+230 587
+291 587
+292 587
+294 587
+295 587
+319 588
+315 589
+316 589
+265 590
+207 591
+336 591
+193 598
+194 598
+195 598
+160 601
+321 602
+322 602
+323 602
+37 603
+190 603
+191 603
+192 603
+59 604
+60 604
+244 606
+245 606
+71 609
+74 609
+204 609
+333 609
+181 612
+93 614
+94 614
+145 615
+341 615
+141 617
+142 617
+143 617
+144 617
+255 621
+256 621
+257 621
+258 621
+259 621
+46 622
+283 622
+284 622
+286 622
+203 624
+102 626
+103 626
+104 626
+105 626
+2 633
+252 634
+238 637
+202 638
+172 641
+107 642
+198 644
+266 646
+23 647
+24 647
+267 648
+268 648
+228 651
+187 652
+188 652
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/instances/9.gr b/src/githubtests/medium_test_set/instances/9.gr
new file mode 100644
index 0000000..bedb895
--- /dev/null
+++ b/src/githubtests/medium_test_set/instances/9.gr
@@ -0,0 +1,719 @@
+p ocr 375 344 718
+1 616
+1 617
+4 498
+4 628
+6 642
+7 639
+10 419
+10 483
+10 601
+13 432
+13 590
+14 711
+15 401
+15 641
+15 682
+16 713
+17 547
+17 587
+18 409
+18 509
+18 598
+19 445
+20 581
+20 619
+22 418
+23 528
+24 505
+25 550
+26 404
+26 507
+26 588
+29 646
+32 457
+35 533
+36 476
+36 490
+36 545
+36 656
+37 562
+39 452
+40 400
+42 570
+42 695
+43 571
+45 595
+46 709
+49 379
+49 532
+51 411
+51 451
+51 657
+51 677
+53 446
+55 491
+57 423
+59 708
+60 448
+61 412
+62 489
+62 500
+62 512
+63 717
+64 609
+66 416
+66 599
+66 690
+66 706
+67 475
+68 503
+68 714
+69 499
+70 606
+70 719
+74 430
+75 406
+75 468
+75 471
+75 480
+75 523
+75 627
+76 397
+77 688
+78 548
+79 382
+79 426
+79 607
+80 383
+80 605
+81 398
+81 541
+82 625
+83 376
+85 444
+85 539
+86 495
+87 496
+88 529
+88 546
+88 679
+91 453
+91 493
+91 653
+92 425
+92 633
+94 506
+94 594
+95 649
+98 513
+100 645
+101 462
+101 484
+101 567
+101 643
+102 585
+102 696
+103 399
+103 542
+103 559
+103 579
+104 394
+105 591
+105 667
+108 634
+109 537
+109 613
+110 387
+110 488
+112 392
+112 608
+112 638
+112 664
+113 518
+114 536
+114 577
+114 586
+114 654
+116 552
+116 670
+117 684
+118 631
+120 456
+120 573
+120 600
+120 640
+121 565
+122 674
+123 710
+128 589
+129 436
+130 485
+133 521
+134 386
+135 459
+135 698
+136 408
+136 486
+136 597
+140 473
+140 692
+151 424
+154 413
+154 699
+156 524
+156 614
+159 596
+160 604
+161 447
+165 410
+165 703
+166 661
+166 694
+168 377
+168 687
+168 712
+168 715
+170 629
+170 675
+171 665
+172 569
+175 443
+175 504
+175 553
+175 666
+176 582
+177 390
+179 515
+181 464
+181 497
+181 555
+190 558
+191 433
+191 543
+195 442
+196 385
+196 650
+199 522
+203 435
+203 466
+203 564
+203 635
+207 701
+208 592
+213 470
+215 531
+216 501
+219 685
+220 527
+222 560
+224 689
+225 612
+228 428
+229 479
+231 574
+232 472
+232 540
+234 623
+236 441
+237 624
+238 618
+243 508
+243 644
+243 672
+248 626
+249 610
+250 389
+251 396
+251 407
+251 697
+254 439
+258 651
+258 671
+265 630
+265 652
+266 381
+267 683
+267 716
+268 534
+270 458
+270 693
+273 544
+273 663
+276 538
+277 561
+277 647
+278 391
+281 440
+281 519
+284 622
+290 568
+290 575
+292 636
+293 384
+294 530
+296 659
+296 676
+298 705
+299 388
+299 525
+301 549
+301 554
+301 584
+303 535
+305 658
+305 668
+306 437
+306 463
+306 478
+306 576
+306 718
+307 502
+307 678
+308 378
+308 465
+308 477
+308 680
+309 632
+310 380
+317 421
+317 691
+318 686
+322 702
+329 487
+329 566
+329 660
+330 580
+331 395
+332 429
+332 603
+333 655
+335 417
+335 454
+335 520
+335 572
+335 669
+337 405
+341 461
+341 681
+345 438
+345 482
+347 516
+347 563
+349 420
+351 602
+352 414
+352 526
+352 556
+352 578
+352 621
+352 673
+352 700
+355 415
+355 450
+355 481
+355 593
+355 615
+358 402
+358 517
+358 704
+359 583
+361 611
+362 494
+362 620
+364 474
+364 492
+364 510
+365 427
+365 637
+365 662
+366 393
+367 403
+367 449
+367 460
+367 467
+367 469
+367 514
+367 557
+367 707
+370 422
+371 431
+371 434
+371 455
+371 511
+371 551
+371 648
+288 376
+289 376
+290 376
+59 377
+50 379
+51 379
+112 380
+311 380
+34 381
+262 381
+269 381
+270 381
+42 383
+198 383
+295 384
+296 384
+323 384
+41 385
+197 385
+220 385
+135 386
+111 387
+113 387
+312 387
+252 389
+253 389
+254 389
+287 389
+178 390
+179 390
+279 391
+280 391
+281 391
+63 393
+105 394
+332 395
+78 397
+124 397
+81 400
+236 401
+27 404
+28 404
+171 404
+249 405
+338 405
+339 405
+354 405
+166 410
+62 412
+155 413
+156 413
+23 418
+208 419
+350 420
+351 420
+318 421
+371 422
+58 423
+60 423
+346 423
+152 424
+153 424
+154 424
+40 426
+366 427
+229 428
+75 430
+193 433
+194 433
+195 433
+344 433
+130 436
+91 439
+255 439
+256 439
+213 441
+196 442
+87 444
+145 444
+20 445
+54 446
+55 446
+162 447
+163 447
+164 447
+165 447
+61 448
+64 449
+356 450
+357 450
+358 450
+80 452
+33 457
+268 457
+136 459
+110 465
+238 470
+86 473
+141 473
+142 473
+143 473
+144 473
+68 475
+149 479
+231 479
+169 482
+170 482
+102 484
+131 485
+132 485
+133 485
+137 486
+138 486
+139 486
+140 486
+367 489
+56 491
+57 491
+365 492
+146 495
+147 495
+199 495
+88 496
+182 497
+183 497
+251 497
+11 498
+209 498
+210 498
+211 498
+212 498
+237 498
+70 499
+217 501
+218 501
+219 501
+109 502
+69 503
+25 505
+95 506
+244 508
+245 508
+246 508
+247 508
+248 508
+372 511
+373 511
+374 511
+375 511
+99 513
+100 513
+180 515
+181 515
+348 516
+349 516
+114 518
+282 519
+283 519
+284 519
+134 521
+150 522
+151 522
+230 522
+76 523
+300 525
+301 525
+4 527
+200 527
+201 527
+202 527
+204 527
+205 527
+206 527
+321 527
+24 528
+47 530
+324 530
+325 530
+326 530
+328 530
+329 530
+216 531
+37 533
+240 533
+35 534
+304 535
+305 535
+277 538
+233 540
+234 540
+38 541
+84 541
+85 541
+184 541
+104 542
+89 546
+90 546
+257 546
+265 546
+79 548
+26 550
+191 558
+223 560
+224 560
+278 561
+172 562
+122 565
+330 566
+291 568
+292 568
+39 569
+43 570
+44 571
+45 571
+232 574
+307 576
+115 577
+116 577
+331 580
+177 582
+360 583
+361 583
+302 584
+303 584
+18 587
+129 589
+14 590
+12 592
+13 592
+46 595
+160 596
+19 598
+352 602
+333 603
+161 604
+71 606
+72 606
+73 606
+74 606
+313 608
+314 608
+315 608
+316 608
+317 608
+65 609
+66 609
+168 610
+192 610
+342 610
+343 610
+362 611
+226 612
+227 612
+228 612
+309 613
+157 614
+158 614
+159 614
+2 616
+3 616
+207 616
+36 618
+239 618
+21 619
+22 619
+363 620
+364 620
+340 621
+353 621
+355 621
+83 622
+285 622
+286 622
+15 623
+214 624
+215 624
+173 625
+174 625
+175 625
+148 626
+250 626
+29 629
+119 631
+121 631
+235 631
+310 632
+266 633
+308 634
+322 635
+293 636
+8 639
+9 639
+10 639
+16 640
+7 642
+101 645
+82 646
+96 649
+97 649
+98 649
+93 652
+94 652
+258 653
+334 655
+335 655
+241 656
+242 656
+243 656
+52 657
+53 657
+274 663
+275 663
+276 663
+30 665
+32 665
+259 665
+176 666
+106 667
+107 667
+108 667
+306 668
+117 669
+118 670
+336 670
+31 671
+260 671
+261 671
+267 671
+123 674
+297 676
+298 676
+221 681
+222 681
+92 683
+263 683
+264 683
+337 684
+341 685
+203 686
+320 686
+369 686
+125 688
+126 688
+127 688
+128 688
+225 689
+271 693
+272 693
+273 693
+167 694
+345 694
+103 696
+185 697
+186 697
+187 697
+188 697
+189 697
+190 697
+5 701
+6 701
+294 702
+359 704
+299 705
+67 706
+347 708
+48 709
+49 709
+327 709
+77 710
+120 711
+17 713
+319 717
+368 717
+370 717
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/1.sol b/src/githubtests/medium_test_set/solutions/1.sol
new file mode 100644
index 0000000..1e70dab
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/1.sol
@@ -0,0 +1,122 @@
+193
+258
+256
+255
+254
+253
+252
+251
+250
+249
+248
+247
+246
+245
+244
+243
+242
+241
+240
+239
+238
+237
+236
+235
+234
+233
+232
+231
+230
+229
+228
+227
+226
+225
+224
+223
+222
+221
+220
+219
+218
+217
+216
+215
+214
+213
+212
+211
+210
+209
+208
+207
+206
+205
+204
+203
+202
+201
+200
+199
+198
+197
+196
+195
+194
+192
+191
+190
+189
+188
+187
+186
+185
+184
+183
+182
+181
+180
+179
+178
+177
+176
+175
+174
+173
+172
+171
+170
+169
+168
+167
+166
+165
+164
+163
+162
+161
+160
+159
+158
+157
+156
+155
+154
+153
+152
+151
+150
+149
+148
+147
+146
+145
+144
+143
+142
+141
+140
+139
+138
+137
+257
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/10.sol b/src/githubtests/medium_test_set/solutions/10.sol
new file mode 100644
index 0000000..2f48efa
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/10.sol
@@ -0,0 +1,333 @@
+672
+507
+603
+652
+606
+604
+487
+593
+491
+548
+716
+655
+590
+541
+458
+490
+522
+477
+444
+409
+690
+689
+510
+427
+397
+651
+608
+545
+476
+426
+677
+682
+709
+667
+457
+629
+588
+483
+579
+440
+518
+607
+484
+433
+627
+418
+717
+395
+680
+411
+424
+406
+721
+520
+461
+713
+658
+412
+570
+562
+498
+691
+467
+569
+508
+403
+497
+505
+704
+573
+571
+543
+473
+437
+446
+454
+710
+436
+614
+583
+492
+399
+663
+609
+602
+421
+698
+666
+521
+572
+723
+635
+581
+619
+560
+533
+452
+419
+632
+542
+495
+555
+662
+415
+509
+695
+506
+536
+720
+642
+640
+637
+596
+524
+589
+660
+650
+410
+489
+550
+512
+435
+462
+684
+493
+402
+479
+430
+621
+455
+661
+703
+618
+482
+448
+685
+625
+405
+568
+546
+525
+718
+540
+538
+648
+620
+705
+669
+639
+638
+623
+587
+719
+683
+544
+646
+668
+401
+598
+552
+459
+478
+697
+475
+534
+420
+494
+532
+726
+503
+502
+551
+657
+613
+434
+464
+645
+601
+630
+700
+558
+439
+413
+678
+699
+557
+501
+469
+722
+673
+654
+595
+712
+686
+580
+447
+670
+432
+575
+456
+659
+565
+563
+451
+693
+585
+553
+611
+474
+485
+664
+488
+523
+665
+537
+707
+617
+577
+574
+414
+408
+612
+527
+470
+687
+445
+394
+594
+706
+584
+714
+460
+400
+559
+519
+605
+530
+468
+679
+702
+631
+615
+511
+471
+592
+715
+610
+513
+528
+692
+676
+674
+539
+514
+561
+564
+656
+500
+681
+438
+425
+671
+582
+526
+641
+465
+653
+711
+556
+450
+443
+466
+616
+396
+675
+624
+554
+628
+597
+696
+463
+694
+724
+453
+404
+407
+549
+535
+422
+517
+567
+566
+515
+472
+431
+725
+622
+578
+441
+442
+496
+531
+429
+449
+486
+529
+647
+576
+708
+398
+636
+626
+688
+644
+591
+649
+701
+480
+423
+516
+633
+600
+481
+599
+416
+547
+504
+499
+643
+634
+586
+428
+417
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/11.sol b/src/githubtests/medium_test_set/solutions/11.sol
new file mode 100644
index 0000000..4d836af
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/11.sol
@@ -0,0 +1,464 @@
+842
+756
+450
+456
+808
+750
+600
+626
+858
+431
+630
+747
+712
+682
+599
+578
+545
+528
+548
+496
+648
+837
+671
+440
+798
+770
+598
+526
+850
+776
+722
+659
+458
+815
+853
+840
+582
+549
+449
+779
+521
+658
+803
+765
+519
+447
+554
+484
+843
+532
+520
+499
+824
+577
+834
+796
+694
+653
+820
+621
+534
+730
+713
+797
+839
+472
+775
+758
+565
+550
+652
+852
+701
+633
+500
+606
+446
+463
+522
+445
+455
+787
+745
+862
+724
+514
+848
+683
+432
+540
+847
+786
+478
+832
+703
+686
+602
+442
+546
+489
+495
+822
+816
+465
+688
+618
+576
+746
+744
+569
+524
+512
+595
+743
+859
+841
+705
+571
+553
+580
+413
+800
+668
+510
+471
+835
+727
+788
+785
+473
+497
+454
+426
+623
+854
+678
+634
+828
+679
+617
+506
+561
+487
+583
+536
+622
+836
+802
+438
+846
+597
+562
+681
+498
+474
+774
+783
+751
+436
+742
+655
+860
+789
+741
+604
+734
+636
+423
+592
+855
+443
+640
+421
+539
+502
+494
+467
+593
+433
+420
+416
+414
+737
+470
+717
+482
+792
+844
+768
+696
+453
+728
+564
+669
+684
+651
+585
+736
+807
+589
+559
+523
+430
+620
+624
+772
+763
+677
+721
+435
+607
+693
+614
+476
+533
+769
+650
+511
+814
+720
+695
+587
+817
+601
+615
+619
+475
+610
+697
+863
+760
+444
+799
+795
+708
+647
+672
+481
+488
+643
+625
+831
+646
+612
+541
+530
+871
+725
+466
+838
+628
+660
+422
+754
+452
+867
+771
+753
+719
+632
+503
+635
+627
+685
+762
+557
+665
+527
+411
+849
+857
+829
+570
+759
+704
+513
+851
+868
+542
+869
+778
+707
+529
+715
+706
+872
+493
+830
+781
+572
+594
+766
+508
+459
+825
+700
+821
+657
+641
+866
+791
+586
+566
+613
+560
+777
+709
+538
+434
+419
+638
+609
+573
+629
+861
+680
+670
+656
+485
+462
+427
+689
+516
+711
+674
+552
+464
+749
+412
+811
+424
+531
+417
+865
+579
+790
+543
+479
+856
+486
+731
+813
+492
+568
+448
+504
+662
+556
+870
+805
+675
+833
+429
+801
+755
+515
+691
+714
+757
+748
+611
+563
+468
+687
+735
+555
+437
+409
+702
+864
+784
+773
+525
+477
+826
+767
+699
+649
+483
+654
+733
+782
+537
+692
+664
+631
+596
+457
+461
+793
+667
+806
+729
+718
+639
+603
+480
+469
+810
+558
+642
+827
+616
+794
+698
+418
+723
+644
+425
+661
+818
+460
+590
+567
+428
+415
+410
+605
+505
+764
+439
+823
+845
+819
+809
+716
+710
+645
+509
+501
+491
+752
+804
+518
+490
+666
+517
+451
+673
+738
+637
+739
+676
+544
+584
+588
+551
+732
+761
+690
+507
+591
+780
+575
+726
+608
+441
+535
+812
+574
+740
+547
+663
+581
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/12.sol b/src/githubtests/medium_test_set/solutions/12.sol
new file mode 100644
index 0000000..2530a45
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/12.sol
@@ -0,0 +1,124 @@
+171
+147
+228
+178
+177
+126
+114
+198
+204
+151
+145
+167
+220
+219
+173
+125
+191
+183
+158
+143
+112
+218
+196
+161
+154
+136
+188
+123
+117
+115
+130
+166
+118
+200
+210
+165
+203
+187
+172
+153
+144
+142
+230
+192
+190
+113
+160
+127
+222
+163
+201
+133
+157
+212
+229
+109
+179
+169
+134
+175
+155
+122
+181
+131
+231
+211
+225
+174
+120
+184
+221
+206
+193
+168
+141
+186
+223
+189
+110
+137
+209
+138
+207
+176
+217
+164
+156
+150
+139
+132
+124
+111
+227
+224
+197
+194
+205
+180
+159
+148
+119
+226
+135
+152
+116
+140
+216
+185
+199
+214
+208
+195
+149
+129
+170
+146
+121
+232
+213
+182
+215
+202
+128
+162
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/13.sol b/src/githubtests/medium_test_set/solutions/13.sol
new file mode 100644
index 0000000..91554ca
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/13.sol
@@ -0,0 +1,175 @@
+246
+243
+324
+309
+244
+269
+214
+188
+333
+250
+327
+304
+332
+253
+299
+198
+177
+213
+222
+234
+205
+190
+168
+302
+267
+185
+287
+202
+209
+308
+232
+263
+233
+228
+337
+334
+270
+259
+277
+264
+169
+251
+241
+247
+318
+192
+245
+208
+316
+175
+325
+220
+296
+280
+290
+297
+340
+248
+215
+181
+261
+313
+217
+276
+216
+306
+294
+256
+330
+338
+298
+282
+224
+265
+230
+187
+237
+240
+182
+257
+320
+286
+197
+210
+212
+329
+319
+268
+293
+236
+219
+174
+305
+221
+279
+239
+274
+176
+292
+331
+266
+211
+231
+242
+200
+311
+289
+271
+166
+184
+303
+218
+301
+335
+310
+262
+170
+291
+229
+225
+167
+252
+173
+207
+339
+206
+203
+317
+238
+321
+322
+323
+235
+249
+183
+223
+179
+186
+258
+227
+199
+195
+284
+326
+314
+295
+194
+172
+201
+328
+300
+278
+255
+283
+272
+226
+180
+178
+254
+260
+191
+336
+273
+196
+275
+307
+189
+171
+285
+288
+315
+312
+193
+281
+204
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/14.sol b/src/githubtests/medium_test_set/solutions/14.sol
new file mode 100644
index 0000000..177c60b
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/14.sol
@@ -0,0 +1,286 @@
+342
+289
+505
+573
+560
+493
+450
+432
+525
+472
+386
+427
+358
+401
+299
+364
+534
+458
+456
+415
+503
+404
+319
+527
+563
+452
+436
+403
+379
+359
+316
+304
+313
+382
+398
+508
+474
+487
+357
+296
+448
+520
+498
+391
+552
+417
+482
+411
+556
+438
+402
+305
+490
+543
+390
+341
+349
+395
+335
+343
+541
+362
+546
+416
+399
+397
+481
+565
+368
+303
+535
+557
+485
+375
+385
+421
+406
+566
+371
+488
+405
+412
+539
+314
+479
+333
+545
+321
+459
+369
+429
+442
+327
+420
+483
+423
+444
+501
+323
+418
+326
+572
+540
+495
+309
+388
+449
+310
+320
+537
+297
+530
+522
+553
+554
+376
+533
+523
+453
+354
+512
+294
+542
+424
+461
+489
+351
+332
+290
+431
+428
+318
+365
+413
+345
+344
+462
+497
+384
+307
+515
+334
+370
+551
+562
+381
+366
+360
+396
+499
+435
+544
+325
+538
+467
+306
+518
+514
+550
+486
+471
+443
+433
+400
+392
+446
+454
+430
+532
+465
+419
+475
+477
+468
+564
+507
+329
+311
+380
+510
+312
+394
+425
+513
+426
+361
+492
+407
+302
+437
+455
+517
+464
+322
+338
+516
+519
+353
+350
+339
+447
+506
+378
+526
+547
+352
+330
+469
+440
+298
+372
+292
+549
+414
+295
+409
+500
+496
+340
+387
+473
+389
+315
+317
+574
+331
+439
+470
+393
+570
+567
+559
+531
+347
+377
+536
+441
+521
+367
+478
+300
+466
+291
+480
+555
+408
+410
+293
+445
+308
+561
+569
+484
+422
+336
+356
+528
+463
+337
+502
+568
+374
+373
+348
+524
+494
+346
+571
+529
+491
+457
+301
+558
+451
+511
+383
+548
+363
+355
+504
+460
+324
+509
+476
+328
+434
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/15.sol b/src/githubtests/medium_test_set/solutions/15.sol
new file mode 100644
index 0000000..6606aad
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/15.sol
@@ -0,0 +1,54 @@
+83
+56
+101
+98
+62
+71
+57
+105
+88
+76
+68
+58
+87
+69
+73
+93
+90
+91
+79
+95
+92
+59
+96
+70
+74
+66
+103
+78
+60
+77
+80
+102
+100
+63
+99
+89
+72
+84
+106
+55
+85
+67
+82
+108
+94
+64
+104
+61
+75
+97
+65
+107
+86
+81
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/16.sol b/src/githubtests/medium_test_set/solutions/16.sol
new file mode 100644
index 0000000..f791d19
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/16.sol
@@ -0,0 +1,86 @@
+151
+153
+114
+123
+163
+149
+150
+146
+162
+111
+164
+138
+160
+140
+171
+129
+139
+157
+112
+134
+158
+115
+156
+143
+121
+102
+155
+92
+118
+172
+137
+145
+169
+117
+88
+122
+141
+103
+109
+87
+154
+147
+106
+131
+152
+94
+91
+170
+95
+159
+105
+93
+110
+119
+161
+113
+90
+127
+98
+130
+116
+101
+107
+135
+89
+148
+108
+104
+120
+99
+132
+125
+142
+126
+136
+100
+133
+144
+124
+97
+165
+167
+168
+96
+166
+128
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/17.sol b/src/githubtests/medium_test_set/solutions/17.sol
new file mode 100644
index 0000000..2e2086f
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/17.sol
@@ -0,0 +1,114 @@
+193
+201
+170
+177
+142
+167
+173
+165
+162
+128
+190
+181
+220
+133
+183
+223
+200
+147
+191
+163
+168
+184
+140
+208
+122
+139
+195
+126
+176
+172
+186
+141
+154
+124
+224
+118
+187
+228
+196
+144
+156
+206
+217
+131
+115
+132
+125
+185
+155
+116
+143
+222
+136
+194
+135
+178
+121
+216
+212
+138
+218
+199
+219
+134
+159
+227
+188
+164
+151
+117
+225
+146
+169
+120
+198
+204
+213
+150
+189
+211
+207
+182
+119
+130
+175
+157
+202
+215
+180
+127
+171
+226
+145
+205
+209
+152
+192
+214
+158
+129
+161
+197
+153
+160
+210
+174
+221
+137
+149
+148
+203
+166
+179
+123
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/18.sol b/src/githubtests/medium_test_set/solutions/18.sol
new file mode 100644
index 0000000..14e2abe
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/18.sol
@@ -0,0 +1,123 @@
+266
+241
+240
+183
+182
+180
+176
+169
+168
+179
+173
+170
+162
+158
+174
+171
+181
+163
+172
+157
+153
+167
+165
+155
+150
+146
+178
+159
+145
+148
+175
+147
+164
+154
+184
+160
+151
+152
+144
+166
+156
+161
+149
+177
+207
+205
+200
+195
+197
+208
+202
+196
+193
+192
+191
+204
+199
+194
+190
+188
+203
+198
+187
+186
+189
+185
+201
+206
+215
+213
+209
+212
+210
+211
+217
+214
+216
+260
+256
+248
+229
+225
+264
+263
+257
+255
+243
+234
+228
+253
+246
+232
+258
+247
+261
+254
+239
+252
+245
+226
+220
+235
+233
+223
+251
+221
+231
+237
+250
+227
+259
+218
+262
+222
+219
+249
+238
+230
+242
+244
+224
+236
+265
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/19.sol b/src/githubtests/medium_test_set/solutions/19.sol
new file mode 100644
index 0000000..47ccf54
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/19.sol
@@ -0,0 +1,139 @@
+243
+228
+222
+194
+176
+162
+182
+166
+181
+161
+158
+157
+183
+175
+163
+159
+153
+180
+170
+165
+193
+192
+187
+160
+191
+154
+189
+186
+167
+146
+150
+178
+169
+184
+149
+151
+177
+171
+190
+152
+156
+168
+164
+148
+188
+147
+185
+179
+172
+174
+155
+173
+195
+201
+197
+206
+209
+199
+204
+203
+196
+200
+198
+207
+208
+202
+205
+210
+236
+217
+216
+239
+230
+227
+226
+237
+211
+234
+232
+218
+242
+224
+240
+229
+241
+220
+235
+213
+215
+233
+214
+212
+219
+225
+221
+238
+231
+223
+248
+258
+251
+249
+257
+253
+247
+244
+261
+259
+255
+246
+260
+256
+250
+262
+245
+252
+254
+274
+267
+269
+263
+266
+275
+276
+270
+265
+278
+272
+279
+273
+277
+282
+281
+284
+264
+280
+283
+271
+268
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/2.sol b/src/githubtests/medium_test_set/solutions/2.sol
new file mode 100644
index 0000000..f7b4deb
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/2.sol
@@ -0,0 +1,327 @@
+379
+678
+677
+676
+675
+674
+673
+672
+671
+670
+669
+668
+667
+666
+665
+664
+663
+662
+661
+660
+659
+658
+657
+656
+654
+653
+652
+651
+650
+649
+648
+647
+646
+645
+644
+643
+642
+641
+640
+639
+638
+637
+636
+635
+634
+633
+632
+631
+630
+629
+628
+627
+626
+625
+624
+623
+622
+621
+620
+619
+618
+617
+616
+615
+614
+613
+612
+611
+610
+609
+608
+607
+606
+605
+604
+603
+602
+601
+600
+599
+598
+597
+596
+595
+594
+593
+592
+591
+590
+589
+588
+587
+586
+585
+584
+583
+582
+581
+580
+579
+578
+577
+576
+575
+574
+573
+572
+571
+570
+569
+568
+567
+566
+565
+564
+563
+562
+561
+560
+559
+558
+557
+556
+555
+554
+553
+552
+551
+550
+549
+548
+547
+546
+545
+544
+543
+542
+541
+540
+539
+538
+537
+536
+535
+534
+533
+532
+531
+530
+529
+528
+527
+526
+525
+524
+523
+522
+521
+520
+519
+518
+517
+516
+515
+514
+513
+512
+511
+510
+509
+508
+507
+506
+505
+504
+503
+502
+501
+500
+499
+498
+497
+496
+495
+494
+493
+492
+491
+490
+489
+488
+487
+486
+485
+484
+483
+482
+481
+480
+479
+478
+477
+476
+475
+474
+473
+472
+471
+470
+469
+468
+467
+466
+465
+464
+463
+462
+461
+460
+459
+458
+457
+456
+455
+454
+453
+452
+451
+450
+449
+448
+447
+446
+445
+444
+443
+442
+441
+440
+439
+438
+437
+436
+435
+434
+433
+432
+431
+430
+429
+428
+427
+426
+425
+424
+423
+422
+421
+420
+419
+418
+417
+416
+415
+414
+413
+412
+411
+410
+409
+408
+407
+406
+405
+404
+403
+402
+401
+400
+399
+398
+397
+396
+395
+394
+393
+392
+391
+390
+389
+388
+387
+386
+385
+384
+383
+382
+381
+380
+378
+377
+376
+375
+374
+373
+372
+371
+370
+369
+368
+367
+366
+365
+364
+363
+362
+361
+360
+359
+358
+357
+356
+355
+354
+353
+352
+655
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/20.sol b/src/githubtests/medium_test_set/solutions/20.sol
new file mode 100644
index 0000000..eadc973
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/20.sol
@@ -0,0 +1,181 @@
+354
+344
+202
+201
+204
+208
+206
+207
+205
+209
+203
+213
+222
+220
+227
+219
+210
+226
+215
+224
+223
+218
+216
+217
+212
+211
+228
+214
+225
+221
+271
+263
+253
+235
+237
+257
+234
+272
+268
+262
+255
+242
+233
+269
+247
+240
+270
+249
+246
+236
+266
+264
+244
+265
+260
+245
+243
+229
+248
+238
+259
+232
+230
+256
+239
+267
+258
+251
+252
+250
+231
+254
+241
+287
+309
+290
+303
+299
+280
+310
+283
+296
+295
+275
+294
+304
+306
+301
+293
+284
+274
+289
+286
+302
+291
+279
+282
+307
+273
+308
+278
+292
+276
+285
+277
+298
+281
+297
+288
+300
+305
+333
+320
+319
+337
+326
+314
+311
+353
+352
+349
+331
+330
+321
+357
+329
+325
+313
+348
+342
+336
+335
+356
+341
+318
+315
+312
+332
+322
+347
+346
+339
+334
+350
+358
+317
+351
+338
+327
+324
+316
+345
+355
+323
+343
+328
+359
+373
+372
+363
+378
+380
+376
+368
+371
+360
+377
+364
+366
+367
+361
+374
+381
+369
+362
+375
+379
+370
+365
+340
+261
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/21.sol b/src/githubtests/medium_test_set/solutions/21.sol
new file mode 100644
index 0000000..0982149
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/21.sol
@@ -0,0 +1,101 @@
+190
+165
+163
+160
+150
+146
+143
+141
+138
+127
+125
+121
+118
+124
+120
+116
+115
+114
+113
+108
+107
+103
+96
+102
+101
+128
+123
+106
+104
+100
+99
+93
+92
+91
+90
+112
+122
+111
+94
+119
+105
+97
+95
+126
+110
+117
+109
+98
+129
+145
+140
+135
+132
+149
+147
+139
+137
+152
+151
+148
+142
+134
+133
+130
+144
+136
+131
+182
+185
+168
+161
+155
+179
+175
+189
+166
+154
+164
+184
+177
+187
+170
+178
+169
+167
+153
+176
+156
+181
+172
+171
+174
+183
+162
+188
+180
+157
+173
+159
+158
+186
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/22.sol b/src/githubtests/medium_test_set/solutions/22.sol
new file mode 100644
index 0000000..ef92535
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/22.sol
@@ -0,0 +1,123 @@
+218
+216
+215
+213
+212
+210
+206
+201
+198
+197
+196
+189
+188
+187
+184
+176
+172
+171
+170
+164
+163
+157
+142
+141
+139
+136
+130
+127
+126
+103
+101
+100
+96
+102
+99
+97
+98
+138
+135
+132
+123
+122
+118
+140
+104
+137
+112
+117
+108
+131
+116
+115
+143
+125
+120
+134
+128
+107
+109
+106
+105
+113
+121
+111
+124
+110
+119
+114
+183
+162
+153
+147
+133
+129
+180
+173
+169
+154
+186
+144
+182
+175
+174
+166
+165
+146
+145
+185
+168
+160
+159
+155
+152
+151
+156
+177
+158
+179
+161
+181
+149
+150
+148
+178
+167
+217
+204
+199
+194
+195
+211
+208
+205
+192
+193
+209
+207
+203
+202
+200
+191
+190
+214
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/23.sol b/src/githubtests/medium_test_set/solutions/23.sol
new file mode 100644
index 0000000..ae4749a
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/23.sol
@@ -0,0 +1,163 @@
+281
+280
+278
+277
+276
+275
+274
+272
+245
+243
+239
+237
+235
+234
+232
+231
+230
+229
+227
+226
+223
+222
+221
+218
+217
+213
+212
+199
+191
+179
+178
+174
+173
+165
+164
+156
+140
+137
+135
+134
+121
+125
+153
+150
+133
+122
+166
+154
+145
+132
+131
+124
+141
+136
+128
+143
+123
+152
+144
+139
+130
+167
+127
+161
+159
+157
+155
+146
+142
+138
+126
+147
+151
+149
+129
+162
+158
+163
+160
+148
+177
+175
+168
+169
+176
+172
+170
+171
+193
+185
+182
+192
+195
+198
+189
+180
+181
+183
+186
+197
+196
+194
+188
+200
+190
+184
+187
+201
+236
+225
+219
+216
+241
+228
+214
+211
+207
+204
+203
+224
+206
+244
+242
+220
+210
+205
+202
+215
+208
+240
+238
+233
+209
+258
+254
+259
+260
+257
+256
+249
+247
+251
+250
+253
+246
+255
+248
+252
+282
+273
+270
+266
+267
+261
+268
+263
+262
+269
+265
+264
+279
+271
+283
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/24.sol b/src/githubtests/medium_test_set/solutions/24.sol
new file mode 100644
index 0000000..148173a
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/24.sol
@@ -0,0 +1,261 @@
+516
+515
+514
+513
+512
+511
+510
+509
+508
+507
+505
+503
+477
+446
+442
+441
+440
+435
+423
+420
+412
+408
+405
+384
+377
+375
+374
+371
+349
+342
+336
+335
+334
+332
+329
+320
+303
+301
+289
+279
+276
+270
+263
+262
+260
+257
+256
+261
+258
+264
+259
+266
+265
+268
+272
+271
+269
+267
+274
+273
+277
+280
+275
+282
+281
+278
+283
+286
+284
+285
+288
+291
+287
+290
+294
+293
+292
+295
+298
+299
+297
+296
+300
+302
+304
+306
+307
+305
+308
+311
+309
+312
+310
+314
+313
+315
+316
+318
+321
+317
+319
+323
+325
+322
+328
+326
+324
+327
+331
+330
+333
+338
+337
+340
+343
+339
+341
+345
+344
+348
+347
+346
+350
+351
+352
+354
+353
+355
+358
+356
+357
+359
+360
+363
+362
+361
+365
+364
+366
+367
+368
+369
+372
+370
+376
+373
+379
+380
+378
+383
+381
+382
+387
+386
+385
+390
+392
+389
+394
+388
+391
+395
+396
+393
+397
+398
+399
+400
+401
+403
+404
+402
+406
+407
+410
+411
+415
+409
+413
+414
+416
+419
+418
+417
+425
+422
+424
+421
+428
+426
+427
+430
+429
+433
+432
+431
+434
+436
+437
+439
+438
+444
+443
+447
+445
+448
+451
+450
+449
+452
+453
+454
+457
+456
+455
+459
+463
+458
+461
+460
+462
+467
+464
+465
+466
+468
+469
+470
+473
+475
+472
+471
+476
+474
+478
+479
+481
+480
+483
+484
+482
+486
+485
+488
+487
+491
+490
+492
+489
+495
+494
+493
+497
+498
+496
+499
+501
+500
+506
+504
+502
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/25.sol b/src/githubtests/medium_test_set/solutions/25.sol
new file mode 100644
index 0000000..4a31d6a
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/25.sol
@@ -0,0 +1,254 @@
+538
+293
+289
+292
+290
+294
+296
+295
+297
+299
+298
+301
+300
+302
+303
+305
+304
+306
+307
+308
+309
+311
+310
+312
+313
+315
+317
+316
+319
+314
+322
+320
+318
+324
+323
+328
+321
+326
+332
+329
+327
+333
+330
+336
+334
+337
+335
+338
+340
+339
+341
+343
+342
+346
+344
+348
+347
+350
+349
+351
+352
+354
+353
+358
+355
+356
+357
+359
+360
+361
+363
+365
+364
+362
+366
+367
+368
+371
+370
+372
+369
+377
+375
+373
+376
+374
+380
+379
+378
+385
+384
+382
+381
+386
+392
+390
+394
+389
+393
+395
+396
+398
+397
+402
+399
+400
+401
+404
+406
+408
+407
+405
+410
+409
+411
+414
+415
+413
+417
+416
+418
+419
+420
+422
+421
+424
+427
+423
+426
+428
+429
+430
+431
+432
+434
+433
+435
+437
+436
+439
+441
+440
+442
+444
+443
+447
+445
+450
+446
+449
+451
+448
+453
+454
+458
+455
+456
+460
+459
+464
+462
+463
+461
+465
+467
+468
+470
+469
+471
+472
+473
+474
+476
+475
+477
+480
+479
+478
+481
+483
+482
+485
+486
+484
+493
+490
+489
+488
+491
+492
+494
+495
+498
+496
+497
+500
+499
+501
+502
+505
+503
+504
+507
+506
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+519
+518
+520
+523
+521
+526
+527
+522
+524
+525
+530
+531
+528
+529
+532
+534
+533
+535
+536
+537
+539
+540
+541
+487
+466
+457
+452
+438
+425
+412
+403
+391
+388
+387
+383
+345
+331
+325
+291
+288
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/26.sol b/src/githubtests/medium_test_set/solutions/26.sol
new file mode 100644
index 0000000..befd1d8
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/26.sol
@@ -0,0 +1,329 @@
+589
+588
+587
+586
+585
+584
+583
+582
+581
+580
+579
+578
+577
+576
+575
+574
+573
+572
+571
+570
+569
+568
+567
+566
+565
+564
+563
+562
+561
+560
+559
+558
+557
+556
+555
+554
+553
+552
+551
+550
+549
+548
+547
+546
+545
+544
+543
+542
+541
+540
+539
+538
+537
+536
+535
+534
+533
+532
+531
+530
+529
+528
+527
+526
+525
+524
+523
+522
+521
+520
+519
+518
+517
+516
+515
+514
+513
+512
+511
+510
+509
+508
+507
+506
+505
+504
+503
+502
+501
+500
+499
+498
+497
+496
+495
+494
+493
+480
+477
+468
+466
+262
+261
+263
+264
+265
+266
+267
+268
+270
+269
+272
+271
+273
+274
+275
+276
+279
+277
+278
+281
+280
+282
+283
+284
+285
+287
+286
+289
+288
+290
+292
+291
+293
+295
+294
+296
+298
+297
+299
+300
+302
+301
+303
+304
+307
+305
+306
+308
+309
+310
+311
+313
+312
+318
+314
+316
+315
+317
+319
+320
+321
+322
+323
+325
+324
+326
+328
+327
+329
+330
+331
+332
+333
+336
+334
+335
+337
+338
+339
+340
+342
+341
+343
+344
+345
+346
+347
+348
+349
+350
+351
+353
+354
+355
+356
+357
+358
+359
+360
+362
+361
+363
+364
+365
+366
+367
+368
+370
+371
+369
+372
+376
+373
+374
+377
+378
+380
+381
+382
+383
+384
+385
+386
+388
+387
+389
+390
+393
+391
+392
+396
+395
+394
+398
+397
+400
+399
+402
+403
+404
+405
+406
+409
+408
+410
+411
+413
+412
+418
+415
+414
+416
+417
+420
+419
+421
+422
+426
+424
+423
+427
+425
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+441
+439
+440
+442
+443
+445
+444
+446
+447
+448
+449
+451
+450
+453
+452
+454
+455
+456
+458
+457
+460
+459
+461
+463
+462
+465
+464
+467
+470
+469
+472
+471
+478
+474
+473
+476
+475
+479
+482
+481
+483
+484
+485
+486
+487
+488
+489
+490
+492
+491
+407
+401
+379
+375
+352
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/27.sol b/src/githubtests/medium_test_set/solutions/27.sol
new file mode 100644
index 0000000..56b2492
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/27.sol
@@ -0,0 +1,72 @@
+110
+124
+89
+140
+132
+139
+134
+123
+105
+135
+122
+100
+90
+116
+106
+76
+92
+101
+144
+73
+115
+74
+80
+142
+107
+131
+114
+112
+109
+130
+103
+82
+128
+77
+119
+102
+96
+104
+117
+141
+129
+113
+138
+83
+94
+143
+111
+86
+99
+108
+127
+133
+81
+95
+87
+120
+93
+136
+126
+79
+84
+121
+98
+137
+97
+125
+78
+88
+75
+118
+85
+91
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/28.sol b/src/githubtests/medium_test_set/solutions/28.sol
new file mode 100644
index 0000000..0ad1576
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/28.sol
@@ -0,0 +1,107 @@
+181
+202
+182
+179
+195
+156
+177
+196
+126
+159
+155
+113
+143
+134
+123
+115
+214
+200
+158
+204
+191
+194
+180
+172
+132
+169
+160
+185
+154
+208
+136
+193
+111
+128
+110
+162
+121
+207
+133
+212
+199
+192
+186
+190
+175
+171
+163
+140
+146
+119
+157
+145
+205
+170
+165
+120
+197
+166
+153
+188
+183
+151
+149
+144
+152
+173
+138
+109
+122
+209
+131
+176
+116
+203
+130
+141
+137
+206
+135
+142
+168
+187
+124
+213
+210
+167
+112
+164
+147
+150
+139
+117
+114
+108
+198
+201
+184
+129
+189
+174
+125
+211
+148
+127
+118
+161
+178
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/29.sol b/src/githubtests/medium_test_set/solutions/29.sol
new file mode 100644
index 0000000..056963a
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/29.sol
@@ -0,0 +1,199 @@
+218
+393
+384
+383
+279
+377
+358
+229
+209
+211
+355
+201
+214
+286
+316
+387
+246
+374
+324
+280
+353
+332
+319
+334
+302
+295
+267
+250
+243
+382
+291
+340
+225
+370
+321
+238
+315
+271
+380
+266
+388
+226
+357
+328
+232
+360
+262
+372
+337
+349
+336
+343
+260
+210
+284
+386
+301
+277
+285
+354
+376
+273
+344
+361
+397
+252
+203
+394
+351
+396
+385
+369
+331
+282
+264
+308
+294
+371
+368
+200
+299
+257
+276
+255
+253
+234
+338
+231
+207
+347
+327
+236
+202
+366
+233
+392
+275
+312
+230
+335
+296
+341
+245
+216
+235
+381
+290
+390
+239
+395
+364
+251
+270
+265
+205
+322
+325
+310
+208
+237
+318
+297
+306
+221
+268
+365
+298
+348
+219
+288
+375
+220
+304
+320
+287
+379
+278
+261
+389
+367
+224
+248
+378
+398
+247
+307
+259
+350
+292
+330
+274
+283
+329
+289
+215
+213
+391
+222
+356
+373
+362
+309
+352
+300
+241
+263
+217
+333
+254
+326
+363
+346
+228
+206
+303
+293
+272
+359
+281
+249
+323
+317
+313
+305
+339
+227
+240
+314
+269
+311
+256
+212
+342
+223
+345
+244
+242
+258
+204
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/3.sol b/src/githubtests/medium_test_set/solutions/3.sol
new file mode 100644
index 0000000..6b2dd0c
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/3.sol
@@ -0,0 +1,20 @@
+30
+29
+22
+20
+19
+18
+15
+34
+31
+17
+16
+25
+27
+33
+32
+24
+28
+26
+21
+23
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/30.sol b/src/githubtests/medium_test_set/solutions/30.sol
new file mode 100644
index 0000000..dad5a5b
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/30.sol
@@ -0,0 +1,92 @@
+172
+96
+131
+183
+167
+163
+129
+145
+135
+177
+103
+97
+110
+137
+130
+109
+179
+113
+127
+118
+157
+154
+128
+105
+101
+165
+153
+126
+116
+99
+111
+182
+117
+147
+174
+168
+136
+155
+107
+148
+171
+122
+123
+106
+166
+102
+180
+112
+159
+134
+124
+169
+141
+152
+119
+138
+164
+160
+108
+104
+151
+150
+184
+158
+120
+100
+175
+170
+146
+142
+139
+121
+143
+115
+162
+181
+125
+132
+173
+149
+133
+144
+114
+98
+93
+178
+140
+95
+94
+156
+161
+176
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/31.sol b/src/githubtests/medium_test_set/solutions/31.sol
new file mode 100644
index 0000000..3cf454b
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/31.sol
@@ -0,0 +1,150 @@
+237
+293
+207
+193
+158
+266
+187
+248
+208
+287
+278
+272
+233
+286
+259
+285
+280
+270
+190
+277
+243
+188
+180
+245
+178
+256
+174
+177
+224
+206
+236
+279
+247
+184
+175
+214
+216
+264
+220
+205
+167
+165
+194
+199
+162
+161
+265
+201
+253
+251
+260
+240
+230
+290
+176
+298
+273
+197
+196
+160
+289
+209
+268
+262
+242
+227
+204
+172
+151
+210
+276
+232
+156
+274
+225
+213
+269
+261
+254
+241
+282
+246
+234
+231
+229
+257
+226
+212
+164
+221
+182
+169
+154
+179
+170
+219
+211
+153
+275
+297
+238
+281
+239
+218
+217
+163
+249
+228
+267
+223
+195
+296
+157
+186
+166
+203
+284
+159
+292
+294
+291
+222
+202
+152
+288
+263
+191
+155
+200
+250
+295
+189
+299
+255
+271
+192
+185
+168
+183
+300
+283
+252
+244
+198
+235
+181
+215
+173
+171
+258
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/32.sol b/src/githubtests/medium_test_set/solutions/32.sol
new file mode 100644
index 0000000..7770833
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/32.sol
@@ -0,0 +1,193 @@
+269
+226
+352
+319
+314
+291
+241
+336
+313
+302
+293
+264
+270
+227
+257
+196
+218
+372
+323
+295
+246
+199
+367
+260
+256
+234
+198
+366
+383
+334
+332
+359
+381
+368
+338
+292
+361
+328
+318
+315
+267
+380
+335
+301
+299
+280
+244
+371
+268
+329
+311
+201
+297
+273
+230
+353
+296
+265
+250
+229
+327
+261
+245
+365
+356
+349
+252
+382
+379
+217
+369
+274
+249
+243
+259
+212
+386
+231
+213
+197
+385
+337
+222
+330
+251
+228
+289
+206
+205
+239
+195
+266
+194
+373
+320
+307
+282
+263
+376
+254
+233
+203
+378
+377
+209
+202
+288
+358
+354
+344
+340
+325
+283
+321
+262
+224
+351
+223
+350
+316
+308
+298
+303
+342
+370
+284
+304
+275
+279
+294
+363
+348
+281
+210
+326
+211
+200
+341
+333
+278
+306
+236
+255
+324
+285
+309
+286
+272
+240
+339
+247
+384
+238
+235
+204
+345
+317
+310
+305
+300
+276
+248
+362
+322
+215
+360
+290
+331
+287
+221
+346
+258
+225
+220
+214
+375
+357
+347
+237
+216
+374
+271
+232
+343
+312
+207
+242
+364
+355
+277
+253
+208
+219
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/33.sol b/src/githubtests/medium_test_set/solutions/33.sol
new file mode 100644
index 0000000..bb97320
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/33.sol
@@ -0,0 +1,162 @@
+322
+262
+178
+188
+209
+183
+310
+285
+171
+266
+269
+235
+316
+232
+172
+301
+176
+276
+273
+294
+247
+237
+281
+227
+218
+256
+182
+220
+195
+317
+251
+217
+185
+162
+179
+197
+289
+255
+272
+231
+180
+240
+323
+212
+260
+222
+196
+264
+321
+313
+279
+250
+226
+286
+186
+177
+302
+298
+270
+219
+243
+208
+271
+248
+283
+184
+170
+181
+167
+288
+202
+257
+194
+308
+175
+224
+265
+319
+280
+238
+216
+223
+206
+174
+203
+311
+297
+267
+168
+164
+296
+241
+198
+190
+233
+300
+239
+277
+236
+293
+275
+221
+261
+252
+282
+246
+258
+284
+309
+263
+173
+225
+163
+229
+166
+169
+244
+278
+292
+274
+253
+304
+213
+287
+200
+242
+299
+215
+305
+201
+187
+204
+165
+318
+306
+315
+312
+249
+211
+199
+191
+303
+210
+205
+245
+291
+230
+268
+193
+192
+189
+290
+259
+254
+314
+234
+307
+295
+228
+214
+207
+320
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/34.sol b/src/githubtests/medium_test_set/solutions/34.sol
new file mode 100644
index 0000000..185d837
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/34.sol
@@ -0,0 +1,309 @@
+557
+379
+545
+598
+430
+346
+380
+395
+344
+382
+310
+505
+378
+607
+319
+568
+565
+486
+351
+447
+477
+372
+578
+518
+510
+498
+566
+339
+556
+412
+375
+420
+502
+416
+571
+467
+376
+527
+423
+422
+414
+592
+396
+355
+342
+581
+569
+543
+563
+335
+442
+596
+591
+506
+324
+323
+381
+426
+595
+449
+459
+471
+468
+305
+359
+501
+402
+453
+425
+546
+572
+354
+497
+306
+507
+384
+357
+558
+608
+445
+584
+602
+341
+609
+491
+485
+521
+579
+522
+564
+303
+531
+394
+503
+417
+360
+347
+400
+534
+515
+418
+585
+367
+392
+542
+322
+397
+348
+494
+490
+465
+533
+431
+365
+605
+377
+576
+475
+539
+476
+461
+315
+474
+604
+544
+526
+438
+499
+587
+390
+352
+480
+530
+600
+421
+514
+594
+427
+356
+509
+374
+385
+469
+311
+478
+589
+555
+419
+456
+337
+408
+312
+525
+487
+363
+424
+481
+541
+349
+411
+567
+405
+470
+415
+473
+444
+450
+483
+371
+451
+549
+513
+321
+434
+361
+559
+524
+455
+435
+437
+369
+340
+464
+336
+446
+436
+386
+492
+318
+606
+399
+588
+373
+409
+410
+407
+523
+457
+313
+560
+452
+302
+580
+516
+511
+466
+330
+314
+441
+432
+334
+547
+389
+404
+428
+582
+429
+529
+327
+460
+493
+393
+370
+304
+532
+574
+590
+489
+535
+333
+358
+519
+406
+398
+345
+583
+603
+458
+362
+575
+391
+562
+561
+317
+540
+553
+443
+448
+550
+517
+573
+326
+528
+496
+577
+439
+586
+383
+462
+325
+301
+484
+551
+353
+309
+538
+472
+366
+482
+504
+463
+364
+401
+329
+537
+488
+307
+350
+331
+520
+536
+552
+597
+403
+554
+387
+601
+308
+479
+413
+570
+454
+433
+368
+320
+332
+328
+388
+495
+599
+508
+512
+440
+548
+316
+500
+338
+343
+593
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/35.sol b/src/githubtests/medium_test_set/solutions/35.sol
new file mode 100644
index 0000000..f3631dc
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/35.sol
@@ -0,0 +1,384 @@
+410
+759
+561
+646
+549
+546
+484
+763
+721
+621
+580
+559
+751
+423
+568
+553
+618
+761
+633
+551
+461
+542
+520
+708
+404
+623
+525
+664
+760
+713
+723
+676
+699
+451
+638
+743
+634
+439
+527
+455
+668
+437
+733
+555
+407
+502
+537
+411
+653
+682
+601
+535
+396
+485
+483
+481
+591
+705
+724
+595
+514
+585
+445
+581
+690
+685
+741
+433
+421
+680
+418
+579
+764
+416
+693
+692
+711
+603
+674
+640
+531
+393
+610
+541
+467
+687
+686
+667
+594
+412
+715
+607
+739
+612
+642
+406
+698
+662
+744
+402
+510
+532
+454
+500
+720
+544
+684
+533
+540
+499
+666
+768
+515
+562
+556
+593
+400
+757
+669
+604
+588
+679
+625
+444
+765
+742
+707
+706
+611
+736
+457
+753
+657
+417
+428
+629
+756
+552
+557
+613
+732
+573
+567
+452
+775
+719
+543
+622
+652
+504
+480
+769
+487
+554
+624
+399
+647
+605
+473
+398
+478
+453
+512
+631
+511
+409
+571
+413
+734
+673
+517
+424
+677
+774
+431
+606
+456
+569
+394
+465
+442
+754
+526
+522
+670
+617
+529
+397
+446
+430
+722
+702
+490
+658
+694
+704
+678
+643
+528
+626
+592
+475
+637
+566
+700
+468
+589
+536
+432
+401
+660
+459
+771
+494
+731
+635
+435
+703
+408
+712
+547
+727
+441
+434
+675
+463
+755
+695
+495
+776
+586
+582
+545
+663
+655
+458
+709
+644
+714
+745
+728
+609
+740
+429
+572
+506
+440
+587
+486
+710
+563
+730
+496
+518
+583
+614
+766
+422
+558
+476
+403
+509
+650
+651
+501
+627
+752
+748
+466
+492
+469
+716
+539
+530
+521
+608
+671
+498
+683
+508
+656
+426
+681
+482
+513
+645
+395
+615
+497
+578
+565
+438
+471
+570
+405
+726
+479
+488
+564
+523
+443
+772
+427
+534
+737
+584
+701
+414
+415
+560
+491
+450
+460
+750
+672
+749
+598
+696
+577
+636
+767
+747
+773
+762
+477
+770
+602
+550
+574
+641
+689
+718
+449
+735
+691
+648
+619
+505
+630
+474
+425
+519
+516
+688
+503
+717
+659
+596
+436
+447
+628
+448
+420
+524
+489
+649
+697
+464
+576
+729
+493
+738
+575
+639
+548
+620
+507
+597
+665
+599
+758
+616
+419
+725
+600
+538
+746
+470
+661
+632
+462
+654
+472
+590
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/36.sol b/src/githubtests/medium_test_set/solutions/36.sol
new file mode 100644
index 0000000..910165a
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/36.sol
@@ -0,0 +1,16 @@
+25
+17
+22
+30
+32
+27
+24
+20
+28
+19
+29
+23
+18
+21
+31
+26
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/37.sol b/src/githubtests/medium_test_set/solutions/37.sol
new file mode 100644
index 0000000..0706388
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/37.sol
@@ -0,0 +1,32 @@
+44
+43
+47
+35
+57
+54
+49
+61
+63
+48
+33
+60
+62
+58
+52
+42
+40
+38
+56
+36
+64
+59
+51
+37
+50
+41
+45
+46
+34
+53
+55
+39
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/38.sol b/src/githubtests/medium_test_set/solutions/38.sol
new file mode 100644
index 0000000..c685758
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/38.sol
@@ -0,0 +1,194 @@
+359
+258
+204
+310
+209
+356
+338
+314
+298
+228
+182
+300
+252
+198
+235
+289
+348
+196
+224
+230
+278
+269
+238
+334
+362
+187
+355
+200
+180
+280
+336
+329
+305
+312
+276
+241
+186
+316
+273
+239
+237
+297
+333
+332
+264
+285
+361
+367
+183
+342
+293
+272
+246
+290
+208
+184
+181
+189
+233
+221
+287
+214
+270
+311
+279
+346
+288
+254
+217
+313
+294
+364
+190
+253
+341
+345
+370
+207
+267
+335
+203
+351
+331
+216
+213
+318
+286
+265
+299
+188
+205
+357
+354
+340
+324
+244
+193
+330
+368
+256
+218
+185
+292
+365
+220
+284
+202
+291
+260
+222
+350
+191
+306
+245
+206
+344
+315
+303
+358
+371
+319
+307
+301
+249
+242
+223
+343
+201
+352
+322
+251
+369
+309
+195
+353
+327
+215
+212
+321
+277
+250
+247
+232
+320
+282
+192
+263
+199
+349
+339
+197
+295
+317
+283
+268
+308
+243
+226
+302
+262
+363
+257
+248
+219
+266
+304
+210
+347
+325
+259
+179
+372
+275
+261
+240
+234
+236
+337
+194
+225
+366
+326
+231
+229
+271
+227
+328
+281
+274
+255
+360
+323
+296
+211
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/39.sol b/src/githubtests/medium_test_set/solutions/39.sol
new file mode 100644
index 0000000..ced8f85
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/39.sol
@@ -0,0 +1,192 @@
+301
+361
+375
+349
+265
+270
+240
+360
+215
+211
+309
+346
+312
+326
+277
+306
+208
+351
+195
+331
+250
+316
+285
+280
+248
+320
+334
+278
+362
+348
+300
+274
+218
+193
+317
+197
+355
+344
+328
+310
+325
+308
+187
+251
+188
+369
+293
+284
+264
+222
+198
+190
+363
+235
+367
+267
+302
+256
+206
+371
+303
+339
+225
+262
+366
+259
+357
+223
+232
+288
+364
+378
+327
+199
+200
+340
+298
+254
+239
+282
+226
+305
+227
+203
+192
+373
+257
+356
+276
+315
+202
+338
+242
+233
+287
+336
+377
+246
+329
+271
+323
+319
+318
+365
+286
+272
+243
+212
+196
+191
+260
+214
+354
+279
+350
+205
+281
+370
+353
+337
+221
+275
+258
+219
+213
+230
+372
+307
+304
+342
+292
+244
+224
+341
+194
+324
+289
+374
+313
+290
+201
+297
+296
+273
+249
+210
+220
+294
+207
+229
+268
+343
+283
+231
+263
+238
+333
+347
+311
+241
+217
+204
+314
+261
+368
+359
+358
+299
+189
+291
+269
+252
+266
+209
+345
+335
+322
+255
+376
+295
+332
+330
+237
+245
+216
+247
+228
+352
+321
+253
+236
+234
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/4.sol b/src/githubtests/medium_test_set/solutions/4.sol
new file mode 100644
index 0000000..2dcb5f8
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/4.sol
@@ -0,0 +1,26 @@
+40
+36
+28
+46
+41
+52
+50
+49
+48
+45
+43
+34
+27
+30
+33
+31
+51
+42
+44
+38
+37
+32
+39
+47
+35
+29
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/40.sol b/src/githubtests/medium_test_set/solutions/40.sol
new file mode 100644
index 0000000..080da10
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/40.sol
@@ -0,0 +1,206 @@
+316
+259
+214
+301
+317
+338
+272
+293
+336
+395
+300
+211
+346
+344
+322
+274
+290
+234
+282
+350
+256
+203
+245
+400
+306
+394
+362
+222
+261
+280
+208
+355
+348
+253
+332
+252
+333
+343
+310
+262
+398
+265
+299
+363
+404
+258
+254
+232
+323
+248
+373
+298
+227
+327
+365
+331
+340
+286
+377
+237
+328
+295
+263
+228
+382
+329
+311
+345
+351
+381
+230
+385
+403
+347
+269
+231
+388
+380
+356
+324
+219
+339
+305
+275
+236
+307
+303
+267
+207
+392
+199
+369
+209
+360
+268
+361
+383
+312
+285
+271
+218
+206
+289
+217
+396
+297
+294
+241
+288
+399
+212
+257
+354
+202
+353
+318
+244
+224
+326
+260
+357
+229
+292
+233
+330
+284
+249
+223
+238
+235
+358
+321
+384
+366
+342
+270
+287
+308
+393
+283
+266
+264
+325
+401
+276
+304
+378
+314
+278
+337
+201
+349
+247
+334
+370
+296
+375
+359
+242
+225
+391
+376
+387
+320
+309
+302
+205
+315
+215
+341
+379
+319
+204
+273
+243
+240
+216
+221
+368
+390
+239
+251
+402
+281
+277
+352
+213
+397
+374
+386
+372
+200
+291
+210
+335
+367
+371
+255
+389
+279
+250
+246
+364
+313
+226
+220
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/41.sol b/src/githubtests/medium_test_set/solutions/41.sol
new file mode 100644
index 0000000..c24d9dd
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/41.sol
@@ -0,0 +1,24 @@
+195
+197
+199
+193
+198
+196
+202
+212
+209
+201
+207
+208
+213
+206
+204
+200
+203
+210
+205
+194
+191
+192
+190
+211
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/42.sol b/src/githubtests/medium_test_set/solutions/42.sol
new file mode 100644
index 0000000..17838e4
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/42.sol
@@ -0,0 +1,42 @@
+209
+234
+227
+203
+232
+206
+222
+217
+214
+236
+211
+223
+200
+202
+208
+197
+225
+231
+199
+233
+205
+238
+235
+224
+204
+229
+213
+226
+198
+218
+220
+221
+216
+230
+215
+237
+212
+207
+219
+210
+201
+228
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/43.sol b/src/githubtests/medium_test_set/solutions/43.sol
new file mode 100644
index 0000000..da492f9
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/43.sol
@@ -0,0 +1,48 @@
+290
+322
+319
+297
+323
+312
+306
+295
+303
+296
+318
+287
+328
+326
+294
+286
+293
+288
+292
+285
+300
+332
+302
+329
+309
+316
+310
+308
+305
+324
+320
+298
+301
+331
+311
+289
+315
+307
+313
+321
+325
+291
+314
+317
+330
+299
+304
+327
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/44.sol b/src/githubtests/medium_test_set/solutions/44.sol
new file mode 100644
index 0000000..ace6b26
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/44.sol
@@ -0,0 +1,221 @@
+981
+884
+868
+926
+1031
+1063
+911
+1020
+891
+1052
+998
+1045
+880
+940
+948
+890
+1047
+950
+1008
+1055
+1048
+906
+1034
+1059
+915
+959
+987
+983
+946
+898
+961
+1002
+977
+1073
+1026
+945
+937
+1066
+956
+949
+958
+876
+953
+857
+1033
+1053
+1018
+992
+954
+1036
+883
+925
+960
+923
+1013
+1049
+938
+905
+980
+932
+929
+975
+877
+1010
+1037
+887
+1025
+909
+1004
+1035
+1058
+1021
+994
+1069
+1051
+1029
+1040
+901
+910
+902
+894
+971
+1016
+1075
+989
+862
+943
+933
+869
+966
+899
+1038
+1067
+1012
+864
+859
+963
+892
+1028
+863
+951
+1039
+888
+1046
+1044
+969
+900
+1009
+957
+903
+1065
+935
+917
+1005
+973
+1014
+999
+955
+1030
+939
+1050
+871
+1041
+1007
+978
+997
+1042
+1001
+952
+913
+1076
+922
+858
+866
+990
+879
+893
+1022
+991
+927
+1070
+1032
+993
+970
+924
+872
+1043
+1068
+984
+1019
+996
+897
+979
+878
+1057
+1003
+1023
+1056
+919
+941
+865
+856
+1017
+1054
+912
+1000
+947
+918
+882
+1024
+962
+1015
+974
+889
+886
+1006
+870
+1027
+930
+908
+1071
+967
+976
+875
+861
+1062
+920
+934
+986
+914
+867
+885
+965
+942
+860
+985
+968
+895
+936
+896
+944
+1060
+931
+964
+881
+928
+907
+988
+874
+921
+1072
+1061
+972
+904
+982
+1064
+873
+916
+995
+1011
+1074
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/45.sol b/src/githubtests/medium_test_set/solutions/45.sol
new file mode 100644
index 0000000..8fa180b
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/45.sol
@@ -0,0 +1,241 @@
+635
+590
+474
+487
+506
+595
+472
+482
+638
+538
+597
+495
+648
+630
+576
+569
+555
+616
+703
+702
+560
+655
+511
+594
+699
+641
+567
+565
+604
+591
+571
+642
+608
+697
+463
+561
+578
+500
+566
+690
+684
+600
+529
+549
+628
+515
+540
+552
+601
+548
+517
+629
+574
+656
+516
+596
+577
+553
+661
+584
+501
+643
+640
+479
+524
+464
+564
+653
+547
+598
+499
+527
+695
+693
+663
+531
+513
+468
+658
+484
+554
+652
+602
+632
+624
+672
+618
+633
+634
+480
+568
+639
+674
+498
+610
+603
+631
+575
+689
+505
+558
+657
+613
+609
+650
+615
+670
+507
+475
+533
+605
+614
+542
+700
+504
+620
+491
+636
+523
+520
+659
+508
+485
+467
+593
+611
+626
+606
+556
+489
+583
+483
+687
+496
+679
+570
+582
+622
+539
+651
+644
+692
+623
+683
+586
+471
+649
+617
+625
+537
+678
+532
+545
+535
+589
+473
+536
+677
+588
+544
+470
+681
+518
+669
+691
+502
+607
+662
+671
+637
+514
+619
+526
+530
+469
+528
+486
+492
+580
+562
+666
+581
+579
+525
+612
+572
+503
+668
+541
+551
+701
+476
+563
+466
+587
+494
+665
+510
+592
+521
+481
+465
+490
+546
+673
+685
+682
+627
+477
+698
+688
+550
+512
+694
+488
+675
+543
+664
+522
+667
+647
+599
+559
+478
+676
+696
+686
+557
+497
+645
+534
+519
+654
+573
+493
+680
+621
+585
+509
+646
+660
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/46.sol b/src/githubtests/medium_test_set/solutions/46.sol
new file mode 100644
index 0000000..25d8a29
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/46.sol
@@ -0,0 +1,238 @@
+952
+883
+902
+941
+884
+823
+811
+894
+803
+781
+908
+778
+891
+847
+991
+926
+806
+900
+819
+852
+775
+984
+774
+978
+938
+837
+866
+939
+901
+871
+934
+942
+844
+881
+814
+940
+873
+843
+796
+812
+809
+1008
+946
+893
+1005
+836
+771
+798
+791
+840
+953
+810
+961
+979
+918
+813
+980
+898
+841
+779
+777
+995
+818
+1001
+794
+988
+855
+911
+869
+804
+825
+861
+973
+799
+943
+886
+904
+790
+875
+865
+783
+912
+921
+780
+829
+1004
+972
+838
+927
+868
+822
+784
+956
+816
+867
+917
+801
+1002
+773
+966
+863
+786
+895
+831
+1007
+987
+947
+821
+963
+876
+997
+885
+776
+981
+879
+862
+951
+974
+969
+826
+850
+860
+808
+899
+878
+851
+835
+958
+839
+888
+788
+977
+880
+853
+933
+919
+916
+833
+986
+960
+915
+842
+824
+996
+857
+989
+945
+870
+834
+998
+792
+896
+903
+992
+924
+859
+846
+872
+983
+802
+793
+910
+930
+932
+905
+820
+1003
+787
+994
+975
+882
+817
+856
+928
+807
+874
+795
+897
+925
+922
+971
+848
+948
+913
+887
+815
+828
+797
+959
+782
+854
+864
+935
+923
+937
+800
+889
+1006
+929
+849
+999
+962
+949
+892
+1000
+909
+957
+955
+970
+964
+993
+832
+985
+982
+858
+785
+805
+845
+827
+931
+906
+936
+950
+789
+976
+968
+944
+965
+772
+914
+830
+877
+990
+967
+954
+907
+890
+920
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/47.sol b/src/githubtests/medium_test_set/solutions/47.sol
new file mode 100644
index 0000000..f706889
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/47.sol
@@ -0,0 +1,128 @@
+159
+259
+252
+230
+245
+145
+235
+222
+170
+195
+248
+190
+260
+182
+150
+152
+187
+217
+166
+157
+149
+204
+141
+189
+155
+147
+215
+207
+171
+179
+253
+183
+146
+137
+249
+142
+220
+233
+196
+213
+165
+163
+188
+134
+185
+228
+203
+258
+198
+257
+135
+232
+197
+192
+133
+180
+237
+244
+240
+227
+224
+154
+219
+218
+177
+200
+201
+241
+199
+181
+174
+138
+176
+168
+153
+243
+251
+254
+194
+156
+250
+209
+148
+225
+202
+160
+210
+191
+169
+162
+208
+158
+255
+186
+193
+256
+239
+173
+164
+223
+212
+242
+247
+236
+231
+175
+234
+226
+172
+246
+144
+143
+139
+229
+238
+221
+214
+151
+136
+205
+206
+167
+161
+211
+184
+140
+178
+216
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/48.sol b/src/githubtests/medium_test_set/solutions/48.sol
new file mode 100644
index 0000000..7683e53
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/48.sol
@@ -0,0 +1,194 @@
+233
+372
+222
+189
+339
+322
+238
+188
+335
+283
+267
+183
+284
+257
+333
+205
+332
+323
+239
+266
+371
+185
+359
+315
+296
+278
+275
+256
+214
+370
+255
+212
+195
+313
+210
+203
+288
+310
+281
+250
+245
+285
+270
+229
+352
+293
+280
+207
+227
+306
+211
+263
+186
+180
+237
+348
+366
+276
+350
+254
+303
+265
+243
+242
+202
+194
+231
+343
+298
+224
+219
+215
+302
+213
+198
+184
+191
+338
+325
+292
+309
+358
+244
+234
+317
+226
+365
+336
+249
+220
+217
+201
+269
+373
+354
+197
+364
+273
+218
+360
+319
+351
+324
+274
+327
+260
+253
+209
+181
+208
+357
+349
+320
+232
+230
+342
+301
+290
+196
+331
+345
+297
+334
+235
+316
+286
+259
+252
+204
+369
+340
+328
+318
+246
+182
+321
+326
+187
+355
+312
+341
+353
+308
+307
+294
+192
+367
+291
+272
+264
+337
+304
+258
+330
+279
+200
+363
+248
+251
+361
+368
+225
+295
+271
+268
+261
+262
+282
+241
+206
+329
+344
+199
+356
+346
+314
+305
+300
+240
+228
+311
+223
+299
+287
+347
+236
+193
+190
+277
+289
+221
+247
+216
+362
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/49.sol b/src/githubtests/medium_test_set/solutions/49.sol
new file mode 100644
index 0000000..31102d1
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/49.sol
@@ -0,0 +1,217 @@
+335
+333
+360
+406
+391
+253
+409
+405
+237
+260
+219
+358
+310
+246
+412
+239
+304
+361
+300
+385
+270
+402
+284
+249
+328
+318
+314
+290
+232
+214
+323
+287
+414
+282
+271
+380
+325
+241
+354
+217
+213
+311
+294
+408
+400
+319
+234
+293
+262
+415
+212
+263
+418
+373
+367
+313
+298
+286
+407
+230
+370
+332
+331
+259
+236
+357
+423
+353
+258
+399
+384
+264
+337
+296
+280
+231
+288
+395
+420
+346
+397
+292
+235
+382
+336
+305
+277
+272
+375
+309
+227
+393
+251
+229
+411
+338
+345
+207
+352
+312
+422
+247
+266
+356
+421
+401
+285
+410
+244
+268
+242
+252
+371
+369
+339
+386
+320
+297
+419
+326
+378
+390
+383
+307
+329
+368
+279
+350
+302
+349
+245
+417
+396
+413
+324
+226
+223
+225
+273
+381
+211
+210
+283
+275
+363
+365
+254
+315
+372
+348
+265
+404
+322
+269
+327
+379
+376
+224
+341
+228
+215
+250
+416
+392
+347
+344
+220
+398
+387
+295
+351
+342
+208
+343
+366
+240
+355
+340
+403
+359
+362
+321
+276
+364
+301
+334
+316
+299
+289
+216
+274
+317
+306
+291
+267
+257
+389
+281
+238
+261
+256
+377
+248
+222
+233
+221
+308
+209
+278
+388
+394
+330
+303
+255
+243
+218
+374
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/5.sol b/src/githubtests/medium_test_set/solutions/5.sol
new file mode 100644
index 0000000..5188d5c
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/5.sol
@@ -0,0 +1,37 @@
+32
+48
+44
+58
+52
+42
+63
+62
+40
+43
+56
+65
+53
+55
+51
+35
+34
+68
+54
+36
+49
+59
+33
+57
+50
+39
+38
+60
+67
+41
+37
+66
+61
+47
+45
+64
+46
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/50.sol b/src/githubtests/medium_test_set/solutions/50.sol
new file mode 100644
index 0000000..92d94bf
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/50.sol
@@ -0,0 +1,125 @@
+170
+130
+178
+149
+229
+231
+181
+166
+127
+245
+136
+247
+129
+124
+198
+134
+146
+141
+192
+220
+128
+212
+196
+226
+160
+225
+154
+185
+126
+243
+216
+233
+211
+208
+201
+189
+147
+209
+186
+144
+180
+176
+139
+190
+153
+159
+148
+168
+167
+217
+199
+248
+210
+204
+188
+194
+236
+223
+135
+221
+202
+235
+222
+165
+232
+133
+215
+193
+150
+158
+237
+224
+218
+183
+241
+156
+239
+219
+227
+169
+230
+203
+207
+200
+214
+242
+179
+175
+131
+143
+157
+234
+138
+177
+197
+140
+155
+184
+174
+244
+172
+164
+142
+162
+213
+163
+137
+205
+187
+228
+246
+195
+151
+206
+191
+145
+173
+152
+182
+132
+161
+240
+238
+125
+171
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/51.sol b/src/githubtests/medium_test_set/solutions/51.sol
new file mode 100644
index 0000000..886ff38
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/51.sol
@@ -0,0 +1,154 @@
+293
+273
+286
+212
+194
+198
+303
+228
+274
+271
+248
+219
+241
+196
+199
+272
+234
+193
+191
+250
+301
+223
+180
+178
+298
+204
+160
+182
+297
+156
+300
+264
+159
+283
+157
+257
+172
+209
+207
+185
+263
+252
+237
+226
+190
+247
+192
+151
+152
+214
+155
+229
+195
+188
+168
+163
+242
+277
+162
+253
+270
+203
+167
+261
+249
+292
+285
+265
+245
+294
+289
+189
+262
+169
+282
+233
+278
+154
+239
+236
+213
+158
+280
+217
+202
+211
+181
+244
+296
+269
+246
+222
+216
+177
+174
+179
+281
+224
+201
+290
+227
+184
+243
+231
+232
+165
+161
+221
+218
+173
+275
+210
+235
+304
+258
+166
+284
+251
+240
+279
+299
+183
+225
+254
+206
+287
+230
+302
+186
+171
+255
+197
+238
+176
+288
+200
+187
+266
+175
+259
+276
+260
+268
+295
+220
+170
+256
+267
+208
+205
+215
+291
+153
+164
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/52.sol b/src/githubtests/medium_test_set/solutions/52.sol
new file mode 100644
index 0000000..5251821
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/52.sol
@@ -0,0 +1,220 @@
+448
+413
+404
+343
+441
+324
+293
+468
+313
+298
+406
+368
+429
+312
+344
+438
+346
+381
+453
+323
+274
+461
+297
+363
+260
+351
+304
+380
+389
+352
+456
+452
+411
+262
+375
+382
+409
+365
+361
+396
+282
+305
+359
+318
+265
+407
+345
+455
+384
+434
+261
+437
+310
+431
+398
+388
+392
+395
+329
+399
+426
+317
+405
+469
+339
+394
+467
+454
+256
+281
+466
+373
+325
+417
+414
+334
+357
+383
+432
+440
+353
+303
+307
+439
+356
+402
+447
+393
+366
+428
+291
+367
+280
+342
+349
+457
+327
+451
+270
+328
+358
+460
+295
+275
+347
+470
+378
+442
+385
+326
+259
+255
+430
+369
+287
+330
+374
+419
+443
+267
+277
+379
+294
+424
+376
+371
+377
+283
+254
+284
+436
+299
+300
+271
+410
+257
+341
+258
+320
+289
+337
+421
+420
+360
+266
+445
+354
+263
+253
+286
+423
+273
+322
+333
+350
+446
+462
+278
+449
+335
+332
+252
+340
+418
+397
+401
+302
+403
+314
+251
+264
+433
+269
+279
+415
+390
+336
+459
+355
+412
+416
+400
+331
+450
+387
+290
+422
+364
+372
+362
+272
+315
+391
+296
+309
+306
+386
+425
+435
+319
+316
+338
+444
+301
+276
+285
+427
+292
+408
+464
+268
+465
+463
+458
+348
+370
+311
+288
+308
+321
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/53.sol b/src/githubtests/medium_test_set/solutions/53.sol
new file mode 100644
index 0000000..4d56b97
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/53.sol
@@ -0,0 +1,111 @@
+209
+208
+207
+206
+204
+202
+201
+200
+164
+212
+211
+210
+205
+203
+199
+198
+197
+196
+195
+194
+193
+192
+191
+190
+189
+188
+187
+186
+185
+184
+183
+182
+181
+180
+179
+177
+176
+175
+174
+173
+172
+170
+169
+168
+167
+166
+165
+163
+162
+161
+160
+159
+158
+157
+156
+155
+154
+153
+152
+151
+150
+149
+148
+147
+146
+145
+144
+143
+142
+141
+140
+139
+138
+137
+136
+135
+134
+133
+132
+131
+130
+129
+128
+126
+125
+123
+117
+116
+115
+114
+113
+112
+111
+110
+109
+108
+107
+106
+105
+171
+178
+127
+124
+122
+121
+120
+119
+118
+104
+103
+102
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/54.sol b/src/githubtests/medium_test_set/solutions/54.sol
new file mode 100644
index 0000000..9da3cbd
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/54.sol
@@ -0,0 +1,125 @@
+253
+250
+246
+231
+214
+212
+203
+186
+181
+141
+207
+163
+255
+254
+248
+235
+234
+232
+230
+226
+205
+201
+188
+184
+165
+225
+216
+191
+171
+154
+150
+144
+140
+187
+209
+256
+224
+223
+175
+167
+164
+142
+139
+257
+243
+239
+237
+182
+252
+244
+242
+236
+227
+222
+220
+219
+217
+215
+213
+211
+208
+206
+204
+200
+198
+194
+183
+178
+177
+172
+170
+168
+162
+161
+158
+152
+149
+148
+147
+146
+145
+134
+151
+136
+247
+245
+218
+138
+199
+190
+251
+176
+228
+210
+192
+189
+185
+180
+174
+166
+160
+156
+153
+135
+258
+249
+240
+238
+233
+221
+202
+196
+193
+179
+173
+169
+157
+137
+241
+195
+155
+229
+197
+159
+143
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/55.sol b/src/githubtests/medium_test_set/solutions/55.sol
new file mode 100644
index 0000000..ad6b651
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/55.sol
@@ -0,0 +1,172 @@
+328
+324
+320
+315
+308
+302
+271
+264
+252
+247
+238
+231
+223
+214
+292
+221
+304
+267
+213
+203
+344
+301
+289
+277
+265
+253
+220
+209
+205
+202
+196
+184
+197
+186
+228
+321
+310
+259
+188
+274
+189
+182
+181
+178
+346
+326
+300
+255
+210
+191
+176
+336
+299
+296
+257
+227
+192
+303
+187
+280
+345
+334
+333
+322
+313
+312
+307
+285
+275
+270
+258
+217
+319
+260
+249
+242
+218
+281
+295
+290
+286
+273
+215
+266
+241
+340
+329
+272
+216
+341
+325
+309
+305
+297
+291
+288
+282
+276
+193
+177
+175
+284
+283
+269
+262
+254
+248
+243
+239
+237
+219
+204
+183
+263
+225
+323
+311
+211
+343
+250
+194
+179
+314
+190
+338
+337
+327
+180
+317
+268
+244
+235
+233
+230
+208
+206
+201
+199
+195
+229
+226
+332
+240
+330
+224
+316
+294
+222
+279
+331
+232
+318
+293
+198
+339
+306
+298
+245
+234
+207
+200
+185
+342
+335
+287
+278
+261
+256
+251
+246
+236
+212
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/56.sol b/src/githubtests/medium_test_set/solutions/56.sol
new file mode 100644
index 0000000..478f152
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/56.sol
@@ -0,0 +1,224 @@
+455
+443
+436
+435
+433
+429
+425
+422
+415
+413
+408
+402
+398
+394
+393
+390
+388
+386
+379
+377
+376
+375
+374
+368
+362
+360
+344
+342
+341
+339
+332
+331
+330
+329
+327
+326
+321
+317
+303
+302
+301
+297
+293
+288
+286
+284
+283
+278
+277
+275
+274
+272
+268
+267
+266
+262
+261
+260
+259
+257
+255
+253
+250
+249
+246
+242
+241
+238
+237
+236
+457
+445
+416
+399
+441
+420
+391
+378
+354
+353
+350
+346
+345
+338
+323
+322
+313
+312
+300
+291
+290
+289
+287
+279
+256
+252
+244
+298
+243
+239
+459
+454
+421
+400
+343
+271
+264
+451
+444
+372
+370
+366
+364
+348
+334
+316
+315
+304
+265
+356
+311
+427
+407
+404
+401
+381
+337
+310
+247
+299
+314
+446
+424
+396
+306
+269
+263
+254
+431
+382
+447
+369
+347
+409
+355
+296
+292
+273
+392
+439
+419
+320
+456
+442
+440
+438
+426
+417
+319
+406
+387
+385
+383
+367
+363
+359
+333
+325
+245
+240
+449
+358
+450
+389
+309
+258
+432
+352
+307
+458
+430
+437
+428
+423
+414
+412
+411
+410
+403
+397
+380
+371
+365
+357
+351
+335
+328
+324
+305
+295
+281
+276
+251
+248
+434
+405
+395
+373
+340
+318
+282
+453
+452
+448
+418
+384
+361
+349
+336
+308
+294
+285
+280
+270
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/57.sol b/src/githubtests/medium_test_set/solutions/57.sol
new file mode 100644
index 0000000..f3d281a
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/57.sol
@@ -0,0 +1,279 @@
+539
+538
+534
+533
+532
+531
+528
+527
+526
+524
+521
+519
+510
+499
+495
+484
+480
+476
+457
+455
+425
+420
+411
+402
+392
+390
+365
+352
+344
+331
+329
+300
+299
+293
+286
+271
+269
+263
+485
+473
+464
+453
+449
+288
+536
+530
+529
+518
+507
+505
+504
+488
+475
+460
+452
+443
+436
+426
+423
+405
+404
+401
+400
+399
+398
+396
+395
+393
+377
+371
+370
+363
+359
+357
+356
+355
+353
+348
+333
+305
+301
+296
+287
+285
+283
+281
+278
+276
+275
+274
+266
+442
+368
+342
+332
+312
+537
+525
+523
+520
+517
+513
+512
+509
+483
+482
+479
+478
+474
+472
+471
+470
+469
+468
+467
+466
+465
+463
+462
+461
+459
+458
+456
+454
+451
+450
+448
+447
+439
+438
+435
+428
+422
+419
+416
+414
+410
+408
+406
+397
+383
+381
+366
+341
+339
+336
+321
+315
+308
+277
+403
+446
+265
+491
+535
+394
+522
+516
+515
+514
+511
+508
+506
+503
+502
+501
+500
+498
+497
+496
+494
+493
+492
+490
+489
+487
+486
+477
+481
+445
+444
+441
+440
+437
+434
+433
+432
+431
+430
+429
+427
+424
+421
+418
+417
+415
+413
+412
+409
+407
+391
+389
+388
+387
+386
+385
+384
+382
+380
+379
+378
+376
+375
+374
+373
+372
+369
+367
+364
+362
+361
+360
+358
+354
+351
+350
+349
+347
+346
+345
+343
+340
+338
+337
+335
+334
+330
+328
+327
+326
+325
+324
+323
+322
+320
+319
+318
+317
+316
+314
+313
+311
+310
+309
+307
+306
+304
+303
+302
+298
+297
+295
+294
+292
+291
+290
+289
+284
+282
+280
+279
+273
+272
+270
+268
+267
+264
+262
+261
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/58.sol b/src/githubtests/medium_test_set/solutions/58.sol
new file mode 100644
index 0000000..6e4e7cb
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/58.sol
@@ -0,0 +1,24 @@
+32
+34
+30
+19
+21
+26
+16
+22
+31
+37
+36
+35
+28
+23
+24
+29
+17
+15
+27
+25
+18
+14
+20
+33
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/59.sol b/src/githubtests/medium_test_set/solutions/59.sol
new file mode 100644
index 0000000..1b47483
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/59.sol
@@ -0,0 +1,32 @@
+23
+44
+37
+43
+49
+35
+45
+38
+46
+36
+25
+34
+39
+48
+47
+21
+28
+40
+33
+27
+24
+31
+20
+19
+26
+22
+32
+29
+42
+41
+30
+18
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/6.sol b/src/githubtests/medium_test_set/solutions/6.sol
new file mode 100644
index 0000000..90345c6
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/6.sol
@@ -0,0 +1,152 @@
+271
+250
+156
+278
+263
+259
+232
+222
+237
+285
+265
+255
+188
+261
+287
+236
+187
+162
+157
+294
+172
+170
+288
+223
+211
+161
+220
+242
+254
+192
+176
+173
+252
+205
+203
+175
+227
+262
+284
+275
+274
+238
+218
+177
+286
+282
+149
+253
+184
+179
+169
+158
+246
+292
+151
+281
+216
+215
+279
+269
+264
+258
+193
+183
+180
+167
+144
+293
+208
+174
+249
+159
+276
+248
+168
+241
+272
+201
+207
+160
+181
+235
+244
+225
+224
+240
+280
+233
+182
+146
+239
+231
+260
+295
+257
+226
+209
+251
+230
+221
+199
+202
+150
+206
+153
+194
+148
+217
+189
+186
+195
+212
+289
+229
+163
+152
+178
+185
+165
+243
+256
+191
+273
+266
+267
+228
+198
+283
+219
+204
+214
+210
+147
+196
+200
+166
+190
+171
+213
+245
+277
+247
+197
+145
+290
+291
+270
+155
+234
+154
+268
+164
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/60.sol b/src/githubtests/medium_test_set/solutions/60.sol
new file mode 100644
index 0000000..1e35ef2
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/60.sol
@@ -0,0 +1,144 @@
+205
+197
+220
+228
+177
+132
+233
+173
+135
+133
+126
+124
+262
+185
+175
+250
+165
+180
+143
+257
+123
+252
+245
+187
+241
+137
+141
+129
+182
+259
+254
+218
+203
+255
+235
+223
+265
+230
+264
+162
+248
+196
+159
+237
+154
+151
+242
+136
+208
+201
+195
+192
+183
+152
+125
+234
+251
+232
+194
+261
+238
+212
+191
+156
+213
+140
+142
+134
+122
+224
+258
+214
+247
+181
+198
+147
+178
+236
+179
+188
+193
+210
+209
+158
+186
+215
+189
+174
+163
+239
+170
+167
+153
+263
+148
+256
+249
+225
+128
+226
+222
+217
+260
+207
+204
+231
+176
+155
+253
+202
+211
+127
+219
+246
+168
+243
+199
+244
+145
+240
+190
+216
+171
+169
+150
+146
+227
+206
+161
+130
+221
+172
+160
+139
+149
+184
+166
+164
+157
+138
+200
+144
+131
+229
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/7.sol b/src/githubtests/medium_test_set/solutions/7.sol
new file mode 100644
index 0000000..494526e
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/7.sol
@@ -0,0 +1,215 @@
+457
+439
+297
+346
+298
+426
+262
+397
+334
+326
+289
+270
+459
+449
+412
+349
+348
+375
+437
+357
+343
+274
+269
+288
+312
+263
+399
+398
+423
+360
+382
+458
+296
+434
+286
+354
+273
+453
+311
+401
+446
+451
+323
+385
+359
+392
+301
+280
+250
+366
+335
+300
+410
+290
+406
+352
+427
+266
+322
+417
+442
+387
+327
+305
+285
+246
+245
+364
+279
+413
+333
+419
+255
+309
+415
+431
+414
+291
+317
+336
+321
+316
+275
+378
+436
+391
+302
+377
+350
+268
+315
+331
+276
+418
+281
+454
+379
+308
+363
+284
+248
+345
+304
+247
+355
+351
+260
+254
+330
+400
+369
+253
+372
+339
+272
+287
+264
+443
+421
+381
+337
+448
+424
+338
+313
+361
+383
+303
+373
+411
+306
+282
+433
+394
+365
+319
+403
+283
+380
+277
+404
+425
+341
+261
+429
+432
+258
+328
+249
+440
+367
+438
+435
+409
+389
+384
+271
+252
+422
+314
+430
+386
+318
+428
+256
+407
+332
+402
+257
+293
+251
+390
+294
+376
+393
+265
+455
+320
+259
+267
+325
+353
+278
+344
+444
+299
+356
+358
+456
+416
+408
+329
+324
+292
+340
+447
+368
+362
+450
+388
+347
+295
+452
+307
+405
+374
+342
+310
+445
+441
+396
+420
+370
+371
+395
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/8.sol b/src/githubtests/medium_test_set/solutions/8.sol
new file mode 100644
index 0000000..d7d3e31
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/8.sol
@@ -0,0 +1,308 @@
+630
+401
+633
+632
+608
+577
+356
+391
+366
+532
+527
+620
+599
+563
+547
+442
+647
+541
+454
+379
+489
+643
+636
+635
+462
+479
+409
+480
+436
+441
+560
+618
+511
+460
+365
+623
+567
+496
+485
+472
+402
+594
+405
+476
+597
+424
+555
+512
+411
+364
+604
+562
+576
+538
+550
+650
+361
+570
+501
+559
+407
+478
+528
+586
+368
+375
+610
+473
+471
+351
+494
+397
+497
+509
+452
+450
+517
+614
+619
+569
+596
+584
+505
+390
+430
+626
+548
+642
+631
+492
+385
+369
+537
+490
+355
+551
+645
+438
+421
+349
+398
+382
+431
+448
+475
+585
+423
+554
+459
+523
+581
+469
+504
+574
+400
+481
+617
+457
+363
+446
+373
+392
+470
+399
+482
+483
+568
+362
+627
+354
+525
+393
+412
+414
+601
+557
+370
+583
+377
+616
+488
+415
+445
+595
+549
+410
+518
+628
+593
+380
+641
+640
+499
+542
+434
+520
+612
+444
+404
+654
+495
+603
+484
+378
+652
+598
+539
+403
+374
+526
+644
+639
+600
+429
+418
+381
+535
+522
+359
+613
+455
+439
+638
+624
+575
+609
+556
+433
+422
+521
+605
+352
+416
+524
+651
+566
+533
+513
+413
+531
+506
+486
+432
+514
+653
+465
+388
+637
+376
+384
+564
+571
+357
+387
+447
+396
+552
+367
+606
+458
+579
+493
+464
+408
+467
+453
+634
+621
+543
+503
+428
+591
+546
+395
+510
+590
+646
+648
+625
+360
+426
+456
+350
+437
+451
+386
+425
+443
+553
+622
+498
+427
+474
+420
+353
+572
+502
+587
+383
+491
+545
+371
+649
+544
+466
+468
+589
+449
+578
+588
+487
+602
+558
+372
+389
+629
+540
+515
+419
+530
+519
+440
+406
+435
+536
+417
+500
+582
+477
+561
+611
+573
+358
+565
+534
+516
+508
+615
+463
+507
+461
+347
+348
+607
+592
+580
+529
+394
\ No newline at end of file
diff --git a/src/githubtests/medium_test_set/solutions/9.sol b/src/githubtests/medium_test_set/solutions/9.sol
new file mode 100644
index 0000000..ba53eda
--- /dev/null
+++ b/src/githubtests/medium_test_set/solutions/9.sol
@@ -0,0 +1,344 @@
+617
+616
+628
+701
+642
+639
+601
+483
+419
+592
+432
+590
+711
+682
+641
+713
+640
+623
+547
+587
+509
+409
+598
+445
+581
+619
+418
+528
+505
+550
+588
+507
+404
+646
+629
+401
+665
+457
+545
+490
+476
+533
+695
+570
+571
+595
+562
+534
+452
+569
+426
+400
+709
+532
+379
+677
+451
+411
+657
+446
+491
+423
+448
+412
+512
+500
+609
+690
+599
+416
+706
+475
+714
+503
+499
+719
+606
+430
+627
+480
+471
+468
+406
+523
+710
+397
+548
+607
+382
+605
+383
+398
+541
+539
+444
+496
+679
+529
+377
+546
+493
+453
+425
+652
+594
+506
+649
+513
+645
+643
+567
+462
+484
+585
+696
+579
+559
+399
+542
+394
+591
+667
+537
+488
+664
+638
+392
+387
+518
+654
+586
+536
+577
+552
+670
+631
+600
+573
+456
+565
+674
+688
+589
+436
+485
+521
+386
+698
+459
+597
+408
+486
+692
+473
+495
+424
+699
+413
+524
+614
+596
+604
+447
+703
+410
+661
+522
+694
+715
+712
+687
+675
+625
+482
+553
+504
+443
+666
+582
+390
+515
+555
+464
+497
+697
+558
+543
+433
+442
+650
+385
+564
+466
+435
+527
+498
+441
+624
+531
+501
+470
+681
+560
+689
+612
+428
+479
+574
+472
+540
+618
+656
+672
+653
+644
+633
+508
+626
+610
+407
+396
+389
+439
+651
+671
+683
+630
+381
+716
+458
+693
+544
+663
+538
+647
+561
+391
+440
+519
+622
+376
+634
+502
+613
+575
+568
+636
+465
+384
+659
+676
+705
+388
+525
+554
+549
+584
+535
+658
+668
+718
+478
+463
+437
+576
+678
+680
+477
+378
+632
+380
+608
+635
+702
+691
+421
+530
+708
+669
+684
+685
+489
+393
+449
+686
+660
+487
+566
+580
+395
+429
+603
+655
+572
+520
+454
+417
+405
+717
+461
+438
+563
+516
+420
+602
+700
+673
+578
+556
+526
+414
+621
+615
+593
+481
+415
+450
+517
+402
+704
+583
+611
+494
+620
+510
+474
+492
+662
+637
+427
+707
+557
+514
+469
+467
+460
+403
+422
+648
+551
+455
+434
+431
+511
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/instances/complete_4_5.gr b/src/githubtests/tiny_test_set/instances/complete_4_5.gr
new file mode 100644
index 0000000..5af21cc
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/complete_4_5.gr
@@ -0,0 +1,21 @@
+p ocr 4 5 20
+1 5
+1 6
+1 7
+1 8
+1 9
+2 5
+2 6
+2 7
+2 8
+2 9
+3 5
+3 6
+3 7
+3 8
+3 9
+4 5
+4 6
+4 7
+4 8
+4 9
diff --git a/src/githubtests/tiny_test_set/instances/cycle_8_shuffled.gr b/src/githubtests/tiny_test_set/instances/cycle_8_shuffled.gr
new file mode 100644
index 0000000..e4ff7b7
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/cycle_8_shuffled.gr
@@ -0,0 +1,9 @@
+p ocr 4 4 8
+1 6
+1 8
+2 6
+2 7
+3 5
+3 7
+4 5
+4 8
diff --git a/src/githubtests/tiny_test_set/instances/cycle_8_sorted.gr b/src/githubtests/tiny_test_set/instances/cycle_8_sorted.gr
new file mode 100644
index 0000000..a75f47b
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/cycle_8_sorted.gr
@@ -0,0 +1,9 @@
+p ocr 4 4 8
+1 5
+1 7
+2 5
+2 6
+3 7
+3 8
+4 6
+4 8
diff --git a/src/githubtests/tiny_test_set/instances/grid_9_shuffled.gr b/src/githubtests/tiny_test_set/instances/grid_9_shuffled.gr
new file mode 100644
index 0000000..fda6e4e
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/grid_9_shuffled.gr
@@ -0,0 +1,13 @@
+p ocr 4 5 12
+1 5
+1 7
+1 8
+2 6
+2 7
+2 9
+3 7
+3 8
+3 9
+4 5
+4 6
+4 7
diff --git a/src/githubtests/tiny_test_set/instances/ladder_4_4_shuffled.gr b/src/githubtests/tiny_test_set/instances/ladder_4_4_shuffled.gr
new file mode 100644
index 0000000..0da3e8f
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/ladder_4_4_shuffled.gr
@@ -0,0 +1,11 @@
+p ocr 4 4 10
+1 5
+1 6
+2 6
+2 7
+2 8
+3 7
+3 8
+4 5
+4 6
+4 7
diff --git a/src/githubtests/tiny_test_set/instances/ladder_4_4_sorted.gr b/src/githubtests/tiny_test_set/instances/ladder_4_4_sorted.gr
new file mode 100644
index 0000000..568a381
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/ladder_4_4_sorted.gr
@@ -0,0 +1,11 @@
+p ocr 4 4 10
+1 5
+1 8
+2 5
+2 8
+2 7
+3 8
+3 7
+3 6
+4 7
+4 6
diff --git a/src/githubtests/tiny_test_set/instances/matching_4_4.gr b/src/githubtests/tiny_test_set/instances/matching_4_4.gr
new file mode 100644
index 0000000..4e61bc1
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/matching_4_4.gr
@@ -0,0 +1,5 @@
+p ocr 4 4 4
+1 7
+2 5
+3 6
+4 8
diff --git a/src/githubtests/tiny_test_set/instances/path_9_shuffled.gr b/src/githubtests/tiny_test_set/instances/path_9_shuffled.gr
new file mode 100644
index 0000000..0f879fe
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/path_9_shuffled.gr
@@ -0,0 +1,9 @@
+p ocr 5 4 8
+1 8
+2 7
+2 6
+3 9
+4 6
+4 8
+5 7
+5 9
diff --git a/src/githubtests/tiny_test_set/instances/path_9_sorted.gr b/src/githubtests/tiny_test_set/instances/path_9_sorted.gr
new file mode 100644
index 0000000..a2712c4
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/path_9_sorted.gr
@@ -0,0 +1,9 @@
+p ocr 5 4 8
+1 7
+2 7
+2 9
+3 9
+3 6
+4 6
+4 8
+5 8
diff --git a/src/githubtests/tiny_test_set/instances/plane_5_6.gr b/src/githubtests/tiny_test_set/instances/plane_5_6.gr
new file mode 100644
index 0000000..f28982e
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/plane_5_6.gr
@@ -0,0 +1,11 @@
+p ocr 5 6 10
+1 6
+1 9
+1 11
+2 6
+2 10
+3 10
+4 10
+4 7
+4 8
+5 8
diff --git a/src/githubtests/tiny_test_set/instances/star_6.gr b/src/githubtests/tiny_test_set/instances/star_6.gr
new file mode 100644
index 0000000..8295a62
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/star_6.gr
@@ -0,0 +1,7 @@
+p ocr 2 6 6
+1 3
+2 4
+1 5
+2 6
+1 7
+2 8
diff --git a/src/githubtests/tiny_test_set/instances/tree_6_10.gr b/src/githubtests/tiny_test_set/instances/tree_6_10.gr
new file mode 100644
index 0000000..a1d9f17
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/tree_6_10.gr
@@ -0,0 +1,16 @@
+p ocr 6 10 15
+1 7
+1 8
+2 7
+2 9
+2 10
+2 11
+3 7
+3 12
+3 13
+4 7
+5 8
+6 8
+6 14
+6 15
+6 16
diff --git a/src/githubtests/tiny_test_set/instances/website_20.gr b/src/githubtests/tiny_test_set/instances/website_20.gr
new file mode 100644
index 0000000..2f8bea3
--- /dev/null
+++ b/src/githubtests/tiny_test_set/instances/website_20.gr
@@ -0,0 +1,13 @@
+p ocr 10 10 12
+1 15
+1 16
+2 17
+3 18
+4 19
+5 20
+6 11
+7 12
+8 13
+9 14
+10 15
+10 16
diff --git a/src/githubtests/tiny_test_set/solutions/complete_4_5.sol b/src/githubtests/tiny_test_set/solutions/complete_4_5.sol
new file mode 100644
index 0000000..56593e1
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/complete_4_5.sol
@@ -0,0 +1,5 @@
+5
+6
+7
+8
+9
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/cycle_8_shuffled.sol b/src/githubtests/tiny_test_set/solutions/cycle_8_shuffled.sol
new file mode 100644
index 0000000..aa299fc
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/cycle_8_shuffled.sol
@@ -0,0 +1,4 @@
+6
+7
+8
+5
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/cycle_8_sorted.sol b/src/githubtests/tiny_test_set/solutions/cycle_8_sorted.sol
new file mode 100644
index 0000000..4f6fd4b
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/cycle_8_sorted.sol
@@ -0,0 +1,4 @@
+5
+7
+6
+8
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/grid_9_shuffled.sol b/src/githubtests/tiny_test_set/solutions/grid_9_shuffled.sol
new file mode 100644
index 0000000..fff6370
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/grid_9_shuffled.sol
@@ -0,0 +1,5 @@
+8
+5
+7
+9
+6
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/ladder_4_4_shuffled.sol b/src/githubtests/tiny_test_set/solutions/ladder_4_4_shuffled.sol
new file mode 100644
index 0000000..df838fa
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/ladder_4_4_shuffled.sol
@@ -0,0 +1,4 @@
+5
+6
+8
+7
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/ladder_4_4_sorted.sol b/src/githubtests/tiny_test_set/solutions/ladder_4_4_sorted.sol
new file mode 100644
index 0000000..18a024c
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/ladder_4_4_sorted.sol
@@ -0,0 +1,4 @@
+5
+8
+7
+6
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/matching_4_4.sol b/src/githubtests/tiny_test_set/solutions/matching_4_4.sol
new file mode 100644
index 0000000..b43887f
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/matching_4_4.sol
@@ -0,0 +1,4 @@
+7
+5
+6
+8
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/path_9_shuffled.sol b/src/githubtests/tiny_test_set/solutions/path_9_shuffled.sol
new file mode 100644
index 0000000..2f33c89
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/path_9_shuffled.sol
@@ -0,0 +1,4 @@
+8
+6
+7
+9
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/path_9_sorted.sol b/src/githubtests/tiny_test_set/solutions/path_9_sorted.sol
new file mode 100644
index 0000000..5a549b9
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/path_9_sorted.sol
@@ -0,0 +1,4 @@
+7
+9
+6
+8
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/plane_5_6.sol b/src/githubtests/tiny_test_set/solutions/plane_5_6.sol
new file mode 100644
index 0000000..5798bf3
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/plane_5_6.sol
@@ -0,0 +1,6 @@
+9
+11
+6
+10
+7
+8
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/star_6.sol b/src/githubtests/tiny_test_set/solutions/star_6.sol
new file mode 100644
index 0000000..af17a06
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/star_6.sol
@@ -0,0 +1,6 @@
+3
+5
+7
+4
+6
+8
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/tree_6_10.sol b/src/githubtests/tiny_test_set/solutions/tree_6_10.sol
new file mode 100644
index 0000000..8a8b6bf
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/tree_6_10.sol
@@ -0,0 +1,10 @@
+9
+10
+11
+7
+12
+13
+8
+14
+15
+16
\ No newline at end of file
diff --git a/src/githubtests/tiny_test_set/solutions/website_20.sol b/src/githubtests/tiny_test_set/solutions/website_20.sol
new file mode 100644
index 0000000..a634044
--- /dev/null
+++ b/src/githubtests/tiny_test_set/solutions/website_20.sol
@@ -0,0 +1,10 @@
+15
+16
+17
+18
+19
+20
+11
+12
+13
+14
\ No newline at end of file
diff --git a/src/main.py b/src/main.py
index ecc563a..b28bc1a 100644
--- a/src/main.py
+++ b/src/main.py
@@ -9,8 +9,9 @@ def solve_bipartite_minimization(graph_file):
 
     # Extrahiere den Basisnamen der Eingabedatei
     base_name = os.path.basename(graph_file)
+    new_base_name = base_name.replace('.gr', '.sol')
     # Erstelle den Ausgabepfad
-    output_file = os.path.join('solution_instances', base_name)
+    output_file = os.path.join('solution_instances', new_base_name)
     logging.info(f"Die Ausgabedatei wird {output_file} sein")
 
     edges = []
@@ -95,5 +96,6 @@ def solve_bipartite_minimization(graph_file):
         logging.warning("Keine optimale Lösung gefunden.")
 
 
-test_file = 'test_instances/0.gr'
+test_file = 'githubtests/tiny_test_set/instances/cycle_8_sorted.gr'
+#test_file = 'test_instances/0.gr'
 solve_bipartite_minimization(test_file)
diff --git a/src/prob.lp b/src/prob.lp
new file mode 100644
index 0000000..5933c9e
--- /dev/null
+++ b/src/prob.lp
@@ -0,0 +1,29 @@
+\* Minimize_Crossings *\
+Minimize
+OBJ: c_1_5_2_4 + c_1_5_3_6 + c_2_4_3_6
+Subject To
+_C1: - c_1_5_3_6 - x_1_3 + y_5_6 <= 0
+_C10: y_5_6 + y_6_5 = 1
+_C11: y_4_6 + y_6_4 = 1
+_C12: y_5_6 + y_6_5 = 1
+_C2: - c_1_5_3_6 + x_1_3 + y_6_5 <= 1
+_C3: - c_2_4_3_6 - x_2_3 + y_4_6 <= 0
+_C4: - c_2_4_3_6 + x_2_3 + y_6_4 <= 1
+_C5: y_4_5 - y_4_6 + y_5_6 <= 1
+_C6: y_4_5 - y_4_6 + y_5_6 >= 0
+_C7: y_4_5 + y_5_4 = 1
+_C8: y_4_6 + y_6_4 = 1
+_C9: y_4_5 + y_5_4 = 1
+Binaries
+c_1_5_2_4
+c_1_5_3_6
+c_2_4_3_6
+x_1_3
+x_2_3
+y_4_5
+y_4_6
+y_5_4
+y_5_6
+y_6_4
+y_6_5
+End
diff --git a/src/solution_instances/0.sol b/src/solution_instances/0.sol
new file mode 100644
index 0000000..292ff76
--- /dev/null
+++ b/src/solution_instances/0.sol
@@ -0,0 +1,3 @@
+5
+4
+6
diff --git a/src/solution_instances/1.gr b/src/solution_instances/1.gr
new file mode 100644
index 0000000..6fd715b
--- /dev/null
+++ b/src/solution_instances/1.gr
@@ -0,0 +1,122 @@
+193
+256
+255
+254
+253
+252
+251
+250
+249
+248
+247
+246
+245
+244
+243
+242
+241
+240
+239
+238
+237
+236
+235
+234
+233
+232
+231
+230
+229
+228
+227
+226
+225
+224
+223
+222
+221
+220
+219
+218
+217
+216
+215
+214
+213
+212
+211
+210
+209
+208
+207
+206
+205
+204
+203
+202
+201
+200
+199
+198
+197
+196
+195
+194
+192
+191
+190
+189
+188
+187
+186
+185
+184
+183
+182
+181
+180
+179
+178
+177
+176
+175
+174
+173
+172
+171
+170
+169
+168
+167
+166
+165
+164
+163
+162
+161
+160
+159
+158
+157
+156
+155
+154
+153
+152
+151
+150
+149
+148
+147
+146
+145
+144
+143
+142
+141
+140
+139
+138
+137
+257
+258
diff --git a/src/solution_instances/complete_4_5.gr b/src/solution_instances/complete_4_5.gr
new file mode 100644
index 0000000..66f816c
--- /dev/null
+++ b/src/solution_instances/complete_4_5.gr
@@ -0,0 +1,5 @@
+5
+6
+7
+8
+9
diff --git a/src/solution_instances/complete_4_5.sol b/src/solution_instances/complete_4_5.sol
new file mode 100644
index 0000000..66f816c
--- /dev/null
+++ b/src/solution_instances/complete_4_5.sol
@@ -0,0 +1,5 @@
+5
+6
+7
+8
+9
diff --git a/src/solution_instances/cycle_8_shuffled.gr b/src/solution_instances/cycle_8_shuffled.gr
new file mode 100644
index 0000000..3173b89
--- /dev/null
+++ b/src/solution_instances/cycle_8_shuffled.gr
@@ -0,0 +1,4 @@
+8
+6
+7
+5
diff --git a/src/solution_instances/cycle_8_shuffled.sol b/src/solution_instances/cycle_8_shuffled.sol
new file mode 100644
index 0000000..5957c0f
--- /dev/null
+++ b/src/solution_instances/cycle_8_shuffled.sol
@@ -0,0 +1,4 @@
+5
+7
+6
+8
diff --git a/src/solution_instances/cycle_8_sorted.gr b/src/solution_instances/cycle_8_sorted.gr
new file mode 100644
index 0000000..3aac70f
--- /dev/null
+++ b/src/solution_instances/cycle_8_sorted.gr
@@ -0,0 +1,4 @@
+5
+6
+7
+8
diff --git a/src/solution_instances/cycle_8_sorted.sol b/src/solution_instances/cycle_8_sorted.sol
new file mode 100644
index 0000000..3aac70f
--- /dev/null
+++ b/src/solution_instances/cycle_8_sorted.sol
@@ -0,0 +1,4 @@
+5
+6
+7
+8
diff --git a/visualizer.py b/visualizer.py
new file mode 100644
index 0000000..3866f2f
--- /dev/null
+++ b/visualizer.py
@@ -0,0 +1,438 @@
+import tkinter as tk
+import networkx as nx
+import sys
+import time
+from dataclasses import dataclass
+
+# DRAWING PARAMETERS
+CANVAS_PAD = 5 					# distance to canvas border
+NODE_DISTANCE_TOP = 0.5			# distance between nodes (top)
+NODE_DISTANCE_BOTTOM = 0.5 		# distance between nodes (bottom)
+VERTICAL_DISTANCE = 0.5			# distance between the two layers
+NODE_SIZE = 20 					# node size
+LINE_WIDTH = 1  				# line thickness
+HORIZONTAL_SCALING_FORCE = 0.5  # Horizontal scaling of the force directed drawing
+VERTICAL_SCALING_FORCE = 0.5  	# Vertical scaling of the force directed drawing
+
+solution_provided = False
+current_mode = None
+last_drawing_update_time = time.time()
+pos = {}
+
+@dataclass
+class PaceGraph:
+    a: int = 0
+    b: int = 0
+    G: nx.Graph = nx.Graph()
+    
+    def left(self):
+        return range(0, self.a)
+    
+    def right(self):
+        return range(self.a, self.a + self.b)
+
+def empty_bipartite(a, b):
+    graph = PaceGraph(a, b)
+    graph.G.add_nodes_from(range(0,a+b))
+    
+    return graph
+
+def read_graph(filename: str) -> PaceGraph:
+    graph = None
+    with open(filename, "r") as f:
+        a = 0
+        b = 0
+        edges = []
+        for line in f:
+            if line[0] == "p":
+                a, b = map(int, line.split(" ")[2:4])
+                graph = empty_bipartite(a, b)
+            elif line[0] == "c":
+                pass
+            elif graph:
+                edges.append(list(map(int, line.split(" "))))
+            else:
+                print("ERROR: Encountered edge before p-line.")
+                
+        graph.G.add_edges_from(edges)
+        
+    return graph
+
+# A shortcut to draw circles
+def _create_circle(self, x, y, r, **kwargs):
+	return self.create_oval(x-r, y-r, x+r, y+r, **kwargs)
+tk.Canvas.create_circle = _create_circle
+
+# A callback for the window resize
+def on_window_resize(event):
+	root.update()
+	width = canvas.winfo_width()
+	draw_with_mode()
+
+# For debugging
+def log_graph():
+	print("Logging graph")
+	print(f"\t{graph}")
+	print("Single properties")
+	print(f"\t{graph.a}")
+	print(f"\t{graph.b}")
+	print(f"\t{graph.G}")
+	print("End logging")
+
+def log_orders():
+	print("Logging orders")
+	print(f"\ttop order: {top_order}")
+	print(f"\tinput_bottom: {original_bottom_order}")
+	print(f"\torder provided: {solution_provided}")
+	print(f"\tsolution_bottom: {solution_bottom_order}")
+	print(f"\tcurrent: {bottom_order}")
+	print("End logging")
+
+# For fixed node positions this draws the edges
+def draw_edges(lcenters, rcenters):
+	for e in graph.G.edges:
+		s = lcenters[top_order[e[0]]]
+		t = rcenters[bottom_order[e[1]]]
+		canvas.create_line(*s, *t, fill="#AAA", width=LINE_WIDTH*1.5)
+		canvas.create_line(*s, *t, width=LINE_WIDTH)
+
+# For fixed node positions this draws the nodes
+def draw_nodes(lcenters, rcenters):
+	hrs = NODE_SIZE/2.0
+	color = "#9fc0de"
+	for i in range(1, graph.a+1):
+		center = lcenters[top_order[i]]
+		canvas.create_circle(center[0], center[1], hrs, width=LINE_WIDTH*1.5, outline="#AAA")
+		canvas.create_circle(center[0], center[1], hrs, width=LINE_WIDTH, fill=color)
+		canvas.create_text(center, text=f"{i}", fill="black", font=('Arial', int(hrs)))
+	color = "#f2c894"
+	for i in range(graph.a+1, graph.a+graph.b+1):
+		center = rcenters[bottom_order[i]]
+		canvas.create_circle(center[0], center[1], hrs, width=LINE_WIDTH*1.5, outline="#AAA")
+		canvas.create_circle(center[0], center[1], hrs, width=LINE_WIDTH, fill=color)
+		canvas.create_text(center, text=f"{i}", fill="black", font=('Arial', int(hrs)))
+
+# Method draws a graph with the current orders
+def draw_graph():
+	canvas.delete('all')
+	root.update()
+	canvas_width = canvas.winfo_width()
+	canvas_height = canvas.winfo_height()
+	padding_to_center = 2*CANVAS_PAD + 2*NODE_SIZE
+	horizontal_distance_top = NODE_DISTANCE_TOP * (canvas_width - padding_to_center) / (graph.a - 1)
+	horizontal_distance_top = max(horizontal_distance_top, NODE_SIZE)
+	horizontal_distance_bottom = NODE_DISTANCE_BOTTOM * (canvas_width - padding_to_center) / (graph.b - 1)
+	horizontal_distance_bottom = max(horizontal_distance_bottom, NODE_SIZE)
+	vertical_distance = max(VERTICAL_DISTANCE*canvas_height-padding_to_center, 50)
+	horizontal_canvas_padding_top = max(padding_to_center, canvas_width - (horizontal_distance_top*(graph.a-1)))
+	horizontal_canvas_padding_bottom = max(padding_to_center, canvas_width - (horizontal_distance_bottom*(graph.b-1)))
+	vertical_padding = max(padding_to_center, canvas_height - vertical_distance)
+	lcenters = [(horizontal_canvas_padding_top/2 + horizontal_distance_top * i, vertical_padding/2) for i in range(0, graph.a)]
+	rcenters = [(horizontal_canvas_padding_bottom/2 + horizontal_distance_bottom * i, vertical_padding/2 + vertical_distance) for i in range(0, graph.b)]
+	draw_edges(lcenters, rcenters)
+	draw_nodes(lcenters, rcenters)
+
+def draw_with_mode(mode = None):
+	current_time = time.time()
+	global last_drawing_update_time
+	global current_mode
+	changed_mode = False
+	if current_time - last_drawing_update_time > 0.0417: # 24fps, but theres still flickering
+		last_drawing_update_time = current_time
+		if mode is not None:
+			changed_mode = True
+			current_mode = mode
+		if current_mode == "input":
+			global scale_h_scaling_force
+			scale_h_scaling_force['fg'] = "grey"
+			scale_v_scaling_force['fg'] = "grey"
+			scale_h_scaling_force['state'] = "disabled"
+			scale_v_scaling_force['state'] = "disabled"
+			scale_node_distance_top['fg'] = "black"
+			scale_node_distance_bottom['fg'] = "black"
+			scale_vertical_distance['fg'] = "black"
+			scale_node_distance_top['state'] = "normal"
+			scale_node_distance_bottom['state'] = "normal"
+			scale_vertical_distance['state'] = "normal"
+			draw_graph_with_order(original_bottom_order)
+		elif current_mode == "sol":
+			scale_h_scaling_force['fg'] = "grey"
+			scale_v_scaling_force['fg'] = "grey"
+			scale_h_scaling_force['state'] = "disabled"
+			scale_v_scaling_force['state'] = "disabled"
+			scale_node_distance_top['fg'] = "black"
+			scale_node_distance_bottom['fg'] = "black"
+			scale_vertical_distance['fg'] = "black"
+			scale_node_distance_top['state'] = "normal"
+			scale_node_distance_bottom['state'] = "normal"
+			scale_vertical_distance['state'] = "normal"
+			if solution_bottom_order == None:
+				print("No solution order was provided")
+			else:
+				draw_graph_with_order(solution_bottom_order)
+		elif current_mode == "force":
+			scale_node_distance_top['fg'] = "grey"
+			scale_node_distance_bottom['fg'] = "grey"
+			scale_vertical_distance['fg'] = "grey"
+			scale_node_distance_top['state'] = "disabled"
+			scale_node_distance_bottom['state'] = "disabled"
+			scale_vertical_distance['state'] = "disabled"
+			scale_h_scaling_force['fg'] = "black"
+			scale_v_scaling_force['fg'] = "black"
+			scale_h_scaling_force['state'] = "normal"
+			scale_v_scaling_force['state'] = "normal"
+			draw_graph_force(changed_mode)
+
+def draw_graph_with_order(order):
+	# The method reorders the bottom
+	# Assumes that order contains the correct values
+	global bottom_order
+	bottom_order = order.copy()
+	draw_graph()
+
+def draw_graph_force(recompute=False):
+	canvas.delete('all')
+	root.update()
+	canvas_width = canvas.winfo_width()
+	canvas_height = canvas.winfo_height()
+	padding_to_center = 2*CANVAS_PAD + 2*NODE_SIZE
+	hrs = NODE_SIZE/2.0
+	global pos
+	if recompute:
+		pos = nx.spring_layout(graph.G)
+
+	minx, miny, maxx, maxy = float('inf'), float('inf'), float('-inf'), float('-inf')
+	for v in graph.G.nodes:
+		if pos[v][0] > maxx:
+			maxx = pos[v][0]
+		if pos[v][0] < minx:
+			minx = pos[v][0]
+		if pos[v][1] > maxy:
+			maxy = pos[v][1]
+		if pos[v][1] < miny:
+			miny = pos[v][1]
+
+	deltax = (canvas_width * (1 - HORIZONTAL_SCALING_FORCE)) / 2
+	deltay = (canvas_height * (1 - VERTICAL_SCALING_FORCE)) / 2
+
+	newpos = {}
+
+	for p in pos:
+		newpos[p] = (
+			(pos[p][0]-minx)*(HORIZONTAL_SCALING_FORCE*(canvas_width - padding_to_center)/(maxx-minx))+NODE_SIZE + deltax, 
+			(pos[p][1]-miny)*(VERTICAL_SCALING_FORCE*(canvas_height - padding_to_center)/(maxy-miny))+NODE_SIZE + deltay
+			)
+
+	for e in graph.G.edges:
+		s = tuple(newpos[e[0]])
+		t = tuple(newpos[e[1]])
+		canvas.create_line(*s, *t, fill="#AAA", width=LINE_WIDTH*1.5)
+		canvas.create_line(*s, *t, width=LINE_WIDTH)
+
+	for v in graph.G.nodes:
+		if v <= graph.a:
+			color = "#9fc0de"
+		else:
+			color = "#f2c894"
+		canvas.create_circle(*newpos[v], hrs, width=LINE_WIDTH*1.5, outline="#AAA")
+		canvas.create_circle(*newpos[v], hrs, width=LINE_WIDTH, fill=color)
+		canvas.create_text(*newpos[v], text=f"{v}", fill="black", font=('Arial', int(hrs)))
+
+# Reading command line arguments
+graph = read_graph(sys.argv[1])
+graph.G.remove_node(0)
+
+# We keep track of the order in which we draw things using a dict
+# Key: Node-ID, which starts at 1 (!)
+# Value: position, which starts at 0
+## top_order technically not needed, the top is fixed
+top_order = {}
+for i in range(1, graph.a+1):
+	top_order[i] = i-1
+## bottom_order can be different between input and output
+bottom_order = {}
+original_bottom_order = {}
+solution_bottom_order = {}
+
+# We save a standard lexigraphical order
+for i, value in enumerate(list(range(graph.a+1, graph.a+graph.b+1))):
+	original_bottom_order[value] = i
+
+if len(sys.argv) > 2:
+	# A solution was given on the commandline
+	solution_provided = True
+
+	# This assumes that the file conforms to the specified syntax
+	with open(sys.argv[2]) as file:
+		counter = 0
+		for line in file.readlines():
+			if line.startswith('p'):
+				continue
+			ID = int(line)
+			solution_bottom_order[ID] = counter
+			counter += 1
+else:			
+	# No solution was given on the commandline
+	solution_provided = False
+
+root = tk.Tk()
+root.title("Pace 2024 - Visualizer")
+
+width = root.winfo_screenwidth()
+height = root.winfo_screenheight()
+root.geometry("%dx%d" % (int(width*0.8), int(height*0.8)))
+
+root.bind("<Configure>", on_window_resize)
+
+tk.Grid.rowconfigure(root, 0, weight=1)
+tk.Grid.columnconfigure(root, 0, weight=2)
+tk.Grid.columnconfigure(root, 1, weight=1)
+tk.Grid.columnconfigure(root, 2, weight=1)
+tk.Grid.columnconfigure(root, 3, weight=1)
+tk.Grid.columnconfigure(root, 4, weight=1)
+tk.Grid.columnconfigure(root, 5, weight=1)
+tk.Grid.columnconfigure(root, 6, weight=1)
+
+canvas = tk.Canvas(root, bg="white")
+canvas.grid(row=0, column=0, columnspan = 7, sticky="nsew")
+
+canvas_legend_a = tk.Canvas(root, height = 40, width = 40)
+canvas_legend_a.grid(row=3, column=3, sticky="e")
+canvas_middle = [int(canvas_legend_a['width'])/2, int(canvas_legend_a['height'])/2]
+canvas_legend_a.create_circle(*canvas_middle, 15, width=2*1.5, outline="#AAA")
+canvas_legend_a.create_circle(*canvas_middle, 15, width=2, fill="#9fc0de")
+canvas_legend_a.create_text(*canvas_middle, text=f"ID", fill="black", font=('Arial', int(15)))
+legen_label_a = tk.Label (root, text="Fixed layer")
+legen_label_a.grid(row=3, column=4, sticky="w")
+
+canvas_legend_b = tk.Canvas(root, height = 40, width = 40)
+canvas_legend_b.grid(row=3, column=5, sticky="e")
+canvas_middle = [int(canvas_legend_b['width'])/2, int(canvas_legend_b['height'])/2]
+canvas_legend_b.create_circle(*canvas_middle, 15, width=2*1.5, outline="#AAA")
+canvas_legend_b.create_circle(*canvas_middle, 15, width=2, fill="#f2c894")
+canvas_legend_b.create_text(*canvas_middle, text=f"ID", fill="black", font=('Arial', int(15)))
+legen_label_b = tk.Label (root, text="Permutable layer")
+legen_label_b.grid(row=3, column=6, sticky="w")
+
+button_force = tk.Button(root, text="Force layout", command = lambda: draw_with_mode("force"))
+button_force.grid(row=3, column=0, sticky="nsew", pady=5, padx=5)
+button_input = tk.Button(root, text="Input", command = lambda: draw_with_mode("input"))
+button_input.grid(row=4, column=0, sticky="nsew", pady=5, padx=5)
+button_solution = tk.Button(root, text="Solution", command = lambda: draw_with_mode("sol"))
+button_solution.grid(row=5, column=0, sticky="nsew", pady=5, padx=5)
+
+root.update()
+
+def c_distance_top_slider(event):
+	global NODE_DISTANCE_TOP
+	NODE_DISTANCE_TOP = scale_node_distance_top.get()/100
+	draw_with_mode()
+
+scale_node_distance_top = tk.Scale(root, from_=1, to=100, orient=tk.HORIZONTAL, showvalue=0, command=c_distance_top_slider, label="Horizontal distance (top)")
+scale_node_distance_top.grid(row=3, column=1, columnspan = 2, sticky='ew', pady=5, padx=5)
+scale_node_distance_top.set(50)
+
+def c_distance_bottom_slider(event):
+	global NODE_DISTANCE_BOTTOM
+	NODE_DISTANCE_BOTTOM = scale_node_distance_bottom.get()/100
+	draw_with_mode()
+
+scale_node_distance_bottom = tk.Scale(root, from_=1, to=100, orient=tk.HORIZONTAL, showvalue=0, command=c_distance_bottom_slider, label="Horizontal distance (bottom)")
+scale_node_distance_bottom.grid(row=4, column=1, columnspan = 2, sticky='ew', pady=5, padx=5)
+scale_node_distance_bottom.set(50)
+
+def c_distance_vertical_slider(event):
+	global VERTICAL_DISTANCE
+	VERTICAL_DISTANCE = scale_vertical_distance.get()/100
+	draw_with_mode()
+
+scale_vertical_distance = tk.Scale(root, from_=1, to=100, orient=tk.HORIZONTAL, showvalue=0, command=c_distance_vertical_slider, label="Vertical distance")
+scale_vertical_distance.grid(row=5, column=1, columnspan = 2, sticky='ew', pady=5, padx=5)
+scale_vertical_distance.set(50)
+
+def c_node_size_slider(event):
+	global NODE_SIZE
+	NODE_SIZE = scale_node_size.get()/10
+	draw_with_mode()
+
+scale_node_size = tk.Scale(root, from_=10, to=500, orient=tk.HORIZONTAL, showvalue=0, command=c_node_size_slider, label="Node size")
+scale_node_size.grid(row=4, column=5, columnspan = 2, sticky='ew', pady=5, padx=5)
+scale_node_size.set(200)
+
+def c_line_thickness_slider(event):
+	global LINE_WIDTH
+	LINE_WIDTH = scale_line_thickness.get()/100
+	draw_with_mode()
+
+scale_line_thickness = tk.Scale(root, from_=1, to=500, orient=tk.HORIZONTAL, showvalue=0, command=c_line_thickness_slider, label="Line thickness")
+scale_line_thickness.grid(row=5, column=5, columnspan = 2, sticky='ew', pady=5, padx=5)
+scale_line_thickness.set(100)
+
+def c_horizontal_scaling_force_slider(event):
+	global HORIZONTAL_SCALING_FORCE
+	HORIZONTAL_SCALING_FORCE = scale_h_scaling_force.get()/100
+	draw_with_mode()
+
+scale_h_scaling_force = tk.Scale(root, from_=1, to=100, orient=tk.HORIZONTAL, showvalue=0, command=c_horizontal_scaling_force_slider, label="Horizontal scaling (force)")
+scale_h_scaling_force.grid(row=4, column=3, columnspan = 2, sticky='ew', pady=5, padx=5)
+scale_h_scaling_force.set(50)
+
+def c_vertical_scaling_force_slider(event):
+	global VERTICAL_SCALING_FORCE
+	VERTICAL_SCALING_FORCE = scale_v_scaling_force.get()/100
+	draw_with_mode()
+
+scale_v_scaling_force = tk.Scale(root, from_=1, to=100, orient=tk.HORIZONTAL, showvalue=0, command=c_vertical_scaling_force_slider, label="Vertical scaling (force)")
+scale_v_scaling_force.grid(row=5, column=3, columnspan = 2, sticky='ew', pady=5, padx=5)
+scale_v_scaling_force.set(50)
+
+# log_graph()
+
+k_c = 0
+turtle = r"iVBORw0KGgoAAAANSUhEUgAAAZAAAAFUCAMAAAA9GJpcAAAC/VBMVEVouv/LjMrUAE+Y4E////+Q0A/ewnlov//DesKrl2TcsduRh0/Wo9Vox/9oyP9oxv9o0/9ozv9ozf9oyf9ov/9oz/9o0P9o1P9o0v9o0f9ozP9oxf9oyv9oy/9oxP9ow//+4EFowv9o3P9o1f9o1v9o1/9ou/9UZgpowf9o2P9VSxebDw9owP9o3f9o2v9ovP9ovv+ljx5nW37w2Zto5f9o4f9qm2ho3/+3AFmh1A9o6P9ouv9+wg94vw9yvA9o7P9tug+Hxw+DxA9puBBhsxCSzQ9lthCVzg+Oyw+Y0A9ouP+LyA+xnF5o4/9WaQub0Q9WURWfDhT9/v9arxCJfVBWXBFYTBnSAE2e0g9Zbw2lDBvt1ZdwZzjPAUnKAkNjghTp0467BzKyCSn4+/9eeQ+f0w901v1lWRh2zP2z5f+plWLDBDuqCiThxoDlzIjDAFX22UCE1v9bUiBnkA2W3E3MAFJZZxbYvj/S8P/w+v+gj1xwZRrozT6Ryg7DgMVvng18bkOmk16k4//IisWS1kvn9/9zxv/bv3afGhyW2f+Sfh3E6/+UiVFnWy/d9P9rjyHAd7dhax1pcSJ1oCvVt3PLs2y/ireJdiJ+bhnHrzS3oC9bWyqWIBCUyBucsjqBsA2jKiJ+sTWpoFaqml6Zi1SThFWmgo6OzkWeiSNxPRuL5P+bqeCtBUKcjFjnyKN35P+jqEu0g6qmKj+fxu2aenuBw/F0eieRPxGzvOaKzPmvkNCuoNeHwT7ArVy8ZqCAgDaQd23ZrdfKtd+wl3H16PWZviuBb1WlfaBlj12TkTqFNCzr0erCls2Iz1fNpsVfgUzivuGNtui2WIeTAWbQqNXZr8WvRGWpQC2/bkWDbZJyqGKK1TTQm2PeuLK5pWnGflKxYEB/ulrBn6xacj22lIas0jm5j5/RmNCgmUeJb2OcGESKgUSQkw+90leczifW13WJIBKngVaa0R3PlcK0UTJ/3HPOobi6D0F74JB24qlz5b5m1+fDCkOQ0A6h1Q8bxnsKAAAACHRSTlPw////////8LoeXekAAD3vSURBVHja7J3NbqPIFsfLEtK1RkmcdMd2bCe2nI+RW8rtnv0s7+4u6xWQULFkB5ssGIGEkHiQeHll6drejbKbLDrSvMN9jcuXMYYqKKDA4PAfTSdWWkmnfpxz/ucULgA4mv7F/lv+o/kC/y5Bv1PpVyr9oNNv7n+pf4tK11R6ptKCSvO9QLM5UNKqPweWQFoODDiwAVJXFNWTYIEiP5A0AC2H7BxszVyBNh6yg2CJwecQCDAj8XtbJPJExIweSFusK+SQAKTlcAwOvqZT0JqmuqDwBFoOteAQCFTM4Xp9XYDD9clySAfyKzUKHek6FQy0NjlPsqEbMuQ4aK4bUCRYopimCRSMiLXirjDkzTQoJuT2gtzuFVRpKPxofLGm0mQyAUUy069rfr/GPG8m4BA5ohT9ZE3TjJpDIFCkSMhc+Kq3w8T4sV6bO0hwHzQ6zyUI6qfoX7OSoAKSnIQ0zNqGP4fQrhBrWVEglyzlVCpEfg7JQOgMk8ilCpoRSASJJ2uaaDmQgGRoE3SOoRbX17rokBOfddGS18fPTJlRTIqimPQcgdz9nMISiLizB9CLJ16vkoOuhzAgTcevPTJE0chqmmg5BAJ5+2iTJQ8uXvT1qkJiJrs/T5M105jMpt4rKKvogIa4u2BkQ+qVQqIgEKYJCyetqiKRcGXxxtSBoZtR26KhAhzwIIoCMcoGYoeIqigqicMzo2I9R0mexF763tTCfcFkEw8xnWcHohuiLItW6UCQHARKmbZJzvnPk5ij8AQyDl/X0LtyIFeRSjZNczFvSj1nyiEQyDQER0p1JPzkULZ5zV8MZZYcaIDEhhm6ViEI3p9zld7R6bn9u5aHBBkFAQh5zmdxVYaHbjg/TK6iszYghOJ0qmX+/SR2HHxdXADavQhdqTRVrW0C9vLoVU44Jr2pngmJeK67a12Uw0VIgG5b6FqsFIc8d0NCny8qH4NndF1y0YiIClBtzy2qLeW7Scai+u0IOwVlQgItNhxSgEQme2YVFCwfumXMj8EhLMmkugBt36HyEhsORCDxmfcPs5qwMOe6oa5JcVHpGHw2ncxUbM2E0t5pKhcOiQkzFBcXX22B1G2hqloPO0/ZdWN25O2IwDRNe+c6Qrp+ca6GYsKu3+5LRTV0phwCgZQ9od8qig+xJhyipbnXm0wCQyPaqclPT73zC6Yc6IA8Pz+vK+kC5SBP1QZFWIaTvhSxlIigARIasM4rSFeGPpvVkkOoWOtIP++VyQEHBLPxoDMf6spIn+vhWbGGaszhYMlL5XC7E0jaKWWdr3jT9VCL5/lsKlqapsnqbDavhsSE7YSjBBQ+kISNOdbhAQ/m3k69sPHUMyIKczAshVc0EdFySAdyzX54ZTQhORUlIUFoqaJzs4ZXfmWJFgUJiD9cZb9pbp4OB8kykfvJLTLQRWipv35VIjNjCHl0wOEOoS9kHneAdOMAc3slnko8SBdut67Yl757Z4Ho03DuoVWwW/SK5K02kpAku1uuiiweYNgLEHasc9/EYBmGZEDMDRxHJRFG0SuUmqTQ76bxnlWRNUVOunvZjhJDis1ijAgKHwh+g/Q5HxDeDoPF82I2Ew/DVpEcM1VT0zTJZJpwyw1p0kn87xh3GBGAzKd5tjTXoSiQ/JkLLxtoOp3P6mdeSQt/m2Reb5neWEMDZDdOWqgws6udhlztwklNzj1+s0abpphEZubTXl8xgmQ8HgPihvUs61hxfULmNUlM7Y419jgEAoStoKxVnVfUE+YQdra3Mlv3qY7HNEDmWdNhapkoyzRVP+Fg3Q+kA3Hyju+gab9pwzncZZlwsB4pGSQgB12bhyL5zYF7f3XiE79DjZnfTiCNx198AeK2kGV3O/pMovqOvVMo1jSTJk8SayJQ/BIASRn3LRDlneCfgMO+rw4RUZGjwllMTAfiX/CL1MsBmp+FQ6hhMHd3obie9e6ucHeikoFEqsE87fZKeTI9Boqv5RWJBBIBkTvR0mR1186Nx4WJ8FIECNknJRLBxkevkcWagkOkrQ61dF+QwXsxg/KVGAjVK1uAqpsjj1EUKRQfn4UDVldXkvPWsivnc/XAnFqUb+OwqID4t/IZWsBEs3Y/jpfPfRzH2imtBYpD+bVAkjWF53lFUyT/haKl3aE6SAASTULTSQ9JqigaqOesv+5Yi96k2RFRBodAV/5H8Sr8KnkgpeGAkOuzOxzZJ6fJp01OKSjwuvKVPEQ3+uA0+jmWHO7K4BCW5J9CoMRri9wHLYcSMOA49MMvBoIk9K/6IzXitIQ0INWTaDiKKyr1+96ftoxwmPB9ApCWQ0kc4hr0+3skwh7ItM4cbk+Pw4F2d7JIg8EAtEXimCi8IBkMnOGkJgwcIC2HI3IIyTS8j6A1r0flEGg0SgDSnDF4k0iQUBwKtKapFhzsCPEEWg7H5DCKCTR26DduWJFIRZECpDVNlXIgAmk5HIeDqxtb4FMN/aonkQGFJ9Ca11pwoATScigtNZEEGr5T2rwikSJw4ttCTeFg69IVqA+Kq7IjouYofCCnXyQawYEKSFshquOQDOQzj8FLJJGCIg6k5ZCRw4gdh8vLoSfQcjhKZopg2Au0HV1dUKQBaU1TlRzIQJrNoe4VIkUPDw+gzij6zTdNGVB4Am2xrgUHWiAth2wchnk5pAJhQ2L86U0TPQk8kNa8HomDo0dHoDWvteAQCHzeIjHIQ6JEFBRA2glHKodHRhwSgeTjMG7NawEOeCC5d0pFjoNGWyQKkXh8cgVYZCbvPVnqZzFN/Y/lxtEHYschEChcJPrS7gk0Jz9sukEf25duWBuUH8UTVqBYsTZ2Z847jyw76aHfDVp2cVqy4ZAAJItpOnibtXICpolQItDmpUvShgkHX9++gawkBElSTdPkONNe8Mib3k+yWA8+Nt1ELRmh8AToO+vRwfMWIeQH/fCh5lLzOcRd02jZTdeQAYdAgLKfG+CO/xfCx6ipJ2deh8uXLo02mTHEOaQDOawFMv5pdwKex02DijVJl6tNl1aoQESkAcF6pBHpSKHBQNkVkIaZpjR9dDNoW5xDFEhy70A84sledUk0RgPhVDj45nXZzabiHPZAKJo58qG0HoADFIPjkUCrj+X2vePpfbtcoUwkgj5i9ZKRR3fJAkUSEBVCKA880zRKOJauPsV6te1g9ZF51HSZNTxsvRTmkAhkdziN5S63kHD8e0UcVFNNykwkGJ62GSdNOXh0u6tvrARirXU/ZJ0M0bI4nnxieRVj8KE7DtBIdSGZhiuUYdJ0mYtHt8uCxXdHIN7OWSnPstp/qYLtiFfFn5a9YnksOzQa0U+aNvl4dD8KcggEYmZVoD/SPwHEIA8H98vD16HozvMl+/rfHxItYkwTHQ47a9FOmh623bwqhiEBiMBTH1ZeQrGWQicQikPhYT8KMGL2ddWh1gPlpGmZm0d3s19rAa2WoUh7+RCoUBCA0D/ySmBvmrRorgz+NXzUvA639DwwIYLrGrJ1g7F23V5r9LF5wXnmZSoHDBD7YpdEmfqQfyixN68y+YGVUZOEOpmEaEZNq25pWn3/ngGIm3kunSOXKR5Zyb/6R/4yQyEIbh4SBEy2hE7MKOrDY4THqpNR6aOmb6g8Hi8beiBeIRAoD/DntMsb91kmFqsJh2RT4FWTFJmSILgwng54bLPy6GxTJ00P3TKVCciNRIvD46DynMhi1oQQulHTnqYUCw67QGfn0emsUoZN319KBbLMAERIrRtBIpNZ7ZReoj/PPP1MdHVwzyOox8P3Th4JyZOmDZN1/4Pn3jrYpEVF4/7+HoxU+ofAGIxmrzf/PQvpr6QAidsj1Mmn96RJUxHDG5L3q+A7x2QOgQD983k0IQHCKMMY/D9nh3rDeQdDeHzizXjfsOrk1TahTWNisP7nBzv+q/dpKHwglD4XmkNG2xGXf59FFf9p1uP3J1wb95CfR6dDHm88McDxM0jsv9gZKjlE7skCdDwkZttCq7O43qLlSiW11ctOERFnssUL+s/watl1Ef6BMVr3FCIBMYVLVZZFO0uJPC8PWb1x6xHH4+yXSHy8EiYc37adYhLwPAoX9LNw/8Y7VxV8ixutVBj/tEUAIvsr7//P6g10D+gMq93v4wyaoUqccLx3igrLI39B77z9dD5giyBm/pjAIVAUCFQNi7Mktm9kDHSD5+EbLUt4fBSeyBOO4jw675ixKypkqt7wPLi/MPdCkDGQgZjhqGB+T/6fBCBnkiCpr8mzpmGHheJW67Fg3fjZweYYXFkaJaLYA7Gj4v+8nd9LHFcbx1c2iAx78f4NJuGQBYVQjViMuLoaw+IoSsRBYQJOtL1oIJ1FEoKuxH0Jr+HtqpvXCl4svhdusKAEzctuYqkVMb5YSQvmRsiF5EK87n3pOWd2fp05c+bM7my+0BJtVJiP3+fXOc/06r+eaP/7z6ruRnzjxiOyfb3RY9R0tSYY/UQOwctO6DMlK1zY8jn+7K+/0kf0Dd4KDT5+VHKEc0Mr6B2VU1cgp1c9Rk0TNUGJGLxWkEA0BBczJo4L3I5cuI/oOYAE7AjGUdA/ipEIwyKsSVPZ7Tl1FG/lUUFHiECMH0ODaSXJwfiBp9lmGrY8gVSdg6kIS9dYk6Y3NUHKwmOikmJXKNVSiMwgV+RD6f9JmUCoj/16BbtCjokJaRH3PjpYHrD4rTyBENGL5/vM6EO7DX9AqrDIqCnC1jVXIH8EzKPmN51HMCNezkGwmWrc41ZLS6gaHKhVUsEDSMEFR/1PNYHrXcUJhLuHF45/1+xjaebHnRwMharMwQQSiZRnkSrwgMUv4vFNlS1xfDBoNIkztsPxZ1tbG98+fvz4260WUqHqo8C6VvAEsk+9vuTFY255+fX63uzYoggMTY1dri8vsye/jY311T0jtM6wj2dcx7YbfECCXWREiTniLdrojzVOXD9cMjBYcKCP8IeLY+usdqSaCeT4oIb7mOkZE0iQJCx10/UCB5BTpz9ceMytHy7aACiKrKoAqKqsSHY2YzsuVuG7hLXwfmfn8nB2dgxp9vBy573314xfOb7iSz9sOIBcC9wShCI8KnL5Y/nQeNqSok7fvXv3zp073d29vTFRTCQSsVisEyonm2RmqUw4aBwCmvYW2F92xb8GDSShqmLQdbXABeTUft2ynjLeXR7TH7OcmB7p7+83efT2JiRRkSRJFFHI0v6tW2hs2TeRhSXtSyVFzmSya1BZWSolqR22Q8og8qSZB0hAi4w3rkX4tG27cOnwx9xe6RHLudbWByMOHolOoKiaUmpKE/yzrOWYvTlfRJA7pGwyTCqdxVQYSGYOrpSDZMsdSFAcDB7bnEAiViCkP+bGNBrKSCvUgwdOHgkVdOJ41dnW1nYbqR2po71D0bL8MjeRBYQjHXYRQjzFCFwC5Z6At7ZIIEFz8JlBcHdo4LjxGxWHkmhtdeWRkKRYCYcOBCPp6OjoiitarLF9U9fC9z38u7thdyUz8C+se8/m/XmkufnbZ6FAtt2DMggsfek85i4xjlRrK41Hd4lHDMgxg0ebjgPx6Ojq6uqRcUrY4SCyA+2RDDOVlphhq66sqAX/CVWPQxkGgd0hNV69xjhyrR48YsDuDzsPKBV/n3WvoAXThxz2FIyCC+zBbjkKVZGDLh8G0S1i5zGrueMvC48RGg8VlHgge5D+gIrH4xjJ1HsmEfjjsmx3ZDOZfDgMPeJ5fBUEkBsBCkefiC85eMxNoYeYaG314hGTQMkfbVR/QB7xoSGcS5aW3YmMETx2YaiT8kRKh9ksHGYGLaFSIEFzMFT0B6RI8sAFUisHj5iomP6g8hhS7g1EkQbAoRuRRQDWLE8/r1XaouVTML8kkwqQwmssixDzRG4gVeNgKOJTWj7/89Pm6FdQD7VJVYqDRxtImf5oJ3mkJI2FroHFUuCy3TFcmLKXV/CZZ2H1m3am+LU1ZJH1gFv2oIC43+y+UfQLBMH4StdDLX0AcJfOY9rCIwdum/64beehQgTDkys3df04GR2OgtdkqQWrB9HafSTZ1ZYExrxObL8sEJ6dh1O/PDZLLO5/V1v7vJQ+ckDy4tHZqQA3f8Qhjqc3CU3CTy7O2Yisw59mA5ABeWZ2Z8Ys6yEhod8HAwXSyK/6CX84NBqjDyEMqJeIxzQCoZSKXgaPTiC65A+FggNpBQYuPOQyyyuy3GXygAYC/FewLRLc/1OoaijKMMhHnDVGNRhQz9GM8IFmDRGMePBoAyq9vroXHX51k66nEMnhnEYEpY9s2J9EZnPo8tgP5pw3tP0BIR/y9r4gCPtFHh5+DIJxGDSg0BSvv5Q7cNDSB4pUHjiFUHlM3nQXDFz31lFi34M/LO+TR1hhJxFYakWI2e9gxAiQb7ee2V5jsvXCAwj9ERcRDU0T3kAKvoLVfSuOWnQGdceormDQ0ht0g0evhUebCqjxaooergzND0cHZmtewx+mJP3ygC3JFMf9n4sDa7CybK/3NfVt6G8WHe+DH229CPmMTBOCVd5AuHmgWFVr0/8gjwdm+zECwIg7DwgE5nSqPwger1ZK5e/AvBm3UK5aC/tXBojc226D4wfklfhmCKGpr2njxQ9X/tmH1NQU8pchtm08hG2vRUZeg3wighXU//V8risBFBaPNlHi8MfTYcRidXX1e8xkEkOZh42inCyDB3TIYkXL0n0lDE1bfSWF/OTqhoKdh7DvscjYyB+uCHvU/gzzec7KY2REBilXHqmUClSSR1ePbMsf8zBhDH8+ulXSh1XslBVYOpSHYzergNmKLkM0a0D6TIX8VEyEP+wxi7YbtM3N4z7B46V9nKgNeGFL4uABWSjGSW2K4BGPDlhiFQxV398i9Bl+kme06yh401ltprJXEZC3JA8/QOonHDyEAnuRkZvHQ4IHKrDUVvsAq79/GohWHrGUop+aK6lcewcEI6asPHqiUVuFu3pkg3G0iMaWyq5vY2Rk/HMzu3kRLFR2X2iij5Afh+w7gQhMIMWyecCELjp49N9NAbG7xCOn+UKU1Zx5/qECIMVNHlPReYMHdIKO4+z8JImbOvRMGWMR+M0kRZHlTEnmFSMlk03zNIYcMu3R5BNIfZHCQ9hm7DHWczWFHyk8YALBfSB5INWvIiLTvQl8rCGq5IFtezvEJOk8UpaABe2h0TgxE7KUDzNSxy6+vWKRJKH7J2vWL8lXDuQPI69r4gUCE7RAFWORcYKz3iXzR22t7XjQdkCoAGm6Fx1IqDmzvrKeD3bB32xZGygOmAFrOPoB0TgPByvZqy/ksYhdIZ4XomgJmg6k4LrI2LjPGbBqKQFLpfPo7saRSkoZF+LMeaKe0FMo//T0xOXoiukPzCMZMI9wpTkd53VOII4oJLio0W3XoZHTIN+RPP7jOJAyeXRPQ3vkEk4e1nl7HDGzVFiaP84qffxJLVwluWeLnHmdCcT1JQMFNyD7bjwKfB0h2YDgkfu0K4/eHFATDH9o+SMlgntGRv939HMg4SqrX4O0nF4F8bo5OhCPtz40Cq6acCFSbgb5BSYBdx69Ioi5+cPgAQPWkFHyzuPuI4j0sZuFtVY2mzYLsb0AgNS9sQHheSEKzBAFdyAuFtnmBEIziDuP6U6gePoDSYq+MhKItbhKrmVkOVt+2LKnkIUggNRxA7HEH4GhR+Ub5KMTyJL7BSzUf0iAwx89cTODPEUJBP5uy4p1T8H9mmjAo14evfMGQu7AFVhA9mnLi8VIeSnEltGdPDqBzOGPeFyN/qgbBAYsbXVBzmTX8kn9JmjFPNIeVxzKy+shnheiNDQITBUpX8HVFF5sOlKIaGkJnTwSEojx+CNuZJBJGLDOd/NkxZu3XewpS2JQBimVvl9jhTzfhuJpECjHQmkzV1N4UTNKFL3PYY+u0HngC9UxIPH4wzTIq+jqWZJ2Or4GspXxgCZ7HxSQujdf6wo18MiDh1AgdntbWva5eNQ4uhDJLHkJHvjAVgVtPP6IG036QPRI7xmS5C84u09MJtMnJ+fn52dn5jjy7Oz8/OQkjW5p7QJwGeCbln0Badn2AiKQy72ec96Pm5uf/nQC+dkcKlIXDpBBOHjIeg8yH129VWoiZEcKcJu6n5zd8tQHUNnRlGOk5cshnjyEfQJIgQ1Dvwa3SQJZMi7xUnkopYUcDx5DAwPWDKKVqLvhXYkokmi+OPeGcevo6DMAS8Hu7TbzA+EwCOwO7UDYlS6+7DOKL5nYgbw0DEKLV2hjLRbj4GFkkHk8403jiJUWxTXCIoqjcLI/9w9TwFUB86h758MhAo9sPIpsHMbNq1ECyC96D0JfAEEZhL0AEscySqzhKH6yYRzys84+gghV1pDEYIF0WRe0WjiBtDRvcwEpWoGcMu/6WAgQQPQehOChH9gCKWZdAHHhMSTrBlnBQyw85s1QLpXkwYeTNM0dGo17q2OXO+8X6r6Q3noBMZ6uwKdmk8cEwx72RtBe9v4XAPUv6gVezCMFbnd6LoDEh4aiw3aDIFHbDgloB4jpZDJpJPKjKe3tHF+MhNEd0oE43obySBCOx/8m7ux+mszSAC6YmED2j+DuJOfNXpjA2pCZrHYy3myoVGi77VAQZKaZtjNoEZix1RY/sgTDirprSyELbgYtbFci44q7a1g1xlHMjrPEwbmZLNHEbMxc6M3uhTd7nnPe7/e87XlLrc+F8h14f30+z/M85+C9skBulo15r1p7fQ4YTgtvsJjXbuDA4ymvHx0GBXmsAhlGp3ituY/N/nqadS5cFNkrUG0xAdllI43ynojvhL3Iz23Vw3o2+Lm1rGijH3vcaNBWPz5Q/UdHh5qDYL/OQXP74PoRxtM6KM9hBh6AiG16qLL8iQLZVUoW4bYVpUVYQEVaqNwUbIUzyx/pQaEdD3Vg7f3SPDqUg8Ik1r/+uTbrEkqwLkbaj/LAh31d+NIRaG/45l0QKQvkjOEWw/KhL+PRItgKt4Nb57UdACExr4D/6NDOQfRNWNPYx60mouGGo/Nd2lhVZwO+QXsXYMnAyVoD+RsXyNIXB0/TVShLphsmy9qsu4zHX/mN7QfK8YC6IrLVD/csG1grqR+EyKDSO5pT234e+4kKdHJt1gUUbaDSCft+5skb/naqOuR3yZw8/g78ugnIp1+cYQuDdlmviH4kqCJPuJ3Un5Xl8Xs6S2jDY487iN5z2/uPvbJ+dPiUgyksh1gPyAu/izxpbqXkFPpHg1ESWDuvvV5rIMd/aQSypFspYJkm2f9IIPQl8kmFPHb8h1isfmQ7kAPzUXbxlWywqAeJKB6EKsgD4iQ6o69fv55PIn47nAnIBFZYEe9+7lqNifzFCKT05S4i2SHPpUN4tUNAiC/9eB8a5Da4v58OyhaLpx97Ff8BCkLLioXxhYW1tRlJJzO8wJe4iz8bgcxj7Qid2K37NVYRI5CSPB4JZYdWly7KA9L0j3/djzjxrrylqiQPph8deGFOTyEU7411hwOBwIDLZS1dUbcekaSnr3VE8CXDmQeqbYL4Lz2QxVLXQwvxaPy65WurvfpIiMdvYPHSvmMobeQx28MWZL2XRoMl7VU6uSJrRKgPKNTLEqD/DrlcEcQ/ZwrRb5pTqECYZVgbUFsl0QFpWVRvgLJeT/KdaAHlSYU8IAtJ79u3z4N0PNzQwxsclAdykJ1+pHMrij6oHMzicr3kjhCeQi9dLlcx7iXfP7Y5SoCcNx8Mnqs1kBZF7C5R3y+Ko7HxsNWfi/GAialZ4j+OoVmFBzVVabfawIuCyomtPr5iLLy94UB9KSFPnX9oi3wuWYCJtInPWXoZamm2trVo0gYqcnrRsjLwXqO4WPPBzwSB3ECI+nNPkPFIw2DTrP6AEGakjPpBNcPbFyvNggo4keB2brbuUqUYJz8vadYhT/XaSxwBWfz0xNISwbJk1A4nOMxAvhfnAUEWja/SaPbDYzBv4BncY2pwD6LdGo90DmDEu+sFxeVaQ/zh/7WiS8dEkh5aS161S0lUIEv76SJGSqYC3yHLnfKjBiWCLBZfEdMVhAFDY0McJeLxKDyoanQH6sUFbBZ30DboK0reoh7JFc5Cv64aA5Fn2A/St9Xk0CEOs4JcFXYgFEiQNYy6YURp1jBgq8a7yAPzBkCjr7vemdgGvrcQpRBXiUhZjl2rlWtnQNrUq+X1NuueUxwmBfnRgcECID1yAy8KqgVFcwNWGgWBRihc71hI4LvAb1f0LFDF8CpIvOPWjt4rtfIjDIjmNtraCJHTYgcg5RTEicGCNGSW8XDTeQN+Ay+l0V1fkUDgy+3o7fEptor9533ILUN6agek7be6TaXw/tKJE4uHG7cI5CPRDEQpLbqVAZBZvn5QL97rnESgOxbr7e2Lh0LoLN9mjcWLxSKJsYqMyx+4NRZUQw05o1osZQSxtXmrPL53ZLAgL3R/SA9sB7kDIOkZCHCdYAiHY30kC/d6vTR1h+oJP1nfjhZcxWI8xHi4JGn7uwbS1qxcNKLN6H6yVSCODBat9bpZPujhDBw4MlXdvfEQSfJYGcvgROxsFgLdk31IUXrIH5+qjVffxp7/4n7GQ5uavtu4NZf+o5MISwFC6yXIY4p3f5pxZqpiMRYPByxevcgPfK/Q8glxHqAi0ozNfOc3tQTS3PblwS/1CwWat64gnzsC8hChPayeiNIG/aCeI1y/dRmCTORsqTgLQl9J0o2y689NztXVEohFbm4RiFMFASBuyiONdDxmacpRDRw0EXH5PDZ7yIiNC4F+hKQMb163B6GTtel6sAFScwWhJovW23uQysOprSqbqttUT7R6Vkha+wVnov0sa0Ope3dADtdaQRgQesOBR+bxExRfu6uFg1osO6++Ha3JAdYr9Ny0gYPVsq6J3srzdoBUoiB3jDnIAYdAIOxlNxz004I7dR3Vw0FcPH3kNnvjaA2+KEnFBYSG2WyOwV5dq+MsXa4hkCrEvA55wKgOzQdpf6J7fAsZuSLhMCSEfX00BlbExqv3EJsVJzxAh5DcYPpPTT9e6U6FvWNjy8vLGxsb6+urq5O1AEKywq269KuOknS5dMLqu26Udmfh7w5Uqgk0HeTJ2NjcnM3Y1AXIRELMj/gIEt3mIA9CcQNTy49dXn0rQPTT64JG6s63TCwWy7FLp8XF2V/RBe4VGasA0QX9Uxube/p0c3PB788Ym0r4BV/i1WcktQIPSvJc7QlG6H8DQwNDQ0OBgLEOQPUv7lWobKxWC0izWVp5EyFPvv3vsxeXb9/vSmCuJO5fvlhiHYDQeQgMk1McMXG71K1XCIJh8/Wo8vCj0YaMH+NMVAdkOMhfmoHa13SnVBGEPI/lUULfwADgACL2pQH2WvCub92EbWvmiIHEs9sTCb/f9PgjyWxhZ35qhEq+kJUpJW5XarFkID74u2KipknTiFeEQ5RBiEYNKtEJv1an+u55ftx7BbW/dOnPDWHHzDBMikQGAAggqbc3ouQzgUAv/DpzbwFI25KM4sXtLhlEIpeFx59KHWpS5RB7e4rISAreGskn4UsvVmaxCBCPG9LA8nlHuFcxFNLcynhhZwFjU7ebsfVtAm5G6MrQr7nBH4a+orU6yLLGesFeDgzIGhIYCpQvKxNlXa++htwlHuHZfcwueMin5Oefb9LJCFUJ8qEUjkQi8I5/Cj6eGsf3K4mxaO/7AnnC8TIsYnG5D3FlQVnoTnjMN5SW+QlFxdv5icglCxDiStaIFRtQFWRIKMoIe7dIhKchjc/gNYWzIzp9aMpjjcihCM6Tz9FP40NMXZQvxtcryApBsmVrVjHmLGZ6oEWxXV2H5S/LA2T06HzXxMT0NLc568gFtODiyYBL1RBis4QsqSRNVhfIG2gXT5IHfijPXEOWPupcBKs8/FkNFNZTI5/DL3521XFWSKLeudLOo5s6jJmVng6lhzen7mrozDQIS5TfnOVBL8vxCAjG4WFpuYpAWt88Jx4bdGGK/J8dgUecxGC1IlN+RUUS4zoCeMQAJI+5W/vKyb+hhmj/N1I7tTKoNPACj6TKIzOPp8WJcNcAHUHIVUpDBsQ1pL7eK1URyGOMc8xpUKPEZKcfXvnEXSjPXE8gafAtTTlcgQv53VgJaxWgNHJprcMd7FVSXdXQ1RBNCBmtEkD6OS7EjEM4UY1XEcgbHEk1WR97Ig9AmiIFjk5kCwYg/gqA/GBvrWgsOZNT2tst+pHEE7RBGkdFgZyzXqlKPAiSivYaMuRMQ6oBRN1Fk9Aw4CnNDkWapiIktPIzL2EgMJ41Aknw9lqWVA8oWtiGLMRSKQNSqn5oFxhlcYI+5a/EjdZXlmrWLcg2WJkqXiyhIYHaAGnVpLm17Q1WX/Ds8TMgyaYc+A0a2qb8BgI7sR/SRsW+4YzDtPAHuxo7VY6VtHkApGMQq8vixlXNyOCMsFc3ZCK3znrYZayT68v6CiK0RhCJU+kD6e3tjemmHOwlVDUgBEkzTmiGSlUR4s6pvkxha1yVj6RSWsKYwtfrnJTeIbjiOvNwHzgOy4BUR4cHq9stC9gf1SbRjgoSOW9eW+JL6G6xXF3f2FhenhsrUUxURlDs2HjHqgektfkBVpxIUyGpPHOiE+zD1H1oX9GkQlLVCl+uc5Cng7ni/V0ByDjSnAGpHqxdCEISQt1z9ou7kS5lsYxnuGu0E/ssF9/bysVJAmx5TMUVinEMmTQ3WT0grX/XbJaiCgVCAIKsQjKCc4rhsgGSx9fqxKPeTb56AI5Xvg92m/Wj30eyonHdfn19wWQU+xuciGrrfBfrnIhM7+Tk6say7Hi6zZmhtDxZNSCNWHvAyfGm1FSWBl55jP25wlQKGBEXb9AJg4vHJ4WBEHPFq7JD0rGyey9Cxo0APbSmmd2p269vjHVHMR5tcCoZ3H6trnI5LlPx6ia3AhKUnzcmqwPkZmMG6541YKBqUpAhZJMQZqX+T9v1/TSV5fFeTYjoP+HbTc59Gkl48GHcBx4bc5vpjyhVgZg0KTpxO02bFKI1NWmXbCPUUkR4YNYpwgM7wSX4MvyKCQhxmQQnCoYV19k4uPPiRoOve37ce3vuPT/uvdA5kzGOaeTM+fTz/f1DCEgfULwCUuUbVxCOcdRwcAsi0uAH2uNlX36Hpi60OhGp+8RjzC8/GETQG26VECjdMROQGPTWISRNAeTkyQPK3G0Ip8SoGRmBYIwkhIAAz4Bs83yPWDeE45bRkKOe7zDwiFAr1RoBEzZcFcUTAjyfGXBUPKyqh8WXWKPgrICGQz2hQ0JiB+TPJ0+uUIGqkfvWQ9Ne++kEcR9vZEeQXTWK0iL9/b4AgeLqIqsOLyM4vv7T16TB9jtVxe55BrCbIXl4IHXthyTwwxXlyMd8yEEtRGhyUSP/M8hq3zoiIOdQ/WiZ+soD5jencURrBBDvA2FnZhDJ58qKFyuryE17QEs3cZVq6OyAdlAHdDt0Zhkk4OOBxVbUm7UVhn/vnKI0DZEtSPjLKH+gaVYGDf7n4tEYgtJSk5SKiGYZQLLEGM5CXtjjvORzq4oHP2SP5wtCku9BU9Q20fKqqtN2VYMfEYmaBmPuLAlHjbXERz9GZVDJklSaTQKXtg4PyDmSSwd9rMwapTOF/dns6IOpgfsJNr0ejSuKq6e+zSkpifVor/A8oO/oBvRvuGue4ZOrEjcQ59FlbmISgqZXmgOHtfxbC5mxXs3B+tDioRlCMrepRmwkawuTjA4kHNn1VLlcjsOzuvoBnuXlOFhTlAMXQHY1LcbRHlVjIJAdD4YefTra76XOyzyMHLxkdEwgumbQ1yjTNDgMoTVoyuCQQxjDb5pWGjwSIHNUOJco+OyDkQR+//zy5Pt3myu8ekV8tVmArHqXaG+JOOexXhQgihkR9rdWs/otasOBfe32QB/ZYvtze7uacZNJOOlZzoft2fY8/uPI+TlFaS4iW0QI93BcXQSJd0+RBsRoCdkEdAC3fwpDEZ/blJbH/YZvNgkKroBU8ZUvmdGHa7FjvVppmOrFNfG4YtPmaG0q0IfuHcejp1XVg+rOlxsyNQUP+U2+FUQgEWebiwgB5DK/HRWFHrxCEjh7zvrHfOSGs/4AvUJ50sYJPiDkYssYkE6pmTWhHesNwRteQ1N6kBK8aNLDoEiHyQ/dtvUc6N+T+oR2xBA15TFCksuF42Nm8Uw8l0QDmH5tz6hqpYmAFEyRFRPXPnh0SwyGIDysxZHEzspOwa9UfHLTU4W1cbEPGBB5kQPyz3sbwzB6ifagSnwvGPrDwmMESqrIPSrfmmlXI/58wFZbGJJM5z2/1jxEbp7gKEanEelJu5sMgZg0ihTBwCimxjuvBb3mvfIA/fpJDohD6fVqnx31ch1kI8tUY6dwxVEZ/bM6P0Zyhb5PMmUMK/1VVVebKLQW+XFrexTCQxw4cJaRWNDOwmiseK6w/s28VhwDIncNbYD0QH2iaY62hPMQD2vpHfxm3E0z/X5QhZRB6jCApABVtjvUREReGrETCSTXPPjuiCFnz6FDFfTmwTtfPSHWrcoEEKnMstXCIev9kp0i0Bf5puOq4X8MREElzWtRxqGP1FHwaH/9zytqptA8qbWIAr8Xu2OyykZ3kgTOmYcu5wWTfloQGpcqRxWDItdlSp1ym7qx6e5oNlRNBXIfAO5Mpbvq78Qpz/mDIwcsPF4brWqFZvqHJO4rmxblShILkLP0Q4OUD0CoS5WNbKjMWa82ZG03cW+7tV0HRXSiQBJAh+g84ha2JXFtgz/Vnjd24ra/vmP1hWRkCcKa/6AW5omkMRKS5LEnQGx96eWoGxTPZ9fW1mo2BQJPqqyYFOnsFOmRUMjihxFCsWsR6K5jgTWF4cCbTtPfM5UiQziWmALRsFc44IdTRFTZuCbQI7W5MD5zNb9hRoKJWJ9clHruAY7EQoavXInsnDHPc5ogShQD8onszhGJrT3Ci1jI0ibXtKLtE2ScPhRXRuo7fZepWb9gRLPQmPB60iM9xph2TlQjx7W1lhEYdQKJz6gWxqREfF7u6ZGV/5qA2NtuN8EHCRyzZ+hD3whF3w8wHF3Xv+0Ua5EefKvLDRrv8QCJWIUhVxhA7hCKwO/9GDIJXSGZgb7hMw4eqIqUddprEIfb2D2q5iAu/rMjJ04MbolFV68kLB/gSSzkrHuhBzmUWgRxzI4ueYaqWNIgHHSCSpuwfSCCKq8SgK7VSbPVn6ZCv42H6cdlMfd6CkQwPTg7ih+xagTiUbc4W4XgKIcgCcTksWjqwWUxIgGexEKGr2c8aI6Av7Z5mTnDFMfZ7ayWfQASyDs3DheQ4yZFcDkiiY3EkzymJBFgEaPdmVvY2xBakyimMgnxoK8TDi8rhyEJjjkKCp2EiBiAOLsKN4WGL4vHGSsEUahSC7+E0fcJtqfzkrZto9C+7siz6GlOJ7Pt9c2lE6l4PG+SJRfOGy2R+y0L0Hh71p7mz5UhJK/FjR+rZxZsdmE4/F45HEkITTiS65LI/A1wJdbJFZD3oj8cQst9KcXuZ6Ts2K+MVnLYxvMR3Tz4je5xmp6WGEURLztzZqlyPpkCGbR/bElVXwt6opcNOBJf4ZAqdH8qtJnxxo/QYuc9vIQavifGIiIDhHl4geH7yxnuqZl4SOlRfCVseL5mizCST1tnYV2NpHk9HYJoFTy5+kzS7P+MgghZCLesCratokkmeZ3KlJ7uwxhSQis8qRyaJCdQoMvZrBfTShJA2D7oD8CrwLKOfGhy9XMI9TvHRO7StnTKA89dz6ieqt0hHlUCiAIRYTsMfxp58nFcG49+/Lz9oFFNMAXWqQtg+7d2BJJgO9iWuuoWKJEAnyACJfJcgsekBI/iNg7zyPrANGmDLq8P7Zl6yj22CzXLUNFYmagoq05k74ygWRlfvpRKJWPswLhRPkBoZZ7gcN0nIjd5kPTSdpZEqf/IeXvAk1kSPD6J9QdqkNLk48A1e/SEGYPCEzT/ZpUIE7uKAn3d2mEJnylj7w55QoT7xnR0eoPMZ+iGV8XVNH264xY5n4qEnVOz2DAuu4W+YYAvsVB5Foc2QjjWxOGrvZLrCDLotG9Ld1NxGzXvuCXWfygDkBluoQEp0EJrBFeHfUEmM7IcNozv7riWPZ0NxoFTq9XDPtO+7Gu/NNx3SfQkwJdYqNSBzRWusUjsGHbvJ4HA2vMwggx+Xfbks+aOC3Qxqjuq/5BjvY/kTB158Po6veUVPdKctT4vPa6V4A/fAH39Rp34tEXXYDBY1ouOewT9uOyi6VoTiCQhSXxRCMgBR4kI7StRfLdach+UgdLNVfmEZf7QMbwW0qwHS6VSY7gkqTyWShkp9MhSscUJiKIaPYZpIj6ijVLmrMmRY6WNYNCuQ3DQ06fM4iOyiIobX8qDi/xhTCDuARCLxLyUVPWV+6AMlEV767I1QbSI/p46v7BeiehOLxLoemRoaX/Y/vcYgMwSvZ4mDvQ0Xck/ACyvKPgQVJwXeROu12oF/0kSxxmc0NwA4U+EdYazas8ZJ6S2Y/5gThq9+FbWet4oWZpwHY4pwAO6hsajDS/sL83PV+CZX1rfX+DzzQAE6nVEkXGUJos9trfnRaPkWuMTwTIYbmF0iFXj9fQ/72uFwiE5cuKxCyBn+T75B7Aip8cOdSN2eMNuSBh+ptNnMuvKsLB+cgXE02lr6zywKPKE1IhM99FDKBZOgS9oVuYL7X95kyDFetBSIWzm5SlEpuAfkUF5gkqwL/0XhxJZkwQVmVKs6oTrDDLUKTWx61Ymf14wk48kl+Z9AILC0H8nFHm0bgT86BkhWajJwcYLeLTxuOmoQ70RRoSrvoF+iHjkEGaMV+vXNacuCuvalQjHwkKIFGZ5SfS3rsoDqfJStaXouo31qhCP4xfUfV8DCroIInPqVWxfIUDoISEIkCjE478a2tQaHB5+kwvTxyV//xD+C/lS8KBG5ID8KAIkZUus/7LDU+nwl5tM4c9uideNYzN0IRyvqp72UqWFeDxS1aIvQFq+bWv7hA0ts84CDKBROnGjaDYYTAGER2Lp9wYKybonOCRyzC8g/xABkgcrbn6IglDaUWw9ISiEKDV1cQv6Wy9vuS60eAlB5lt8nra2g8KqDtTpx8cskXXDrJy9EQyOgRfjWgK5Nbk6PDO3D1WK5xBjfgERTt2fYwBhzKwdBcPyr87GrpBdlyFkqB8ytOvp+f7GrzixjF616hOP621tuQgA91EVPYIkhpV6f7YhsqY1bai1OSdJpFjr+0GfgAhTg2x8cYUbNoGCoNNcV1ickA+j7kWyCsLhhR/D/JhioxJo3ycekMZDAHyFLN3+BIhCvb6h25T6bfBx+lRrs89DTBeva44DfxEnz8GYl+AixKKzq4sokT2564Hg+Ox5ysO0dkWKR6XFr0rvijRyHqOIJJQf0o/CJWCp9Y88T9/PutIlINkTwlY68PEgChO3cspKwFFL5Lb3FUhQeowcl5i8ql96tLVVAG1VJSAi1h9ABRKcAeofikcrSZg9/X97Z/faRnYFcBO4hun8E3kz3Hlq9NJ/YEhLzKJAJVHLDuO8FOyVMIbKoMhgQUDGKBQZi2R3PaqrEbv1g8q0LPaTcEJQwYHtyzbYYY1cQrwUHEWpyW7bJQO9HzOj+daMY41kRwcSJ5KTOPfn833ume89gXiM+9gnHV44AUl3RxdmPcfxucNCEB6rm44PgyKFjz9OTDSCrRAsCy0marqht3QPzjyjpZOFBuJRg9EsE4IQLK42zAvIl7aCr7Wj/uLPdCQumSKpoHuRHe9PfRfk/La523hriItTvz8xsR+IR5kcRfSeyWVIcPtbGG/kcEo4ObkCo6dMeEKU5ZXdhHkBeQm/NzQL//HiidVmpSO6HHmpRwK78kAHmCF3WRERl6dLBIt4C3P5fDZbrxmAEAhxlHZA+GvkzfGC4liWGYg8/YtfIH+HX1vMlclkfR3Rhn5SwoGHeuCC7oH/CHXjX3t7e6ozQm6n4vgsg0+C8JBYVaI4qPrsYY66jMnJachx27RWHI2t17J55wHIfL1WLOb7C0W3YF5Afhaf9vDor7ozWEdewRUu6PrGUd6LqcX0+Iyatew7ZSDlANaK1SWGg6oHONJCQCQcVW2vs+x6qbS+1/2koglMvq69Xuu3AZsjBswbCHTPQtLdHvqBR3A1i9JA/9pRxjSiD9fW1h5BqG2fsj41bfct95sA+lHsnvUOxGtzpnM0C0R5YJR1lSIyYPmi8ZVQLNorTyCLXSA/vnzKzBl4pPToamPVVT3IJdvjAPswUZ6wpOcJz3QN21Xt1lf7D+nj7N/ur2dK+4E1BKmI1o9qEDeeYQNIOCGYJ5C/YSBPniMWahmAyT5+/DjL3LixofM4dK+zz0z16gZa17/D3xrTBENIYHzAzftrHEdbtP4Ml+FM92C0m3aswNhpAB7FcFy8J5Av4SuVhWz8M49vvNB5eBR20bf2QaBybBUaG3gL+tAB0rTVTSSf3pmhkcN7bnspl0PGzReRluFUP6HIMY/FoeThCuT5S8QiD0llp8JITdO00w3NfxzTYJdsyb9rSwRXj4Il0zFo2pK9GPcY46Lznr50xGizkNGKfoYTj2kIM0F41JjBAaEmigjdhgsYUWaqVawr1YoImkxKLZe8w8Euvn+NF92aioq4WX4YDMd4A1o3Ar+naP9K465nemCdeM99rhIpBOPBshlIZ1JiO2wwyQ8ISJcGBvKAkeQKEIEoAp7nAZWm2h/c4qZmsHJM4RW2M0YVQWZ/NWhtfHwH/snyoAVis7Zx4PXoEd5ksK1bR25TXWDXo8LYqtkOdm8iGkVZBxtYinNhA3lePgHEWUiyXGkiBgBmgIMUqIIcIwSzZJ/PXY7sXTHGukHVA0/wWh60cB0im5WIQ23f49I9iIcQ1IuTKjMvN1Kusxcr2fCAPHnext//IjZJquDfR2N2HCKjTjQcaleDEpwJSGKKWy0E5zFO0jatn0q//68loLFAuwSh+k/+h9qs649gya1c0mIvXvKhAPmx/eYmAL8kp60opsOPRq04eORKVA9ypBop5L7nscma0luC78bHzwsEqplCo5FbgtuzcbOfz8F4wmSzrtsHDCmNGtsXCQHIG6CoMBwkAy0vEIumDcWRBB1XquZp5KPdMD0aPyeQJbzWPGfo322aeeB0cdsCxDyCW9got6Q+wQjHaCEg7nLz91YNESuyLCcj3VVks/o6ZAoE/b5wPh4oLTQ49QZO3CaMl5q0dDFxLfG7X3zLrUzip2B5Vj/6ILUQgChuON6cnAHHNwWtirWFgl092r3NEWe7ZeeRTkYCh70ICL4kYOWxUFVn2ThSjJqUYCxUIPVBachZR+08tW/a3zzRnMiWsQkyz82jaPefTsNQPp9fEYOnhnZFEaod8IVT03AhRDzecgcUyBewxIYrrkX6vmpIp9t5inTsb0fI0M+WeeAnwTkMsqfw35D2XzrJL+gnH0cW6+fUb8RNgwj40c3PKI8HIVssUy04RA3p6MsYUkl0+B1B6LQNbytIRdIHnHXho62UmFJ3niSTQtpnaghrjSXaUl2EMTUxWejugESv78Q57u2/8WfgDQ7RHXZwUpsLCUjHOKmb0jTlxECkfezwuPN5YzaYIu1dQRDSgqBxSffcCV+CcDqPzjqLz7qgFcsXjOO307AUhV+wp3Tf6yk7UOkDkbHvnFxEymx1KJYzncea874I/SYtVQ0BRdRUULzWFjSwntqyQ5qF+KdMMhIzP8uHAlmEezu0qRjLDBhHX0rAY9/ZfIjzlld0oOr7r92ecncXX01Lk5MX2m/URFOhuSb+cHbS1p0TNmNOCtNYj5LKX2G8VY/BhplHDicnyGuclmKlnYHT6E+iaNeQE5eFicRoKQSH83xJYoY7JjA6J0DRUn4LbhEl+k/LiFrSQEZIE9FsW6q10WKYOZadgCs2BZkOPawKHYhiyzLSLrP8Haod7mseuVWhfXbTVoCxJPq6lNPJiEWShZbacyH9PThp7FiRLh/cGyIexTA0xG2jaCoirHniwE4EeEnF9auYfNpqma+Yq70LOD25lFvAD2QgTXDkXdaHSUFqAwVy3Ovp8wlu1wOH6OtWhZEHy5awQ1mpocArX5umN52HiUc4UZYLkB6P16Z1rNfuPKQAX1S3OniaiRluO08MF46+FH/tQASHQsfhVs+1zaTOew5r5STmDt863Su3Pmw0+lP7tQNpOyzJ4HpfccYX1c5prWyC59OKSGr1erZep9NqRXb4hAkDyEnEYrNSAu5FzfReyLC77Cu2Ci750OqGQ9A/tAGx1QJJOHpw29NYTXHc5h/c1MPmPSSpWpUk6Tw+pT/Ba62u7q+ZKw42xHIGYq+eR4TPXad3E/jqB7e5DH7lzKM70SUZGvaG9yvV3mx6nxMycBdidvLFgRosHxqCEvQ3ZwA4X+W88yke89x87WasgKJ6c7kpdrN36+cAwItN+YOI5LXLSfQmCL4/ULQS85nZzWUHFvI6AmmbiKSQdpAjs4e8d+6Smdvd157JoMRU5SZvKGq5kUPv8hV3Kl6n5PPuhv9M24+a9KtLZQWiKMbiO77xTF+3TIriOWqsGsCveNLQ3sc/mq72K2s6JhC4qxrECxQHxcOp/N7RloXjum1abeGucUZDRWDcAn0S0T1rkZFFquHTqlQCt1MDRUmD4sGMfWX/Xm13a31aV0pZ3rytWSpMYw2AZR70T3jZWVG0jKYKgv9XAwVJ+UFNwo/dVxzMB51xEEzdRNxAxzPUHIdoKP2koZqwqsOXq3HgPxRIb0OXHcz84th9r1Mx/nqNI1587RZQQEhi8ydNtSQmgmbw/6p2wsW6X0OnmsdQJ4HGvvF5vApuhezeAvwyD8IT0awmPFUb+cOz//MWDfo+AT/2jV8bwuPSSJgwVG9i0BIJUCDoZUPaz1wp8a0hYBA0qJbo2lChmiEagDQrzFUDAi6BVKgaID2VCRbNhVR5nhkBGYjwMjVVFRTxAtVyIR/vGIpdbiA/gMsizQoBwmv9R5kH5wm2hh6IAi6TNJvkA3LmIjD69pGGDEoU2oIUL6T1NdKQC46/mJGGDJVIIyDDFQwzIyBD5uHlEZAhy06sxa4rAOS/4LKLKF8tIAoAV4CJNNKQoUpOFL3eNQIyRB6lKY2AjAKvERBfheERkKFyKeLldShj/wNXkQhy8s3qCMjQRcPVEZChY1K5EkCUKwME9xcr1ZGGjIzXuYH8BD4SuSTGa+wn5WMhwl8K4/XxaIhKZdiN18cGhBovaQRkFHn5lP8DREyPpv8/O88AAAAASUVORK5CYII="
+t_image = tk.PhotoImage(data=turtle)
+def foxhound(event):
+	global k_c
+	if k_c == 0 or k_c == 1:
+		if event.keysym=='Up':
+			k_c += 1
+		else:
+			k_c = 0
+	elif k_c == 2 or k_c == 3:
+		if event.keysym=='Down':
+			k_c += 1
+		else:
+			k_c = 0
+	elif k_c == 4 or k_c == 6:
+		if event.keysym=='Left':
+			k_c += 1
+		else:
+			k_c = 0
+	elif k_c == 5 or k_c == 7:
+		if event.keysym=='Right':
+			k_c += 1
+		else:
+			k_c = 0
+	elif k_c == 8:
+		if event.keysym=='A' or event.keysym=='a':
+			k_c += 1
+		else:
+			k_c = 0
+	elif k_c == 9:
+		if event.keysym=='B' or event.keysym=='b':
+			k_c += 1
+		else:
+			k_c = 0
+	elif k_c == 10:
+		if event.keysym=='Return':
+			top = tk.Toplevel(root)
+			top.geometry("%dx%d" % (400, 340))
+			top.title("You found us!")
+			label = tk.Label(top, image=t_image)
+			label.pack()
+			k_c = 0
+		else:
+			k_c = 0
+
+root.bind("<KeyRelease>", foxhound)
+root.mainloop()
-- 
GitLab