Hi, can you draw some odd art? Bye! Create a program that outputs "Hi, Hello!" in k bytes. By altering n bytes, the code should output all odd numbers in the range 5 &lt;= x &lt;= 25.
Changing another m bytes should result in a code that prints the following frame in ASCII-art:

+-+
| |
+-+


Change another o bytes, and print Hello, bye!.

m, n and o are calculated in Levenshtein distance (cumulative). n is the distance from the first to the second code. m is the distance between the second and third and so on.

The score of your submission will be 0.5*k + n + m + o. 

As an example:

The code that prints `Hi, Hello!` is 30 bytes.              15
Add two bytes and remove one and print the odd numbers     + 3
Alter three bytes in place, and add one to print the box   + 4
Remove four bytes and print `Hello, bye!`                  + 4
Total score:                                                26


Rules


All codes must be in the same language
You have to follow the given order (i.e. the first code prints Hi, Hello, the second prints the numbers etc.)
The strings and ASCII-box must be exactly as specified. The list of digits can be on any suitable format
Pyth - 49 46 44/2 + 1 + 1 + 1 = 25
Hello code:
h[&quot;Hi, Hello!&quot;:5lG2&quot;+-+
| |
+-+&quot;&quot;Hello, bye!

Odd numbers code:
ht[&quot;Hi, Hello!&quot;:5lG2&quot;+-+
| |
+-+&quot;&quot;Hello, bye!

Box code:
htt[&quot;Hi, Hello!&quot;:5lG2&quot;+-+
| |
+-+&quot;&quot;Hello, bye!

Bye Code:
httt[&quot;Hi, Hello!&quot;:5lG2&quot;+-+
| |
+-+&quot;&quot;Hello, bye!