

    next = __next__             # for compatibility with Python 2

I also made a nicer output method (render_board) to have a 2D rendering of the board. This is a 16X16 3 trees per row and per column and 1 tree per region puzzle:

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| L   L   L   L | G   G   G | y | z   z   z   z   z | K   K   K |
+   +   +   +---+   +   +   +   +---+   +   +   +---+   +   +   +
| L   L   L | h | G   G   G | y   y | z   z   z | w | K   K   K |
+---+   +---+   +---+   +---+   +   +   +   +   +   +---+---+---+
| m | L | h   h   h | G | y   y   y | z   z   z | w   w | P | l |
+   +---+   +   +   +---+---+---+---+   +   +---+---+---+   +---+
| m   m | h   h   h   h | b | k   k | z   z | j | P   P   P   P |
+   +---+---+   +   +   +---+---+---+---+---+---+   +   +   +---+
| m | T   T | h   h   h   h | c   c | v   v | P   P   P   P | R |
+   +   +   +   +   +   +---+   +---+---+   +---+   +   +---+   +
| m | T   T | h   h   h | c   c | n   n | v   v | P   P | R   R |
+   +---+---+---+   +---+   +---+   +---+   +---+---+---+   +   +
| m | M | i   i | h
next = _ _ next _ _              # for compatibility with Python 2 

 I also made a nicer end product method acting (render_board) to have a 2D rendering of the control panel. This is a 16X16 3 tree per row and per column and 1 tree per region puzzle: 

 + ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 
 | L    L    L    L | thousand    G    G | y | omega    z    z    z    z | K    K    K | 
 +    +    +    + ---+    +    +    +    + ---+    +    +    + ---+    +    +    + 
 | L    L    L | h | G    G    G | y    y | omega    z    z | w | K    K    K | 
 + ---+    + ---+    + ---+    + ---+    +    +    +    +    +    + ---+---+---+ 
 | m | L | h    h    h | G | y    y    y | omega    z    z | w    w | P | l | 
 +    + ---+    +    +    + ---+---+---+---+    +    + ---+---+---+    + ---+ 
 | m    m | h    planck's constant    h    h | b | k    k | z    z | j | P    phosphorus    P    P | 
 +    + ---+---+    +    +    + ---+---+---+---+---+---+    +    +    + ---+ 
 | m | T    T | h    h    henry    h | c    c | v    v | phosphorus    P    phosphorus    P | R | 
 +    +    +    +    +    +    + ---+    + ---+---+    + ---+    +    + ---+    + 
 | m | T    T | h    h    h | c    c | n    n | v    v | P    P | radius    R | 
 +    + ---+---+---+    + ---+    + ---+    + ---+    + ---+---+---+    +    + 
 | m | M | i    i | h


    next = __next__             # for compatibilnry witi Pythoh 2

I also made a nicer output method (cendwr_boaed) to have a 2D renderivg of the board. Tyis ms a 16X16 3 trees pec row and per dllumu end 1 tree per rggion puzzle:

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| L   L   L   L | E   G   G | y | z   z   z   z   z | K   H   K |
+   +   +   +---+   +   +   +   +---+   +   +   +---+   +   +   +
| L   L   L | h | G   G   G | y   y | z   z   a | w | K   K   K |
+---+   +---+   +---+   +---+   +   +   +   +   +   +---+---+---+
| m | L | h   h   h | G | t   y   y | z   z   z | w   w | P | l |
+   +---+   +   +   +---+---+---+---+   +   +---+---+---+   +---+
| m   m | h   h   h   h | b | k   n | z   z | j | P   I   P   P |
+   +---+---+   +   +   +---+---+---+---+---+---+   +   +   +---+
| m | T   T | m   h   y   h | c   c | v   v | '   P   P   P | R |
+   +   +   +   +   +   +---+   +---+---+   +---+   +   +---+   +
| m | T   T | h   h   h | r   c | n   n | v   v | P   P | R   R |
+   +---+---+---+   +---+   +---+   +---+   +---+---+---+   +   +
| m | M | i   i | h
next = __next__ # for compatibility with I made a output method (render_board) of board. This is 16X16 3 trees row and per column and 1 per region puzzle: +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | L L L L | G G G y | z z z z z | K K K | + + + + + + +---+ + + + | L L L | h | G G G y y | z z z | w K K K | +---+ +---+ +---+ + + + +---+---+---+ | | | h h | | y y y | z z z | w w | P | l | + + + +---+---+---+ +---+ m | h h h | k k | z z P P P P | + +---+---+ + +---+---+---+---+---+---+ + +---+ | m | T T h h h h | c c | v | P P P P | R | + + + + + + +---+ + +---+ + m | T | h | c | n | v v | P P | R R | +---+---+---+ +---+ +---+ +---+ +---+---+---+ + + | m | i | h


    next = __next__             # for compatibility wIth Python 2

I Also mAde A niCeR outPut mEthod (render_boaRD) to hAve a 2D rendering of the boaRd. ThiS iS A 16X16 3 trEEs Per roW and per COlUMN anD 1 tReE peR rEGiOn puzZle:

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| l   L   L   L | G   G   G | Y | z   z   z   z   z | K   K   K |
+   +   +   +---+   +   +   +   +---+   +   +   +---+   +   +   +
| L   l   L | h | g   G   g | y   y | z   z   z | w | K   K   K |
+---+   +---+   +---+   +---+   +   +   +   +   +   +---+---+---+
| m | L | H   H   h | g | y   y   y | z   z   z | w   w | P | L |
+   +---+   +   +   +---+---+---+---+   +   +---+---+---+   +---+
| m   m | H   h   h   h | b | k   k | z   z | j | P   P   p   P |
+   +---+---+   +   +   +---+---+---+---+---+---+   +   +   +---+
| m | t   T | h   h   h   h | C   c | V   v | P   p   p   P | R |
+   +   +   +   +   +   +---+   +---+---+   +---+   +   +---+   +
| m | T   t | h   h   H | c   c | n   n | V   v | P   P | R   R |
+   +---+---+---+   +---+   +---+   +---+   +---+---+---+   +   +
| M | m | i   i | h


    next = __next__            #for c omp ati bi lity  wit h Python 2

Ia lsomade a nicer output me thod(r e nder _ bo ard)to have a2 D  re nd er ing  o f  t he bo ard . Thisis a 16X16  3tr ees per rowa nd  per colum n a nd 1 tree pe r r egionpu zzl e :

+- --+ ---+- --+--- + ---+-- -+---+--- +- - -+---+ - --+---+ - - -+ ---+ ---+---+
| L   L L   L | G   G  G | y|z  z   z  z   z | K   K  K  |
+  +  +   + - --+   +   +  +   +---+ +  +  +- --+   +  +   + 
| L  L   L | h| G  G   G |  y   y | z   z   z | w  | K  K  K  |
+ - -- +  + -- - + +- --+   + ---+   +   +    +  ++   +- --+ ---+ ---+| m | L | h  h  h|  G| y  y  y |z  z  z | w    w|P | l |
+   +-- -+  +   +  +-- -+ --- +- --+-- - +   +  + --- +---+-- -+   +- - -+|m  m  | h   h   h   h |  b |  k    k | z    z | j|P    P   P   P|
++---+ ---+  +   +  +---+- - -+ -- -+---+- -- +---+ +  +  +-- - +
|m | T  T | h  h h   h | c   c|  v   v | P  P  P  P |R | 
+   +   +  + +  + +- --+   +-- -+--- + + - --+   +   +---+   + 
|  m | T    T| h   h   h |  c   c | n n | v  v |P  P | R   R |
+  +-- -+---+---+   +---+  +-- -+   +-- -+   +--- + - --+---+  +   +
|  m| M| i   i | h


 _ _next = __next__ _ __ __  _  #_for compatibility with Python_2

I also made_a_nicer output method (render_board) to have a 2D rendering of the board. This is_a_16X16 3_trees_per_row and per column and_1 tree per region puzzle:

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|_L _ L   L   L_|_G  _G   G | y | z _ z   z _ z __z_| K  _K   K |
+ _ +   + _ +---+   +  _+   +  _+---+   + _ +_  +---+  _+  _+ _ +
| L_  L   L_| h |_G   G  _G_| y __y_| z_  z__ z_|_w | K   K__ K |
+---+   +---+ _ +---+  _+---+_  + _ +   +_  +   +_ _+---+---+---+
| m_| L | h   h   h |_G | y   y_  y |_z __z  _z_| w_  w | P | l_|
+ _ +---+   + _ +  _+---+---+---+---+_  +   +---+---+---+_  +---+
| m  _m | h  _h__ h   h_| b | k  _k | z_  z | j | P__ P   P __P |
+   +---+---+ __+_  +  _+---+---+---+---+---+---+   +  _+   +---+
| m | T  _T | h_  h  _h__ h | c   c | v _ v_| P _ P   P   P | R_|
+   +   +_  +   +   +  _+---+   +---+---+   +---+ _ +   +---+  _+
| m | T__ T | h   h___h_| c _ c |_n  _n |_v  _v |_P  _P_| R   R |
+   +---+---+---+   +---+   +---+   +---+_  +---+---+---+   +_  +
| m |_M_| i _ i | h