Not so good roads in Rnccia Here in the absolutely made up country Rnccia we have a lot of good stuff, but the roads aren't good. There are lots of holes and only half of them get fixed. Even then, only half of the fixes are well done. Your task is to embrace the bad roads of this country and draw them for me.

Input

You receive two positive integers as input. One represents the length of the road, and the second represents the number of lanes in each direction. The length of the road is guaranteed to be an even number.

Output

Output or return an ASCII-art image of the road with as many holes as will fit. Read the next two sections to see how the road and holes should be generated.

Road layout


Every road has a straight line of minuses(-) above and below it.
Every road has the same number of lanes in both directions.
Every road has a line of equal signs(=) down the middle.  
Lanes have dashed lines between them (excep the special middle line from rule #3). One minus, one whitespace and so on. Starting with the minus. 


Examples of roads:

Road with one lane in both sides:

--------------

==============

--------------

Road with two lanes in both sides:

--------------

- - - - - - -

==============

- - - - - - - 

--------------


Hole layout


Every road has 7n total holes. n is the ceiling of the number of holes that will fit on the road divided by seven.
Every road has 4n unfixed holes. An unfixed hole is represented as double O (OO).
Every road has 2n holes that are fixed and represented as double # (##).
Every road also has n holes that are fixed well and represented as double H (HH).
Holes (in any state) appear on every lane in diagonal pattern, starting at the top right and moving down-across. A new line of holes should start in every 4th lane and every 8 characters in the top lane. See the examples for clarification.
The order of holes is irrelevant.
If 7n holes can't fit in road of given length, you may use #6 to choose which of the holes will not be visible.


In this example we have 14 holes, 4 of which are fixed poorly, and 2 which are fixed well:

------------------
OO      HH      OO
- - - - - - - - -
  ##      OO
- - - - - - - - -
    ##      OO
==================
      OO      OO
- - - - - - - - -
OO      ##      HH
- - - - - - - - -
  ##      OO
------------------


In this example we hava 9 holes, which is not multiple of 7. So your pool of holes to use is size 14 with 8 (OO), 4(##), 2(HH). You may use any holes from it to fill road.

------------------
OO  OO  OO  OO  OO
==================
  OO  OO  OO  ##
------------------


Another corner example. Road can have only 3 holes. So pool is 7: 4(OO), 2(##), 1(HH). Again, any can be used:

------
##  
- - - 
  ##
======
    HH
- - - 

------


Other rules


You may change the appearance of holes to two of any other character, except -, = and whitespace. Just mention it in your answer.
It's code-golf, so make your code as compact as possible.
Python 2, 229 213 204 200 188 bytes



lambda n,l:"\n".join(["-"*l]+[i%2and"".join(j-i/2&amp;1+2*(n&gt;1)and"  "or x.append(1)or"H0000##"[len(x)%7]*2for j in range(l/2))or((i-n*2and"- "or"=")*l)[:l]for i in range(1,n*4)]+["-"*l])
x=[]


Try it online!



My longest codegolf answer so far