Skip to content

Instantly share code, notes, and snippets.

@andrejbauer
Last active April 20, 2023 08:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrejbauer/b4ee90d83e19e3b11131e68009b5b4ff to your computer and use it in GitHub Desktop.
Save andrejbauer/b4ee90d83e19e3b11131e68009b5b4ff to your computer and use it in GitHub Desktop.
Inductive trees in various proof assistants
open import Data.Nat
open import Data.Product
module example where
data SimpleTree (A : Set) : Set where
empty : SimpleTree A
leaf : A -> SimpleTree A
node : A -> SimpleTree A -> SimpleTree A -> SimpleTree A
record Edge : Set where
constructor edge
field
fst : ℕ
snd : ℕ
test1 = node (edge 5 0) empty (leaf (edge 3 1))
test2 = node (edge 147 74) (node (edge 110 2) (node (edge 85 13) (node (edge 60 36) (node (edge 43 33) (node (edge 29 20) (node (edge 8 3) (node (edge 4 0) (node (edge 2 1) (node (edge 2 0) (leaf (edge 1 0)) (empty)) (leaf (edge 3 0))) (node (edge 7 0) (node (edge 6 0) (leaf (edge 5 0)) (empty)) (leaf (edge 8 0)))) (node (edge 11 0) (node (edge 10 0) (node (edge 9 7) (leaf (edge 9 0)) (empty)) (leaf (edge 10 6))) (node (edge 12 4) (node (edge 12 0) (leaf (edge 11 5)) (empty)) (leaf (edge 28 18))))) (node (edge 38 28) (node (edge 34 21) (node (edge 32 18) (node (edge 31 19) (leaf (edge 30 19)) (empty)) (leaf (edge 33 22))) (node (edge 37 22) (node (edge 36 20) (leaf (edge 35 21)) (empty)) (leaf (edge 38 18)))) (node (edge 41 18) (node (edge 40 19) (node (edge 39 30) (leaf (edge 39 19)) (empty)) (leaf (edge 40 31))) (node (edge 42 36) (node (edge 42 20) (leaf (edge 41 32)) (empty)) (leaf (edge 43 22)))))) (node (edge 52 41) (node (edge 48 47) (node (edge 46 21) (node (edge 45 20) (node (edge 44 34) (leaf (edge 44 21)) (empty)) (leaf (edge 45 29))) (node (edge 47 37) (node (edge 47 22) (leaf (edge 46 35)) (empty)) (leaf (edge 48 27)))) (node (edge 50 49) (node (edge 50 25) (node (edge 49 46) (leaf (edge 49 25)) (empty)) (leaf (edge 50 44))) (node (edge 51 48) (node (edge 51 43) (leaf (edge 51 27)) (empty)) (leaf (edge 52 26))))) (node (edge 56 54) (node (edge 55 26) (node (edge 54 24) (node (edge 53 42) (leaf (edge 53 23)) (empty)) (leaf (edge 54 39))) (node (edge 56 24) (node (edge 55 52) (leaf (edge 55 38)) (empty)) (leaf (edge 56 40)))) (node (edge 58 28) (node (edge 57 53) (node (edge 57 45) (leaf (edge 57 23)) (empty)) (leaf (edge 58 26))) (node (edge 59 29) (leaf (edge 59 23)) (leaf (edge 60 23))))))) (node (edge 74 34) (node (edge 68 14) (node (edge 64 62) (node (edge 62 31) (node (edge 61 37) (node (edge 61 27) (leaf (edge 60 59)) (empty)) (leaf (edge 62 24))) (node (edge 64 24) (node (edge 63 35) (leaf (edge 63 25)) (empty)) (leaf (edge 64 30)))) (node (edge 66 32) (node (edge 65 63) (node (edge 65 34) (leaf (edge 65 25)) (empty)) (leaf (edge 66 26))) (node (edge 67 33) (node (edge 67 27) (leaf (edge 66 58)) (empty)) (leaf (edge 67 61))))) (node (edge 71 32) (node (edge 69 61) (node (edge 69 17) (node (edge 68 58) (leaf (edge 68 28)) (empty)) (leaf (edge 69 37))) (node (edge 70 63) (node (edge 70 35) (leaf (edge 70 16)) (empty)) (leaf (edge 71 14)))) (node (edge 73 15) (node (edge 72 36) (node (edge 72 15) (leaf (edge 71 66)) (empty)) (leaf (edge 72 60))) (node (edge 73 59) (leaf (edge 73 29)) (leaf (edge 74 16)))))) (node (edge 80 38) (node (edge 77 64) (node (edge 76 13) (node (edge 75 33) (node (edge 75 17) (leaf (edge 74 65)) (empty)) (leaf (edge 75 67))) (node (edge 77 13) (node (edge 76 62) (leaf (edge 76 31)) (empty)) (leaf (edge 77 30)))) (node (edge 79 16) (node (edge 78 48) (node (edge 78 47) (leaf (edge 78 17)) (empty)) (leaf (edge 78 75))) (node (edge 79 74) (node (edge 79 49) (leaf (edge 79 46)) (empty)) (leaf (edge 80 14))))) (node (edge 82 70) (node (edge 81 57) (node (edge 81 15) (node (edge 80 71) (leaf (edge 80 55)) (empty)) (leaf (edge 81 45))) (node (edge 82 44) (node (edge 82 16) (leaf (edge 81 72)) (empty)) (leaf (edge 82 50)))) (node (edge 84 13) (node (edge 83 52) (node (edge 83 41) (leaf (edge 83 14)) (empty)) (leaf (edge 83 68))) (node (edge 84 56) (leaf (edge 84 40)) (leaf (edge 84 77)))))))) (node (edge 97 96) (node (edge 92 9) (node (edge 89 19) (node (edge 87 53) (node (edge 86 43) (node (edge 85 76) (node (edge 85 54) (leaf (edge 85 39)) (empty)) (leaf (edge 86 17))) (node (edge 87 15) (node (edge 86 69) (leaf (edge 86 51)) (empty)) (leaf (edge 87 42)))) (node (edge 88 15) (node (edge 88 13) (node (edge 88 1) (leaf (edge 87 73)) (empty)) (leaf (edge 88 14))) (node (edge 89 1) (node (edge 88 17) (leaf (edge 88 16)) (empty)) (leaf (edge 89 18))))) (node (edge 90 59) (node (edge 90 8) (node (edge 89 22) (node (edge 89 21) (leaf (edge 89 20)) (empty)) (leaf (edge 89 88))) (node (edge 90 44) (node (edge 90 43) (leaf (edge 90 13)) (empty)) (leaf (edge 90 58)))) (node (edge 91 46) (node (edge 91 15) (node (edge 91 12) (leaf (edge 90 88)) (empty)) (leaf (edge 91 41))) (node (edge 91 64) (leaf (edge 91 61)) (leaf (edge 91 88)))))) (node (edge 94 88) (node (edge 93 47) (node (edge 92 67) (node (edge 92 45) (node (edge 92 39) (leaf (edge 92 16)) (empty)) (leaf (edge 92 66))) (node (edge 93 14) (node (edge 93 11) (leaf (edge 92 88)) (empty)) (leaf (edge 93 42)))) (node (edge 94 17) (node (edge 93 88) (node (edge 93 63) (leaf (edge 93 62)) (empty)) (leaf (edge 94 10))) (node (edge 94 60) (node (edge 94 40) (leaf (edge 94 38)) (empty)) (leaf (edge 94 65))))) (node (edge 96 32) (node (edge 95 35) (node (edge 95 30) (node (edge 95 28) (leaf (edge 95 1)) (empty)) (leaf (edge 95 33))) (node (edge 96 29) (node (edge 96 1) (leaf (edge 95 36)) (empty)) (leaf (edge 96 31)))) (node (edge 97 51) (node (edge 97 1) (node (edge 96 37) (leaf (edge 96 34)) (empty)) (leaf (edge 97 49))) (node (edge 97 54) (leaf (edge 97 53)) (leaf (edge 97 55))))))) (node (edge 103 67) (node (edge 101 1) (node (edge 99 61) (node (edge 98 56) (node (edge 98 50) (node (edge 98 48) (leaf (edge 98 1)) (empty)) (leaf (edge 98 52))) (node (edge 99 1) (node (edge 98 95) (leaf (edge 98 57)) (empty)) (leaf (edge 99 59)))) (node (edge 100 58) (node (edge 99 66) (node (edge 99 65) (leaf (edge 99 62)) (empty)) (leaf (edge 100 1))) (node (edge 100 64) (node (edge 100 63) (leaf (edge 100 60)) (empty)) (leaf (edge 100 67))))) (node (edge 102 85) (node (edge 101 84) (node (edge 101 82) (node (edge 101 81) (leaf (edge 101 78)) (empty)) (leaf (edge 101 83))) (node (edge 102 79) (node (edge 102 1) (leaf (edge 101 99)) (empty)) (leaf (edge 102 80)))) (node (edge 103 20) (node (edge 102 100) (node (edge 102 87) (leaf (edge 102 86)) (empty)) (leaf (edge 103 2))) (node (edge 103 34) (leaf (edge 103 28)) (leaf (edge 103 62)))))) (node (edge 107 18) (node (edge 105 32) (node (edge 104 60) (node (edge 104 35) (node (edge 104 19) (leaf (edge 104 2)) (empty)) (leaf (edge 104 37))) (node (edge 105 22) (node (edge 105 2) (leaf (edge 104 66)) (empty)) (leaf (edge 105 30)))) (node (edge 106 31) (node (edge 106 2) (node (edge 105 63) (leaf (edge 105 59)) (empty)) (leaf (edge 106 21))) (node (edge 106 61) (node (edge 106 58) (leaf (edge 106 36)) (empty)) (leaf (edge 107 2))))) (node (edge 108 87) (node (edge 108 2) (node (edge 107 64) (node (edge 107 33) (leaf (edge 107 29)) (empty)) (leaf (edge 107 65))) (node (edge 108 51) (node (edge 108 50) (leaf (edge 108 13)) (empty)) (leaf (edge 108 83)))) (node (edge 109 56) (node (edge 109 17) (node (edge 109 2) (leaf (edge 108 104)) (empty)) (leaf (edge 109 55))) (node (edge 109 81) (leaf (edge 109 79)) (leaf (edge 109 105))))))))) (node (edge 129 41) (node (edge 119 112) (node (edge 115 27) (node (edge 112 103) (node (edge 111 53) (node (edge 110 80) (node (edge 110 57) (node (edge 110 54) (leaf (edge 110 16)) (empty)) (leaf (edge 110 78))) (node (edge 111 14) (node (edge 111 2) (leaf (edge 110 106)) (empty)) (leaf (edge 111 48)))) (node (edge 112 15) (node (edge 111 107) (node (edge 111 85) (leaf (edge 111 82)) (empty)) (leaf (edge 112 2))) (node (edge 112 84) (node (edge 112 52) (leaf (edge 112 49)) (empty)) (leaf (edge 112 86))))) (node (edge 114 19) (node (edge 113 53) (node (edge 113 25) (node (edge 113 19) (leaf (edge 113 6)) (empty)) (leaf (edge 113 38))) (node (edge 113 111) (node (edge 113 91) (leaf (edge 113 61)) (empty)) (leaf (edge 114 7)))) (node (edge 114 93) (node (edge 114 52) (node (edge 114 45) (leaf (edge 114 27)) (empty)) (leaf (edge 114 63))) (node (edge 115 4) (leaf (edge 114 112)) (leaf (edge 115 18)))))) (node (edge 117 55) (node (edge 116 47) (node (edge 115 110) (node (edge 115 59) (node (edge 115 54) (leaf (edge 115 46)) (empty)) (leaf (edge 115 90))) (node (edge 116 20) (node (edge 116 5) (leaf (edge 115 114)) (empty)) (leaf (edge 116 25)))) (node (edge 116 113) (node (edge 116 90) (node (edge 116 58) (leaf (edge 116 56)) (empty)) (leaf (edge 116 109))) (node (edge 117 23) (node (edge 117 21) (leaf (edge 117 3)) (empty)) (leaf (edge 117 43))))) (node (edge 118 94) (node (edge 118 21) (node (edge 117 109) (node (edge 117 93) (leaf (edge 117 62)) (empty)) (leaf (edge 118 4))) (node (edge 118 48) (node (edge 118 41) (leaf (edge 118 24)) (empty)) (leaf (edge 118 60)))) (node (edge 119 42) (node (edge 119 22) (node (edge 119 5) (leaf (edge 118 111)) (empty)) (leaf (edge 119 24))) (node (edge 119 66) (leaf (edge 119 49)) (leaf (edge 119 92))))))) (node (edge 124 56) (node (edge 122 18) (node (edge 121 7) (node (edge 120 44) (node (edge 120 22) (node (edge 120 3) (leaf (edge 119 118)) (empty)) (leaf (edge 120 26))) (node (edge 120 91) (node (edge 120 64) (leaf (edge 120 57)) (empty)) (leaf (edge 120 110)))) (node (edge 121 65) (node (edge 121 39) (node (edge 121 26) (leaf (edge 121 20)) (empty)) (leaf (edge 121 51))) (node (edge 121 120) (node (edge 121 108) (leaf (edge 121 94)) (empty)) (leaf (edge 122 6))))) (node (edge 123 47) (node (edge 122 92) (node (edge 122 50) (node (edge 122 40) (leaf (edge 122 23)) (empty)) (leaf (edge 122 67))) (node (edge 123 12) (node (edge 122 117) (leaf (edge 122 108)) (empty)) (leaf (edge 123 28)))) (node (edge 123 97) (node (edge 123 74) (node (edge 123 60) (leaf (edge 123 54)) (empty)) (leaf (edge 123 93))) (node (edge 124 29) (leaf (edge 124 11)) (leaf (edge 124 46)))))) (node (edge 126 97) (node (edge 125 72) (node (edge 125 9) (node (edge 124 91) (node (edge 124 75) (leaf (edge 124 66)) (empty)) (leaf (edge 124 98))) (node (edge 125 52) (node (edge 125 43) (leaf (edge 125 31)) (empty)) (leaf (edge 125 65)))) (node (edge 126 44) (node (edge 126 10) (node (edge 125 98) (leaf (edge 125 90)) (empty)) (leaf (edge 126 30))) (node (edge 126 71) (node (edge 126 67) (leaf (edge 126 53)) (empty)) (leaf (edge 126 90))))) (node (edge 128 32) (node (edge 127 59) (node (edge 127 39) (node (edge 127 34) (leaf (edge 127 12)) (empty)) (leaf (edge 127 48))) (node (edge 127 98) (node (edge 127 92) (leaf (edge 127 68)) (empty)) (leaf (edge 128 10)))) (node (edge 128 93) (node (edge 128 61) (node (edge 128 50) (leaf (edge 128 42)) (empty)) (leaf (edge 128 77))) (node (edge 129 9) (leaf (edge 128 98)) (leaf (edge 129 36)))))))) (node (edge 138 58) (node (edge 134 7) (node (edge 131 94) (node (edge 130 58) (node (edge 129 97) (node (edge 129 76) (node (edge 129 63) (leaf (edge 129 51)) (empty)) (leaf (edge 129 91))) (node (edge 130 40) (node (edge 130 33) (leaf (edge 130 11)) (empty)) (leaf (edge 130 49)))) (node (edge 131 37) (node (edge 130 97) (node (edge 130 94) (leaf (edge 130 73)) (empty)) (leaf (edge 131 8))) (node (edge 131 62) (node (edge 131 57) (leaf (edge 131 38)) (empty)) (leaf (edge 131 70))))) (node (edge 133 4) (node (edge 132 55) (node (edge 132 35) (node (edge 132 8) (leaf (edge 131 98)) (empty)) (leaf (edge 132 45))) (node (edge 132 92) (node (edge 132 69) (leaf (edge 132 64)) (empty)) (leaf (edge 132 97)))) (node (edge 133 79) (node (edge 133 61) (node (edge 133 39) (leaf (edge 133 28)) (empty)) (leaf (edge 133 73))) (node (edge 133 121) (leaf (edge 133 109)) (leaf (edge 133 128)))))) (node (edge 136 38) (node (edge 135 30) (node (edge 134 81) (node (edge 134 67) (node (edge 134 41) (leaf (edge 134 31)) (empty)) (leaf (edge 134 70))) (node (edge 134 126) (node (edge 134 118) (leaf (edge 134 109)) (empty)) (leaf (edge 135 6)))) (node (edge 135 110) (node (edge 135 69) (node (edge 135 65) (leaf (edge 135 42)) (empty)) (leaf (edge 135 80))) (node (edge 136 3) (node (edge 135 125) (leaf (edge 135 119)) (empty)) (leaf (edge 136 35))))) (node (edge 137 63) (node (edge 136 113) (node (edge 136 86) (node (edge 136 76) (leaf (edge 136 59)) (empty)) (leaf (edge 136 112))) (node (edge 137 29) (node (edge 137 5) (leaf (edge 136 127)) (empty)) (leaf (edge 137 40)))) (node (edge 137 129) (node (edge 137 110) (node (edge 137 78) (leaf (edge 137 68)) (empty)) (leaf (edge 137 122))) (node (edge 138 37) (leaf (edge 138 3)) (leaf (edge 138 45))))))) (node (edge 142 111) (node (edge 140 83) (node (edge 139 71) (node (edge 138 130) (node (edge 138 111) (node (edge 138 82) (leaf (edge 138 77)) (empty)) (leaf (edge 138 114))) (node (edge 139 46) (node (edge 139 33) (leaf (edge 139 5)) (empty)) (leaf (edge 139 62)))) (node (edge 140 4) (node (edge 139 115) (node (edge 139 108) (leaf (edge 139 87)) (empty)) (leaf (edge 139 131))) (node (edge 140 64) (node (edge 140 47) (leaf (edge 140 34)) (empty)) (leaf (edge 140 72))))) (node (edge 141 112) (node (edge 141 32) (node (edge 140 132) (node (edge 140 116) (leaf (edge 140 108)) (empty)) (leaf (edge 141 6))) (node (edge 141 75) (node (edge 141 60) (leaf (edge 141 44)) (empty)) (leaf (edge 141 84)))) (node (edge 142 43) (node (edge 142 7) (node (edge 141 123) (leaf (edge 141 120)) (empty)) (leaf (edge 142 36))) (node (edge 142 74) (leaf (edge 142 66)) (leaf (edge 142 85)))))) (node (edge 145 33) (node (edge 143 125) (node (edge 143 46) (node (edge 143 9) (node (edge 142 124) (leaf (edge 142 117)) (empty)) (leaf (edge 143 28))) (node (edge 143 78) (node (edge 143 77) (leaf (edge 143 53)) (empty)) (leaf (edge 143 103)))) (node (edge 144 69) (node (edge 144 41) (node (edge 144 34) (leaf (edge 144 11)) (empty)) (leaf (edge 144 57))) (node (edge 144 130) (node (edge 144 103) (leaf (edge 144 85)) (empty)) (leaf (edge 145 12))))) (node (edge 146 56) (node (edge 145 107) (node (edge 145 70) (node (edge 145 55) (leaf (edge 145 42)) (empty)) (leaf (edge 145 84))) (node (edge 146 37) (node (edge 146 9) (leaf (edge 145 127)) (empty)) (leaf (edge 146 44)))) (node (edge 147 8) (node (edge 146 104) (node (edge 146 80) (leaf (edge 146 73)) (empty)) (leaf (edge 146 129))) (node (edge 147 40) (leaf (edge 147 32)) (leaf (edge 147 48)))))))))) (node (edge 180 20) (node (edge 165 74) (node (edge 156 142) (node (edge 152 50) (node (edge 150 10) (node (edge 148 106) (node (edge 148 36) (node (edge 147 132) (node (edge 147 105) (leaf (edge 147 87)) (empty)) (leaf (edge 148 8))) (node (edge 148 75) (node (edge 148 49) (leaf (edge 148 39)) (empty)) (leaf (edge 148 83)))) (node (edge 149 54) (node (edge 149 35) (node (edge 149 10) (leaf (edge 148 131)) (empty)) (leaf (edge 149 43))) (node (edge 149 104) (node (edge 149 81) (leaf (edge 149 68)) (empty)) (leaf (edge 149 128))))) (node (edge 151 38) (node (edge 150 79) (node (edge 150 52) (node (edge 150 47) (leaf (edge 150 29)) (empty)) (leaf (edge 150 76))) (node (edge 151 11) (node (edge 150 126) (leaf (edge 150 107)) (empty)) (leaf (edge 151 30)))) (node (edge 151 124) (node (edge 151 82) (node (edge 151 72) (leaf (edge 151 51)) (empty)) (leaf (edge 151 105))) (node (edge 152 31) (leaf (edge 152 12)) (leaf (edge 152 45)))))) (node (edge 154 99) (node (edge 153 84) (node (edge 153 4) (node (edge 152 106) (node (edge 152 86) (leaf (edge 152 71)) (empty)) (leaf (edge 152 123))) (node (edge 153 63) (node (edge 153 57) (leaf (edge 153 43)) (empty)) (leaf (edge 153 71)))) (node (edge 154 44) (node (edge 153 144) (node (edge 153 133) (leaf (edge 153 100)) (empty)) (leaf (edge 154 5))) (node (edge 154 72) (node (edge 154 61) (leaf (edge 154 55)) (empty)) (leaf (edge 154 85))))) (node (edge 155 141) (node (edge 155 51) (node (edge 155 6) (node (edge 154 145) (leaf (edge 154 137)) (empty)) (leaf (edge 155 45))) (node (edge 155 79) (node (edge 155 68) (leaf (edge 155 62)) (empty)) (leaf (edge 155 99)))) (node (edge 156 64) (node (edge 156 38) (node (edge 156 7) (leaf (edge 155 151)) (empty)) (leaf (edge 156 50))) (node (edge 156 78) (leaf (edge 156 73)) (leaf (edge 156 100))))))) (node (edge 161 42) (node (edge 159 3) (node (edge 157 148) (node (edge 157 59) (node (edge 157 47) (node (edge 157 7) (leaf (edge 156 152)) (empty)) (leaf (edge 157 49))) (node (edge 157 99) (node (edge 157 80) (leaf (edge 157 77)) (empty)) (leaf (edge 157 134)))) (node (edge 158 69) (node (edge 158 52) (node (edge 158 39) (leaf (edge 158 5)) (empty)) (leaf (edge 158 60))) (node (edge 158 139) (node (edge 158 100) (leaf (edge 158 82)) (empty)) (leaf (edge 158 150))))) (node (edge 160 46) (node (edge 159 87) (node (edge 159 65) (node (edge 159 54) (leaf (edge 159 41)) (empty)) (leaf (edge 159 75))) (node (edge 159 149) (node (edge 159 138) (leaf (edge 159 99)) (empty)) (leaf (edge 160 6)))) (node (edge 160 100) (node (edge 160 76) (node (edge 160 58) (leaf (edge 160 48)) (empty)) (leaf (edge 160 81))) (node (edge 160 147) (leaf (edge 160 135)) (leaf (edge 161 3)))))) (node (edge 163 49) (node (edge 162 53) (node (edge 161 100) (node (edge 161 74) (node (edge 161 67) (leaf (edge 161 56)) (empty)) (leaf (edge 161 83))) (node (edge 162 4) (node (edge 161 146) (leaf (edge 161 136)) (empty)) (leaf (edge 162 40)))) (node (edge 162 140) (node (edge 162 86) (node (edge 162 70) (leaf (edge 162 66)) (empty)) (leaf (edge 162 99))) (node (edge 163 19) (node (edge 163 3) (leaf (edge 162 143)) (empty)) (leaf (edge 163 48))))) (node (edge 164 75) (node (edge 163 154) (node (edge 163 89) (node (edge 163 72) (leaf (edge 163 71)) (empty)) (leaf (edge 163 153))) (node (edge 164 50) (node (edge 164 20) (leaf (edge 164 4)) (empty)) (leaf (edge 164 55)))) (node (edge 165 5) (node (edge 164 159) (node (edge 164 89) (leaf (edge 164 76)) (empty)) (leaf (edge 164 160))) (node (edge 165 51) (leaf (edge 165 18)) (leaf (edge 165 57)))))))) (node (edge 172 106) (node (edge 169 80) (node (edge 167 89) (node (edge 166 73) (node (edge 166 6) (node (edge 165 157) (node (edge 165 89) (leaf (edge 165 77)) (empty)) (leaf (edge 165 161))) (node (edge 166 54) (node (edge 166 52) (leaf (edge 166 22)) (empty)) (leaf (edge 166 70)))) (node (edge 167 21) (node (edge 166 162) (node (edge 166 156) (leaf (edge 166 89)) (empty)) (leaf (edge 167 7))) (node (edge 167 68) (node (edge 167 56) (leaf (edge 167 53)) (empty)) (leaf (edge 167 69))))) (node (edge 168 104) (node (edge 168 41) (node (edge 168 8) (node (edge 167 158) (leaf (edge 167 155)) (empty)) (leaf (edge 168 19))) (node (edge 168 79) (node (edge 168 78) (leaf (edge 168 42)) (empty)) (leaf (edge 168 90)))) (node (edge 169 12) (node (edge 168 155) (node (edge 168 145) (leaf (edge 168 144)) (empty)) (leaf (edge 168 156))) (node (edge 169 40) (leaf (edge 169 20)) (leaf (edge 169 43)))))) (node (edge 171 10) (node (edge 170 39) (node (edge 169 149) (node (edge 169 103) (node (edge 169 91) (leaf (edge 169 82)) (empty)) (leaf (edge 169 147))) (node (edge 170 11) (node (edge 169 158) (leaf (edge 169 157)) (empty)) (leaf (edge 170 18)))) (node (edge 170 107) (node (edge 170 86) (node (edge 170 81) (leaf (edge 170 44)) (empty)) (leaf (edge 170 93))) (node (edge 170 160) (node (edge 170 148) (leaf (edge 170 146)) (empty)) (leaf (edge 170 162))))) (node (edge 171 154) (node (edge 171 85) (node (edge 171 46) (node (edge 171 45) (leaf (edge 171 22)) (empty)) (leaf (edge 171 83))) (node (edge 171 143) (node (edge 171 105) (leaf (edge 171 94)) (empty)) (leaf (edge 171 152)))) (node (edge 172 47) (node (edge 172 21) (node (edge 172 9) (leaf (edge 171 161)) (empty)) (leaf (edge 172 38))) (node (edge 172 87) (leaf (edge 172 84)) (leaf (edge 172 92))))))) (node (edge 176 35) (node (edge 174 81) (node (edge 173 82) (node (edge 173 8) (node (edge 172 153) (node (edge 172 151) (leaf (edge 172 150)) (empty)) (leaf (edge 172 159))) (node (edge 173 28) (node (edge 173 23) (leaf (edge 173 22)) (empty)) (leaf (edge 173 76)))) (node (edge 174 9) (node (edge 173 129) (node (edge 173 119) (leaf (edge 173 101)) (empty)) (leaf (edge 173 133))) (node (edge 174 33) (node (edge 174 26) (leaf (edge 174 19)) (empty)) (leaf (edge 174 74))))) (node (edge 175 80) (node (edge 175 10) (node (edge 174 123) (node (edge 174 113) (leaf (edge 174 101)) (empty)) (leaf (edge 174 139))) (node (edge 175 34) (node (edge 175 23) (leaf (edge 175 19)) (empty)) (leaf (edge 175 75)))) (node (edge 175 173) (node (edge 175 124) (node (edge 175 114) (leaf (edge 175 102)) (empty)) (leaf (edge 175 140))) (node (edge 176 20) (leaf (edge 176 11)) (leaf (edge 176 24)))))) (node (edge 178 37) (node (edge 177 36) (node (edge 176 126) (node (edge 176 101) (node (edge 176 78) (leaf (edge 176 71)) (empty)) (leaf (edge 176 121))) (node (edge 177 18) (node (edge 177 10) (leaf (edge 176 136)) (empty)) (leaf (edge 177 25)))) (node (edge 177 132) (node (edge 177 101) (node (edge 177 84) (leaf (edge 177 69)) (empty)) (leaf (edge 177 115))) (node (edge 178 18) (node (edge 178 12) (leaf (edge 177 142)) (empty)) (leaf (edge 178 24))))) (node (edge 179 27) (node (edge 178 125) (node (edge 178 102) (node (edge 178 79) (leaf (edge 178 72)) (empty)) (leaf (edge 178 122))) (node (edge 179 12) (node (edge 178 176) (leaf (edge 178 138)) (empty)) (leaf (edge 179 21)))) (node (edge 179 117) (node (edge 179 83) (node (edge 179 73) (leaf (edge 179 30)) (empty)) (leaf (edge 179 101))) (node (edge 179 135) (leaf (edge 179 130)) (leaf (edge 180 9))))))))) (node (edge 194 163) (node (edge 187 86) (node (edge 183 114) (node (edge 181 174) (node (edge 181 8) (node (edge 180 102) (node (edge 180 70) (node (edge 180 32) (leaf (edge 180 27)) (empty)) (leaf (edge 180 85))) (node (edge 180 141) (node (edge 180 131) (leaf (edge 180 116)) (empty)) (leaf (edge 180 179)))) (node (edge 181 86) (node (edge 181 29) (node (edge 181 26) (leaf (edge 181 21)) (empty)) (leaf (edge 181 77))) (node (edge 181 128) (node (edge 181 118) (leaf (edge 181 102)) (empty)) (leaf (edge 181 137))))) (node (edge 182 134) (node (edge 182 68) (node (edge 182 25) (node (edge 182 22) (leaf (edge 182 11)) (empty)) (leaf (edge 182 31))) (node (edge 182 120) (node (edge 182 102) (leaf (edge 182 87)) (empty)) (leaf (edge 182 127)))) (node (edge 183 28) (node (edge 183 17) (node (edge 183 7) (leaf (edge 182 177)) (empty)) (leaf (edge 183 24))) (node (edge 183 87) (leaf (edge 183 44)) (leaf (edge 183 95)))))) (node (edge 185 117) (node (edge 184 120) (node (edge 184 27) (node (edge 184 3) (node (edge 183 154) (leaf (edge 183 147)) (empty)) (leaf (edge 184 14))) (node (edge 184 79) (node (edge 184 40) (leaf (edge 184 36)) (empty)) (leaf (edge 184 95)))) (node (edge 185 25) (node (edge 185 3) (node (edge 184 162) (leaf (edge 184 150)) (empty)) (leaf (edge 185 15))) (node (edge 185 78) (node (edge 185 39) (leaf (edge 185 32)) (empty)) (leaf (edge 185 96))))) (node (edge 186 118) (node (edge 186 25) (node (edge 186 4) (node (edge 185 158) (leaf (edge 185 143)) (empty)) (leaf (edge 186 13))) (node (edge 186 80) (node (edge 186 45) (leaf (edge 186 33)) (empty)) (leaf (edge 186 95)))) (node (edge 187 16) (node (edge 186 185) (node (edge 186 155) (leaf (edge 186 146)) (empty)) (leaf (edge 187 5))) (node (edge 187 30) (leaf (edge 187 23)) (leaf (edge 187 41))))))) (node (edge 191 26) (node (edge 189 46) (node (edge 188 81) (node (edge 188 5) (node (edge 187 152) (node (edge 187 116) (leaf (edge 187 95)) (empty)) (leaf (edge 187 159))) (node (edge 188 34) (node (edge 188 27) (leaf (edge 188 13)) (empty)) (leaf (edge 188 38)))) (node (edge 188 184) (node (edge 188 149) (node (edge 188 119) (leaf (edge 188 96)) (empty)) (leaf (edge 188 156))) (node (edge 189 23) (node (edge 189 14) (leaf (edge 189 7)) (empty)) (leaf (edge 189 37))))) (node (edge 190 35) (node (edge 189 160) (node (edge 189 121) (node (edge 189 96) (leaf (edge 189 84)) (empty)) (leaf (edge 189 145))) (node (edge 190 15) (node (edge 190 6) (leaf (edge 189 187)) (empty)) (leaf (edge 190 26)))) (node (edge 190 144) (node (edge 190 95) (node (edge 190 85) (leaf (edge 190 47)) (empty)) (leaf (edge 190 122))) (node (edge 191 4) (leaf (edge 190 157)) (leaf (edge 191 17)))))) (node (edge 193 9) (node (edge 192 16) (node (edge 191 115) (node (edge 191 82) (node (edge 191 42) (leaf (edge 191 31)) (empty)) (leaf (edge 191 96))) (node (edge 191 190) (node (edge 191 161) (leaf (edge 191 151)) (empty)) (leaf (edge 192 6)))) (node (edge 192 96) (node (edge 192 43) (node (edge 192 29) (leaf (edge 192 24)) (empty)) (leaf (edge 192 83))) (node (edge 192 153) (node (edge 192 148) (leaf (edge 192 113)) (empty)) (leaf (edge 192 183))))) (node (edge 193 191) (node (edge 193 68) (node (edge 193 49) (node (edge 193 23) (leaf (edge 193 17)) (empty)) (leaf (edge 193 64))) (node (edge 193 163) (node (edge 193 149) (leaf (edge 193 107)) (empty)) (leaf (edge 193 180)))) (node (edge 194 62) (node (edge 194 26) (node (edge 194 16) (leaf (edge 194 10)) (empty)) (leaf (edge 194 48))) (node (edge 194 103) (leaf (edge 194 73)) (leaf (edge 194 146)))))))) (node (edge 201 71) (node (edge 198 13) (node (edge 196 106) (node (edge 195 144) (node (edge 195 24) (node (edge 195 9) (node (edge 194 187) (leaf (edge 194 177)) (empty)) (leaf (edge 195 14))) (node (edge 195 69) (node (edge 195 59) (leaf (edge 195 50)) (empty)) (leaf (edge 195 105)))) (node (edge 196 15) (node (edge 195 184) (node (edge 195 174) (leaf (edge 195 164)) (empty)) (leaf (edge 196 10))) (node (edge 196 58) (node (edge 196 51) (leaf (edge 196 24)) (empty)) (leaf (edge 196 70))))) (node (edge 197 61) (node (edge 196 195) (node (edge 196 175) (node (edge 196 165) (leaf (edge 196 145)) (empty)) (leaf (edge 196 185))) (node (edge 197 23) (node (edge 197 13) (leaf (edge 197 11)) (empty)) (leaf (edge 197 52)))) (node (edge 197 176) (node (edge 197 147) (node (edge 197 106) (leaf (edge 197 74)) (empty)) (leaf (edge 197 166))) (node (edge 197 193) (leaf (edge 197 186)) (leaf (edge 198 12)))))) (node (edge 199 179) (node (edge 198 194) (node (edge 198 105) (node (edge 198 63) (node (edge 198 53) (leaf (edge 198 26)) (empty)) (leaf (edge 198 75))) (node (edge 198 178) (node (edge 198 167) (leaf (edge 198 148)) (empty)) (leaf (edge 198 188)))) (node (edge 199 66) (node (edge 199 25) (node (edge 199 17) (leaf (edge 199 12)) (empty)) (leaf (edge 199 57))) (node (edge 199 150) (node (edge 199 104) (leaf (edge 199 76)) (empty)) (leaf (edge 199 165))))) (node (edge 200 166) (node (edge 200 54) (node (edge 200 14) (node (edge 200 8) (leaf (edge 199 183)) (empty)) (leaf (edge 200 25))) (node (edge 200 103) (node (edge 200 72) (leaf (edge 200 67)) (empty)) (leaf (edge 200 151)))) (node (edge 201 15) (node (edge 200 199) (node (edge 200 189) (leaf (edge 200 181)) (empty)) (leaf (edge 201 8))) (node (edge 201 56) (leaf (edge 201 27)) (leaf (edge 201 65))))))) (node (edge 204 138) (node (edge 203 28) (node (edge 202 60) (node (edge 201 190) (node (edge 201 167) (node (edge 201 152) (leaf (edge 201 107)) (empty)) (leaf (edge 201 173))) (node (edge 202 27) (node (edge 202 16) (leaf (edge 202 11)) (empty)) (leaf (edge 202 55)))) (node (edge 202 182) (node (edge 202 143) (node (edge 202 104) (leaf (edge 202 77)) (empty)) (leaf (edge 202 164))) (node (edge 203 3) (node (edge 202 201) (leaf (edge 202 192)) (empty)) (leaf (edge 203 13))))) (node (edge 204 6) (node (edge 203 123) (node (edge 203 70) (node (edge 203 69) (leaf (edge 203 29)) (empty)) (leaf (edge 203 108))) (node (edge 203 135) (node (edge 203 134) (leaf (edge 203 124)) (empty)) (leaf (edge 203 163)))) (node (edge 204 77) (node (edge 204 36) (node (edge 204 34) (leaf (edge 204 17)) (empty)) (leaf (edge 204 71))) (node (edge 204 127) (leaf (edge 204 109)) (leaf (edge 204 129)))))) (node (edge 206 76) (node (edge 205 126) (node (edge 205 30) (node (edge 205 4) (node (edge 204 166) (leaf (edge 204 139)) (empty)) (leaf (edge 205 15))) (node (edge 205 74) (node (edge 205 68) (leaf (edge 205 37)) (empty)) (leaf (edge 205 112)))) (node (edge 206 7) (node (edge 205 142) (node (edge 205 137) (leaf (edge 205 131)) (empty)) (leaf (edge 205 164))) (node (edge 206 33) (node (edge 206 32) (leaf (edge 206 16)) (empty)) (leaf (edge 206 72))))) (node (edge 207 35) (node (edge 206 140) (node (edge 206 130) (node (edge 206 128) (leaf (edge 206 110)) (empty)) (leaf (edge 206 136))) (node (edge 207 14) (node (edge 207 5) (leaf (edge 206 167)) (empty)) (leaf (edge 207 31)))) (node (edge 207 132) (node (edge 207 111) (node (edge 207 75) (leaf (edge 207 73)) (empty)) (leaf (edge 207 125))) (node (edge 207 141) (leaf (edge 207 133)) (leaf (edge 207 165))))))))))
(* This F* version was contributed by Danel Ahman.
The performance of F* is closed to that of OCaml. *)
module example
type tree (a : Type) =
| Empty : tree a
| Leaf : a -> tree a
| Node : a -> tree a -> tree a -> tree a
type edge_t = {
fst : nat;
snd : nat
}
let edge (x y : nat) : edge_t =
{ fst = x; snd = y }
let test1 = Node (edge 5 0) Empty (Leaf (edge 3 1))
let test2 = Node (edge 147 74) (Node (edge 110 2) (Node (edge 85 13) (Node (edge 60 36) (Node (edge 43 33) (Node (edge 29 20) (Node (edge 8 3) (Node (edge 4 0) (Node (edge 2 1) (Node (edge 2 0) (Leaf (edge 1 0)) (Empty)) (Leaf (edge 3 0))) (Node (edge 7 0) (Node (edge 6 0) (Leaf (edge 5 0)) (Empty)) (Leaf (edge 8 0)))) (Node (edge 11 0) (Node (edge 10 0) (Node (edge 9 7) (Leaf (edge 9 0)) (Empty)) (Leaf (edge 10 6))) (Node (edge 12 4) (Node (edge 12 0) (Leaf (edge 11 5)) (Empty)) (Leaf (edge 28 18))))) (Node (edge 38 28) (Node (edge 34 21) (Node (edge 32 18) (Node (edge 31 19) (Leaf (edge 30 19)) (Empty)) (Leaf (edge 33 22))) (Node (edge 37 22) (Node (edge 36 20) (Leaf (edge 35 21)) (Empty)) (Leaf (edge 38 18)))) (Node (edge 41 18) (Node (edge 40 19) (Node (edge 39 30) (Leaf (edge 39 19)) (Empty)) (Leaf (edge 40 31))) (Node (edge 42 36) (Node (edge 42 20) (Leaf (edge 41 32)) (Empty)) (Leaf (edge 43 22)))))) (Node (edge 52 41) (Node (edge 48 47) (Node (edge 46 21) (Node (edge 45 20) (Node (edge 44 34) (Leaf (edge 44 21)) (Empty)) (Leaf (edge 45 29))) (Node (edge 47 37) (Node (edge 47 22) (Leaf (edge 46 35)) (Empty)) (Leaf (edge 48 27)))) (Node (edge 50 49) (Node (edge 50 25) (Node (edge 49 46) (Leaf (edge 49 25)) (Empty)) (Leaf (edge 50 44))) (Node (edge 51 48) (Node (edge 51 43) (Leaf (edge 51 27)) (Empty)) (Leaf (edge 52 26))))) (Node (edge 56 54) (Node (edge 55 26) (Node (edge 54 24) (Node (edge 53 42) (Leaf (edge 53 23)) (Empty)) (Leaf (edge 54 39))) (Node (edge 56 24) (Node (edge 55 52) (Leaf (edge 55 38)) (Empty)) (Leaf (edge 56 40)))) (Node (edge 58 28) (Node (edge 57 53) (Node (edge 57 45) (Leaf (edge 57 23)) (Empty)) (Leaf (edge 58 26))) (Node (edge 59 29) (Leaf (edge 59 23)) (Leaf (edge 60 23))))))) (Node (edge 74 34) (Node (edge 68 14) (Node (edge 64 62) (Node (edge 62 31) (Node (edge 61 37) (Node (edge 61 27) (Leaf (edge 60 59)) (Empty)) (Leaf (edge 62 24))) (Node (edge 64 24) (Node (edge 63 35) (Leaf (edge 63 25)) (Empty)) (Leaf (edge 64 30)))) (Node (edge 66 32) (Node (edge 65 63) (Node (edge 65 34) (Leaf (edge 65 25)) (Empty)) (Leaf (edge 66 26))) (Node (edge 67 33) (Node (edge 67 27) (Leaf (edge 66 58)) (Empty)) (Leaf (edge 67 61))))) (Node (edge 71 32) (Node (edge 69 61) (Node (edge 69 17) (Node (edge 68 58) (Leaf (edge 68 28)) (Empty)) (Leaf (edge 69 37))) (Node (edge 70 63) (Node (edge 70 35) (Leaf (edge 70 16)) (Empty)) (Leaf (edge 71 14)))) (Node (edge 73 15) (Node (edge 72 36) (Node (edge 72 15) (Leaf (edge 71 66)) (Empty)) (Leaf (edge 72 60))) (Node (edge 73 59) (Leaf (edge 73 29)) (Leaf (edge 74 16)))))) (Node (edge 80 38) (Node (edge 77 64) (Node (edge 76 13) (Node (edge 75 33) (Node (edge 75 17) (Leaf (edge 74 65)) (Empty)) (Leaf (edge 75 67))) (Node (edge 77 13) (Node (edge 76 62) (Leaf (edge 76 31)) (Empty)) (Leaf (edge 77 30)))) (Node (edge 79 16) (Node (edge 78 48) (Node (edge 78 47) (Leaf (edge 78 17)) (Empty)) (Leaf (edge 78 75))) (Node (edge 79 74) (Node (edge 79 49) (Leaf (edge 79 46)) (Empty)) (Leaf (edge 80 14))))) (Node (edge 82 70) (Node (edge 81 57) (Node (edge 81 15) (Node (edge 80 71) (Leaf (edge 80 55)) (Empty)) (Leaf (edge 81 45))) (Node (edge 82 44) (Node (edge 82 16) (Leaf (edge 81 72)) (Empty)) (Leaf (edge 82 50)))) (Node (edge 84 13) (Node (edge 83 52) (Node (edge 83 41) (Leaf (edge 83 14)) (Empty)) (Leaf (edge 83 68))) (Node (edge 84 56) (Leaf (edge 84 40)) (Leaf (edge 84 77)))))))) (Node (edge 97 96) (Node (edge 92 9) (Node (edge 89 19) (Node (edge 87 53) (Node (edge 86 43) (Node (edge 85 76) (Node (edge 85 54) (Leaf (edge 85 39)) (Empty)) (Leaf (edge 86 17))) (Node (edge 87 15) (Node (edge 86 69) (Leaf (edge 86 51)) (Empty)) (Leaf (edge 87 42)))) (Node (edge 88 15) (Node (edge 88 13) (Node (edge 88 1) (Leaf (edge 87 73)) (Empty)) (Leaf (edge 88 14))) (Node (edge 89 1) (Node (edge 88 17) (Leaf (edge 88 16)) (Empty)) (Leaf (edge 89 18))))) (Node (edge 90 59) (Node (edge 90 8) (Node (edge 89 22) (Node (edge 89 21) (Leaf (edge 89 20)) (Empty)) (Leaf (edge 89 88))) (Node (edge 90 44) (Node (edge 90 43) (Leaf (edge 90 13)) (Empty)) (Leaf (edge 90 58)))) (Node (edge 91 46) (Node (edge 91 15) (Node (edge 91 12) (Leaf (edge 90 88)) (Empty)) (Leaf (edge 91 41))) (Node (edge 91 64) (Leaf (edge 91 61)) (Leaf (edge 91 88)))))) (Node (edge 94 88) (Node (edge 93 47) (Node (edge 92 67) (Node (edge 92 45) (Node (edge 92 39) (Leaf (edge 92 16)) (Empty)) (Leaf (edge 92 66))) (Node (edge 93 14) (Node (edge 93 11) (Leaf (edge 92 88)) (Empty)) (Leaf (edge 93 42)))) (Node (edge 94 17) (Node (edge 93 88) (Node (edge 93 63) (Leaf (edge 93 62)) (Empty)) (Leaf (edge 94 10))) (Node (edge 94 60) (Node (edge 94 40) (Leaf (edge 94 38)) (Empty)) (Leaf (edge 94 65))))) (Node (edge 96 32) (Node (edge 95 35) (Node (edge 95 30) (Node (edge 95 28) (Leaf (edge 95 1)) (Empty)) (Leaf (edge 95 33))) (Node (edge 96 29) (Node (edge 96 1) (Leaf (edge 95 36)) (Empty)) (Leaf (edge 96 31)))) (Node (edge 97 51) (Node (edge 97 1) (Node (edge 96 37) (Leaf (edge 96 34)) (Empty)) (Leaf (edge 97 49))) (Node (edge 97 54) (Leaf (edge 97 53)) (Leaf (edge 97 55))))))) (Node (edge 103 67) (Node (edge 101 1) (Node (edge 99 61) (Node (edge 98 56) (Node (edge 98 50) (Node (edge 98 48) (Leaf (edge 98 1)) (Empty)) (Leaf (edge 98 52))) (Node (edge 99 1) (Node (edge 98 95) (Leaf (edge 98 57)) (Empty)) (Leaf (edge 99 59)))) (Node (edge 100 58) (Node (edge 99 66) (Node (edge 99 65) (Leaf (edge 99 62)) (Empty)) (Leaf (edge 100 1))) (Node (edge 100 64) (Node (edge 100 63) (Leaf (edge 100 60)) (Empty)) (Leaf (edge 100 67))))) (Node (edge 102 85) (Node (edge 101 84) (Node (edge 101 82) (Node (edge 101 81) (Leaf (edge 101 78)) (Empty)) (Leaf (edge 101 83))) (Node (edge 102 79) (Node (edge 102 1) (Leaf (edge 101 99)) (Empty)) (Leaf (edge 102 80)))) (Node (edge 103 20) (Node (edge 102 100) (Node (edge 102 87) (Leaf (edge 102 86)) (Empty)) (Leaf (edge 103 2))) (Node (edge 103 34) (Leaf (edge 103 28)) (Leaf (edge 103 62)))))) (Node (edge 107 18) (Node (edge 105 32) (Node (edge 104 60) (Node (edge 104 35) (Node (edge 104 19) (Leaf (edge 104 2)) (Empty)) (Leaf (edge 104 37))) (Node (edge 105 22) (Node (edge 105 2) (Leaf (edge 104 66)) (Empty)) (Leaf (edge 105 30)))) (Node (edge 106 31) (Node (edge 106 2) (Node (edge 105 63) (Leaf (edge 105 59)) (Empty)) (Leaf (edge 106 21))) (Node (edge 106 61) (Node (edge 106 58) (Leaf (edge 106 36)) (Empty)) (Leaf (edge 107 2))))) (Node (edge 108 87) (Node (edge 108 2) (Node (edge 107 64) (Node (edge 107 33) (Leaf (edge 107 29)) (Empty)) (Leaf (edge 107 65))) (Node (edge 108 51) (Node (edge 108 50) (Leaf (edge 108 13)) (Empty)) (Leaf (edge 108 83)))) (Node (edge 109 56) (Node (edge 109 17) (Node (edge 109 2) (Leaf (edge 108 104)) (Empty)) (Leaf (edge 109 55))) (Node (edge 109 81) (Leaf (edge 109 79)) (Leaf (edge 109 105))))))))) (Node (edge 129 41) (Node (edge 119 112) (Node (edge 115 27) (Node (edge 112 103) (Node (edge 111 53) (Node (edge 110 80) (Node (edge 110 57) (Node (edge 110 54) (Leaf (edge 110 16)) (Empty)) (Leaf (edge 110 78))) (Node (edge 111 14) (Node (edge 111 2) (Leaf (edge 110 106)) (Empty)) (Leaf (edge 111 48)))) (Node (edge 112 15) (Node (edge 111 107) (Node (edge 111 85) (Leaf (edge 111 82)) (Empty)) (Leaf (edge 112 2))) (Node (edge 112 84) (Node (edge 112 52) (Leaf (edge 112 49)) (Empty)) (Leaf (edge 112 86))))) (Node (edge 114 19) (Node (edge 113 53) (Node (edge 113 25) (Node (edge 113 19) (Leaf (edge 113 6)) (Empty)) (Leaf (edge 113 38))) (Node (edge 113 111) (Node (edge 113 91) (Leaf (edge 113 61)) (Empty)) (Leaf (edge 114 7)))) (Node (edge 114 93) (Node (edge 114 52) (Node (edge 114 45) (Leaf (edge 114 27)) (Empty)) (Leaf (edge 114 63))) (Node (edge 115 4) (Leaf (edge 114 112)) (Leaf (edge 115 18)))))) (Node (edge 117 55) (Node (edge 116 47) (Node (edge 115 110) (Node (edge 115 59) (Node (edge 115 54) (Leaf (edge 115 46)) (Empty)) (Leaf (edge 115 90))) (Node (edge 116 20) (Node (edge 116 5) (Leaf (edge 115 114)) (Empty)) (Leaf (edge 116 25)))) (Node (edge 116 113) (Node (edge 116 90) (Node (edge 116 58) (Leaf (edge 116 56)) (Empty)) (Leaf (edge 116 109))) (Node (edge 117 23) (Node (edge 117 21) (Leaf (edge 117 3)) (Empty)) (Leaf (edge 117 43))))) (Node (edge 118 94) (Node (edge 118 21) (Node (edge 117 109) (Node (edge 117 93) (Leaf (edge 117 62)) (Empty)) (Leaf (edge 118 4))) (Node (edge 118 48) (Node (edge 118 41) (Leaf (edge 118 24)) (Empty)) (Leaf (edge 118 60)))) (Node (edge 119 42) (Node (edge 119 22) (Node (edge 119 5) (Leaf (edge 118 111)) (Empty)) (Leaf (edge 119 24))) (Node (edge 119 66) (Leaf (edge 119 49)) (Leaf (edge 119 92))))))) (Node (edge 124 56) (Node (edge 122 18) (Node (edge 121 7) (Node (edge 120 44) (Node (edge 120 22) (Node (edge 120 3) (Leaf (edge 119 118)) (Empty)) (Leaf (edge 120 26))) (Node (edge 120 91) (Node (edge 120 64) (Leaf (edge 120 57)) (Empty)) (Leaf (edge 120 110)))) (Node (edge 121 65) (Node (edge 121 39) (Node (edge 121 26) (Leaf (edge 121 20)) (Empty)) (Leaf (edge 121 51))) (Node (edge 121 120) (Node (edge 121 108) (Leaf (edge 121 94)) (Empty)) (Leaf (edge 122 6))))) (Node (edge 123 47) (Node (edge 122 92) (Node (edge 122 50) (Node (edge 122 40) (Leaf (edge 122 23)) (Empty)) (Leaf (edge 122 67))) (Node (edge 123 12) (Node (edge 122 117) (Leaf (edge 122 108)) (Empty)) (Leaf (edge 123 28)))) (Node (edge 123 97) (Node (edge 123 74) (Node (edge 123 60) (Leaf (edge 123 54)) (Empty)) (Leaf (edge 123 93))) (Node (edge 124 29) (Leaf (edge 124 11)) (Leaf (edge 124 46)))))) (Node (edge 126 97) (Node (edge 125 72) (Node (edge 125 9) (Node (edge 124 91) (Node (edge 124 75) (Leaf (edge 124 66)) (Empty)) (Leaf (edge 124 98))) (Node (edge 125 52) (Node (edge 125 43) (Leaf (edge 125 31)) (Empty)) (Leaf (edge 125 65)))) (Node (edge 126 44) (Node (edge 126 10) (Node (edge 125 98) (Leaf (edge 125 90)) (Empty)) (Leaf (edge 126 30))) (Node (edge 126 71) (Node (edge 126 67) (Leaf (edge 126 53)) (Empty)) (Leaf (edge 126 90))))) (Node (edge 128 32) (Node (edge 127 59) (Node (edge 127 39) (Node (edge 127 34) (Leaf (edge 127 12)) (Empty)) (Leaf (edge 127 48))) (Node (edge 127 98) (Node (edge 127 92) (Leaf (edge 127 68)) (Empty)) (Leaf (edge 128 10)))) (Node (edge 128 93) (Node (edge 128 61) (Node (edge 128 50) (Leaf (edge 128 42)) (Empty)) (Leaf (edge 128 77))) (Node (edge 129 9) (Leaf (edge 128 98)) (Leaf (edge 129 36)))))))) (Node (edge 138 58) (Node (edge 134 7) (Node (edge 131 94) (Node (edge 130 58) (Node (edge 129 97) (Node (edge 129 76) (Node (edge 129 63) (Leaf (edge 129 51)) (Empty)) (Leaf (edge 129 91))) (Node (edge 130 40) (Node (edge 130 33) (Leaf (edge 130 11)) (Empty)) (Leaf (edge 130 49)))) (Node (edge 131 37) (Node (edge 130 97) (Node (edge 130 94) (Leaf (edge 130 73)) (Empty)) (Leaf (edge 131 8))) (Node (edge 131 62) (Node (edge 131 57) (Leaf (edge 131 38)) (Empty)) (Leaf (edge 131 70))))) (Node (edge 133 4) (Node (edge 132 55) (Node (edge 132 35) (Node (edge 132 8) (Leaf (edge 131 98)) (Empty)) (Leaf (edge 132 45))) (Node (edge 132 92) (Node (edge 132 69) (Leaf (edge 132 64)) (Empty)) (Leaf (edge 132 97)))) (Node (edge 133 79) (Node (edge 133 61) (Node (edge 133 39) (Leaf (edge 133 28)) (Empty)) (Leaf (edge 133 73))) (Node (edge 133 121) (Leaf (edge 133 109)) (Leaf (edge 133 128)))))) (Node (edge 136 38) (Node (edge 135 30) (Node (edge 134 81) (Node (edge 134 67) (Node (edge 134 41) (Leaf (edge 134 31)) (Empty)) (Leaf (edge 134 70))) (Node (edge 134 126) (Node (edge 134 118) (Leaf (edge 134 109)) (Empty)) (Leaf (edge 135 6)))) (Node (edge 135 110) (Node (edge 135 69) (Node (edge 135 65) (Leaf (edge 135 42)) (Empty)) (Leaf (edge 135 80))) (Node (edge 136 3) (Node (edge 135 125) (Leaf (edge 135 119)) (Empty)) (Leaf (edge 136 35))))) (Node (edge 137 63) (Node (edge 136 113) (Node (edge 136 86) (Node (edge 136 76) (Leaf (edge 136 59)) (Empty)) (Leaf (edge 136 112))) (Node (edge 137 29) (Node (edge 137 5) (Leaf (edge 136 127)) (Empty)) (Leaf (edge 137 40)))) (Node (edge 137 129) (Node (edge 137 110) (Node (edge 137 78) (Leaf (edge 137 68)) (Empty)) (Leaf (edge 137 122))) (Node (edge 138 37) (Leaf (edge 138 3)) (Leaf (edge 138 45))))))) (Node (edge 142 111) (Node (edge 140 83) (Node (edge 139 71) (Node (edge 138 130) (Node (edge 138 111) (Node (edge 138 82) (Leaf (edge 138 77)) (Empty)) (Leaf (edge 138 114))) (Node (edge 139 46) (Node (edge 139 33) (Leaf (edge 139 5)) (Empty)) (Leaf (edge 139 62)))) (Node (edge 140 4) (Node (edge 139 115) (Node (edge 139 108) (Leaf (edge 139 87)) (Empty)) (Leaf (edge 139 131))) (Node (edge 140 64) (Node (edge 140 47) (Leaf (edge 140 34)) (Empty)) (Leaf (edge 140 72))))) (Node (edge 141 112) (Node (edge 141 32) (Node (edge 140 132) (Node (edge 140 116) (Leaf (edge 140 108)) (Empty)) (Leaf (edge 141 6))) (Node (edge 141 75) (Node (edge 141 60) (Leaf (edge 141 44)) (Empty)) (Leaf (edge 141 84)))) (Node (edge 142 43) (Node (edge 142 7) (Node (edge 141 123) (Leaf (edge 141 120)) (Empty)) (Leaf (edge 142 36))) (Node (edge 142 74) (Leaf (edge 142 66)) (Leaf (edge 142 85)))))) (Node (edge 145 33) (Node (edge 143 125) (Node (edge 143 46) (Node (edge 143 9) (Node (edge 142 124) (Leaf (edge 142 117)) (Empty)) (Leaf (edge 143 28))) (Node (edge 143 78) (Node (edge 143 77) (Leaf (edge 143 53)) (Empty)) (Leaf (edge 143 103)))) (Node (edge 144 69) (Node (edge 144 41) (Node (edge 144 34) (Leaf (edge 144 11)) (Empty)) (Leaf (edge 144 57))) (Node (edge 144 130) (Node (edge 144 103) (Leaf (edge 144 85)) (Empty)) (Leaf (edge 145 12))))) (Node (edge 146 56) (Node (edge 145 107) (Node (edge 145 70) (Node (edge 145 55) (Leaf (edge 145 42)) (Empty)) (Leaf (edge 145 84))) (Node (edge 146 37) (Node (edge 146 9) (Leaf (edge 145 127)) (Empty)) (Leaf (edge 146 44)))) (Node (edge 147 8) (Node (edge 146 104) (Node (edge 146 80) (Leaf (edge 146 73)) (Empty)) (Leaf (edge 146 129))) (Node (edge 147 40) (Leaf (edge 147 32)) (Leaf (edge 147 48)))))))))) (Node (edge 180 20) (Node (edge 165 74) (Node (edge 156 142) (Node (edge 152 50) (Node (edge 150 10) (Node (edge 148 106) (Node (edge 148 36) (Node (edge 147 132) (Node (edge 147 105) (Leaf (edge 147 87)) (Empty)) (Leaf (edge 148 8))) (Node (edge 148 75) (Node (edge 148 49) (Leaf (edge 148 39)) (Empty)) (Leaf (edge 148 83)))) (Node (edge 149 54) (Node (edge 149 35) (Node (edge 149 10) (Leaf (edge 148 131)) (Empty)) (Leaf (edge 149 43))) (Node (edge 149 104) (Node (edge 149 81) (Leaf (edge 149 68)) (Empty)) (Leaf (edge 149 128))))) (Node (edge 151 38) (Node (edge 150 79) (Node (edge 150 52) (Node (edge 150 47) (Leaf (edge 150 29)) (Empty)) (Leaf (edge 150 76))) (Node (edge 151 11) (Node (edge 150 126) (Leaf (edge 150 107)) (Empty)) (Leaf (edge 151 30)))) (Node (edge 151 124) (Node (edge 151 82) (Node (edge 151 72) (Leaf (edge 151 51)) (Empty)) (Leaf (edge 151 105))) (Node (edge 152 31) (Leaf (edge 152 12)) (Leaf (edge 152 45)))))) (Node (edge 154 99) (Node (edge 153 84) (Node (edge 153 4) (Node (edge 152 106) (Node (edge 152 86) (Leaf (edge 152 71)) (Empty)) (Leaf (edge 152 123))) (Node (edge 153 63) (Node (edge 153 57) (Leaf (edge 153 43)) (Empty)) (Leaf (edge 153 71)))) (Node (edge 154 44) (Node (edge 153 144) (Node (edge 153 133) (Leaf (edge 153 100)) (Empty)) (Leaf (edge 154 5))) (Node (edge 154 72) (Node (edge 154 61) (Leaf (edge 154 55)) (Empty)) (Leaf (edge 154 85))))) (Node (edge 155 141) (Node (edge 155 51) (Node (edge 155 6) (Node (edge 154 145) (Leaf (edge 154 137)) (Empty)) (Leaf (edge 155 45))) (Node (edge 155 79) (Node (edge 155 68) (Leaf (edge 155 62)) (Empty)) (Leaf (edge 155 99)))) (Node (edge 156 64) (Node (edge 156 38) (Node (edge 156 7) (Leaf (edge 155 151)) (Empty)) (Leaf (edge 156 50))) (Node (edge 156 78) (Leaf (edge 156 73)) (Leaf (edge 156 100))))))) (Node (edge 161 42) (Node (edge 159 3) (Node (edge 157 148) (Node (edge 157 59) (Node (edge 157 47) (Node (edge 157 7) (Leaf (edge 156 152)) (Empty)) (Leaf (edge 157 49))) (Node (edge 157 99) (Node (edge 157 80) (Leaf (edge 157 77)) (Empty)) (Leaf (edge 157 134)))) (Node (edge 158 69) (Node (edge 158 52) (Node (edge 158 39) (Leaf (edge 158 5)) (Empty)) (Leaf (edge 158 60))) (Node (edge 158 139) (Node (edge 158 100) (Leaf (edge 158 82)) (Empty)) (Leaf (edge 158 150))))) (Node (edge 160 46) (Node (edge 159 87) (Node (edge 159 65) (Node (edge 159 54) (Leaf (edge 159 41)) (Empty)) (Leaf (edge 159 75))) (Node (edge 159 149) (Node (edge 159 138) (Leaf (edge 159 99)) (Empty)) (Leaf (edge 160 6)))) (Node (edge 160 100) (Node (edge 160 76) (Node (edge 160 58) (Leaf (edge 160 48)) (Empty)) (Leaf (edge 160 81))) (Node (edge 160 147) (Leaf (edge 160 135)) (Leaf (edge 161 3)))))) (Node (edge 163 49) (Node (edge 162 53) (Node (edge 161 100) (Node (edge 161 74) (Node (edge 161 67) (Leaf (edge 161 56)) (Empty)) (Leaf (edge 161 83))) (Node (edge 162 4) (Node (edge 161 146) (Leaf (edge 161 136)) (Empty)) (Leaf (edge 162 40)))) (Node (edge 162 140) (Node (edge 162 86) (Node (edge 162 70) (Leaf (edge 162 66)) (Empty)) (Leaf (edge 162 99))) (Node (edge 163 19) (Node (edge 163 3) (Leaf (edge 162 143)) (Empty)) (Leaf (edge 163 48))))) (Node (edge 164 75) (Node (edge 163 154) (Node (edge 163 89) (Node (edge 163 72) (Leaf (edge 163 71)) (Empty)) (Leaf (edge 163 153))) (Node (edge 164 50) (Node (edge 164 20) (Leaf (edge 164 4)) (Empty)) (Leaf (edge 164 55)))) (Node (edge 165 5) (Node (edge 164 159) (Node (edge 164 89) (Leaf (edge 164 76)) (Empty)) (Leaf (edge 164 160))) (Node (edge 165 51) (Leaf (edge 165 18)) (Leaf (edge 165 57)))))))) (Node (edge 172 106) (Node (edge 169 80) (Node (edge 167 89) (Node (edge 166 73) (Node (edge 166 6) (Node (edge 165 157) (Node (edge 165 89) (Leaf (edge 165 77)) (Empty)) (Leaf (edge 165 161))) (Node (edge 166 54) (Node (edge 166 52) (Leaf (edge 166 22)) (Empty)) (Leaf (edge 166 70)))) (Node (edge 167 21) (Node (edge 166 162) (Node (edge 166 156) (Leaf (edge 166 89)) (Empty)) (Leaf (edge 167 7))) (Node (edge 167 68) (Node (edge 167 56) (Leaf (edge 167 53)) (Empty)) (Leaf (edge 167 69))))) (Node (edge 168 104) (Node (edge 168 41) (Node (edge 168 8) (Node (edge 167 158) (Leaf (edge 167 155)) (Empty)) (Leaf (edge 168 19))) (Node (edge 168 79) (Node (edge 168 78) (Leaf (edge 168 42)) (Empty)) (Leaf (edge 168 90)))) (Node (edge 169 12) (Node (edge 168 155) (Node (edge 168 145) (Leaf (edge 168 144)) (Empty)) (Leaf (edge 168 156))) (Node (edge 169 40) (Leaf (edge 169 20)) (Leaf (edge 169 43)))))) (Node (edge 171 10) (Node (edge 170 39) (Node (edge 169 149) (Node (edge 169 103) (Node (edge 169 91) (Leaf (edge 169 82)) (Empty)) (Leaf (edge 169 147))) (Node (edge 170 11) (Node (edge 169 158) (Leaf (edge 169 157)) (Empty)) (Leaf (edge 170 18)))) (Node (edge 170 107) (Node (edge 170 86) (Node (edge 170 81) (Leaf (edge 170 44)) (Empty)) (Leaf (edge 170 93))) (Node (edge 170 160) (Node (edge 170 148) (Leaf (edge 170 146)) (Empty)) (Leaf (edge 170 162))))) (Node (edge 171 154) (Node (edge 171 85) (Node (edge 171 46) (Node (edge 171 45) (Leaf (edge 171 22)) (Empty)) (Leaf (edge 171 83))) (Node (edge 171 143) (Node (edge 171 105) (Leaf (edge 171 94)) (Empty)) (Leaf (edge 171 152)))) (Node (edge 172 47) (Node (edge 172 21) (Node (edge 172 9) (Leaf (edge 171 161)) (Empty)) (Leaf (edge 172 38))) (Node (edge 172 87) (Leaf (edge 172 84)) (Leaf (edge 172 92))))))) (Node (edge 176 35) (Node (edge 174 81) (Node (edge 173 82) (Node (edge 173 8) (Node (edge 172 153) (Node (edge 172 151) (Leaf (edge 172 150)) (Empty)) (Leaf (edge 172 159))) (Node (edge 173 28) (Node (edge 173 23) (Leaf (edge 173 22)) (Empty)) (Leaf (edge 173 76)))) (Node (edge 174 9) (Node (edge 173 129) (Node (edge 173 119) (Leaf (edge 173 101)) (Empty)) (Leaf (edge 173 133))) (Node (edge 174 33) (Node (edge 174 26) (Leaf (edge 174 19)) (Empty)) (Leaf (edge 174 74))))) (Node (edge 175 80) (Node (edge 175 10) (Node (edge 174 123) (Node (edge 174 113) (Leaf (edge 174 101)) (Empty)) (Leaf (edge 174 139))) (Node (edge 175 34) (Node (edge 175 23) (Leaf (edge 175 19)) (Empty)) (Leaf (edge 175 75)))) (Node (edge 175 173) (Node (edge 175 124) (Node (edge 175 114) (Leaf (edge 175 102)) (Empty)) (Leaf (edge 175 140))) (Node (edge 176 20) (Leaf (edge 176 11)) (Leaf (edge 176 24)))))) (Node (edge 178 37) (Node (edge 177 36) (Node (edge 176 126) (Node (edge 176 101) (Node (edge 176 78) (Leaf (edge 176 71)) (Empty)) (Leaf (edge 176 121))) (Node (edge 177 18) (Node (edge 177 10) (Leaf (edge 176 136)) (Empty)) (Leaf (edge 177 25)))) (Node (edge 177 132) (Node (edge 177 101) (Node (edge 177 84) (Leaf (edge 177 69)) (Empty)) (Leaf (edge 177 115))) (Node (edge 178 18) (Node (edge 178 12) (Leaf (edge 177 142)) (Empty)) (Leaf (edge 178 24))))) (Node (edge 179 27) (Node (edge 178 125) (Node (edge 178 102) (Node (edge 178 79) (Leaf (edge 178 72)) (Empty)) (Leaf (edge 178 122))) (Node (edge 179 12) (Node (edge 178 176) (Leaf (edge 178 138)) (Empty)) (Leaf (edge 179 21)))) (Node (edge 179 117) (Node (edge 179 83) (Node (edge 179 73) (Leaf (edge 179 30)) (Empty)) (Leaf (edge 179 101))) (Node (edge 179 135) (Leaf (edge 179 130)) (Leaf (edge 180 9))))))))) (Node (edge 194 163) (Node (edge 187 86) (Node (edge 183 114) (Node (edge 181 174) (Node (edge 181 8) (Node (edge 180 102) (Node (edge 180 70) (Node (edge 180 32) (Leaf (edge 180 27)) (Empty)) (Leaf (edge 180 85))) (Node (edge 180 141) (Node (edge 180 131) (Leaf (edge 180 116)) (Empty)) (Leaf (edge 180 179)))) (Node (edge 181 86) (Node (edge 181 29) (Node (edge 181 26) (Leaf (edge 181 21)) (Empty)) (Leaf (edge 181 77))) (Node (edge 181 128) (Node (edge 181 118) (Leaf (edge 181 102)) (Empty)) (Leaf (edge 181 137))))) (Node (edge 182 134) (Node (edge 182 68) (Node (edge 182 25) (Node (edge 182 22) (Leaf (edge 182 11)) (Empty)) (Leaf (edge 182 31))) (Node (edge 182 120) (Node (edge 182 102) (Leaf (edge 182 87)) (Empty)) (Leaf (edge 182 127)))) (Node (edge 183 28) (Node (edge 183 17) (Node (edge 183 7) (Leaf (edge 182 177)) (Empty)) (Leaf (edge 183 24))) (Node (edge 183 87) (Leaf (edge 183 44)) (Leaf (edge 183 95)))))) (Node (edge 185 117) (Node (edge 184 120) (Node (edge 184 27) (Node (edge 184 3) (Node (edge 183 154) (Leaf (edge 183 147)) (Empty)) (Leaf (edge 184 14))) (Node (edge 184 79) (Node (edge 184 40) (Leaf (edge 184 36)) (Empty)) (Leaf (edge 184 95)))) (Node (edge 185 25) (Node (edge 185 3) (Node (edge 184 162) (Leaf (edge 184 150)) (Empty)) (Leaf (edge 185 15))) (Node (edge 185 78) (Node (edge 185 39) (Leaf (edge 185 32)) (Empty)) (Leaf (edge 185 96))))) (Node (edge 186 118) (Node (edge 186 25) (Node (edge 186 4) (Node (edge 185 158) (Leaf (edge 185 143)) (Empty)) (Leaf (edge 186 13))) (Node (edge 186 80) (Node (edge 186 45) (Leaf (edge 186 33)) (Empty)) (Leaf (edge 186 95)))) (Node (edge 187 16) (Node (edge 186 185) (Node (edge 186 155) (Leaf (edge 186 146)) (Empty)) (Leaf (edge 187 5))) (Node (edge 187 30) (Leaf (edge 187 23)) (Leaf (edge 187 41))))))) (Node (edge 191 26) (Node (edge 189 46) (Node (edge 188 81) (Node (edge 188 5) (Node (edge 187 152) (Node (edge 187 116) (Leaf (edge 187 95)) (Empty)) (Leaf (edge 187 159))) (Node (edge 188 34) (Node (edge 188 27) (Leaf (edge 188 13)) (Empty)) (Leaf (edge 188 38)))) (Node (edge 188 184) (Node (edge 188 149) (Node (edge 188 119) (Leaf (edge 188 96)) (Empty)) (Leaf (edge 188 156))) (Node (edge 189 23) (Node (edge 189 14) (Leaf (edge 189 7)) (Empty)) (Leaf (edge 189 37))))) (Node (edge 190 35) (Node (edge 189 160) (Node (edge 189 121) (Node (edge 189 96) (Leaf (edge 189 84)) (Empty)) (Leaf (edge 189 145))) (Node (edge 190 15) (Node (edge 190 6) (Leaf (edge 189 187)) (Empty)) (Leaf (edge 190 26)))) (Node (edge 190 144) (Node (edge 190 95) (Node (edge 190 85) (Leaf (edge 190 47)) (Empty)) (Leaf (edge 190 122))) (Node (edge 191 4) (Leaf (edge 190 157)) (Leaf (edge 191 17)))))) (Node (edge 193 9) (Node (edge 192 16) (Node (edge 191 115) (Node (edge 191 82) (Node (edge 191 42) (Leaf (edge 191 31)) (Empty)) (Leaf (edge 191 96))) (Node (edge 191 190) (Node (edge 191 161) (Leaf (edge 191 151)) (Empty)) (Leaf (edge 192 6)))) (Node (edge 192 96) (Node (edge 192 43) (Node (edge 192 29) (Leaf (edge 192 24)) (Empty)) (Leaf (edge 192 83))) (Node (edge 192 153) (Node (edge 192 148) (Leaf (edge 192 113)) (Empty)) (Leaf (edge 192 183))))) (Node (edge 193 191) (Node (edge 193 68) (Node (edge 193 49) (Node (edge 193 23) (Leaf (edge 193 17)) (Empty)) (Leaf (edge 193 64))) (Node (edge 193 163) (Node (edge 193 149) (Leaf (edge 193 107)) (Empty)) (Leaf (edge 193 180)))) (Node (edge 194 62) (Node (edge 194 26) (Node (edge 194 16) (Leaf (edge 194 10)) (Empty)) (Leaf (edge 194 48))) (Node (edge 194 103) (Leaf (edge 194 73)) (Leaf (edge 194 146)))))))) (Node (edge 201 71) (Node (edge 198 13) (Node (edge 196 106) (Node (edge 195 144) (Node (edge 195 24) (Node (edge 195 9) (Node (edge 194 187) (Leaf (edge 194 177)) (Empty)) (Leaf (edge 195 14))) (Node (edge 195 69) (Node (edge 195 59) (Leaf (edge 195 50)) (Empty)) (Leaf (edge 195 105)))) (Node (edge 196 15) (Node (edge 195 184) (Node (edge 195 174) (Leaf (edge 195 164)) (Empty)) (Leaf (edge 196 10))) (Node (edge 196 58) (Node (edge 196 51) (Leaf (edge 196 24)) (Empty)) (Leaf (edge 196 70))))) (Node (edge 197 61) (Node (edge 196 195) (Node (edge 196 175) (Node (edge 196 165) (Leaf (edge 196 145)) (Empty)) (Leaf (edge 196 185))) (Node (edge 197 23) (Node (edge 197 13) (Leaf (edge 197 11)) (Empty)) (Leaf (edge 197 52)))) (Node (edge 197 176) (Node (edge 197 147) (Node (edge 197 106) (Leaf (edge 197 74)) (Empty)) (Leaf (edge 197 166))) (Node (edge 197 193) (Leaf (edge 197 186)) (Leaf (edge 198 12)))))) (Node (edge 199 179) (Node (edge 198 194) (Node (edge 198 105) (Node (edge 198 63) (Node (edge 198 53) (Leaf (edge 198 26)) (Empty)) (Leaf (edge 198 75))) (Node (edge 198 178) (Node (edge 198 167) (Leaf (edge 198 148)) (Empty)) (Leaf (edge 198 188)))) (Node (edge 199 66) (Node (edge 199 25) (Node (edge 199 17) (Leaf (edge 199 12)) (Empty)) (Leaf (edge 199 57))) (Node (edge 199 150) (Node (edge 199 104) (Leaf (edge 199 76)) (Empty)) (Leaf (edge 199 165))))) (Node (edge 200 166) (Node (edge 200 54) (Node (edge 200 14) (Node (edge 200 8) (Leaf (edge 199 183)) (Empty)) (Leaf (edge 200 25))) (Node (edge 200 103) (Node (edge 200 72) (Leaf (edge 200 67)) (Empty)) (Leaf (edge 200 151)))) (Node (edge 201 15) (Node (edge 200 199) (Node (edge 200 189) (Leaf (edge 200 181)) (Empty)) (Leaf (edge 201 8))) (Node (edge 201 56) (Leaf (edge 201 27)) (Leaf (edge 201 65))))))) (Node (edge 204 138) (Node (edge 203 28) (Node (edge 202 60) (Node (edge 201 190) (Node (edge 201 167) (Node (edge 201 152) (Leaf (edge 201 107)) (Empty)) (Leaf (edge 201 173))) (Node (edge 202 27) (Node (edge 202 16) (Leaf (edge 202 11)) (Empty)) (Leaf (edge 202 55)))) (Node (edge 202 182) (Node (edge 202 143) (Node (edge 202 104) (Leaf (edge 202 77)) (Empty)) (Leaf (edge 202 164))) (Node (edge 203 3) (Node (edge 202 201) (Leaf (edge 202 192)) (Empty)) (Leaf (edge 203 13))))) (Node (edge 204 6) (Node (edge 203 123) (Node (edge 203 70) (Node (edge 203 69) (Leaf (edge 203 29)) (Empty)) (Leaf (edge 203 108))) (Node (edge 203 135) (Node (edge 203 134) (Leaf (edge 203 124)) (Empty)) (Leaf (edge 203 163)))) (Node (edge 204 77) (Node (edge 204 36) (Node (edge 204 34) (Leaf (edge 204 17)) (Empty)) (Leaf (edge 204 71))) (Node (edge 204 127) (Leaf (edge 204 109)) (Leaf (edge 204 129)))))) (Node (edge 206 76) (Node (edge 205 126) (Node (edge 205 30) (Node (edge 205 4) (Node (edge 204 166) (Leaf (edge 204 139)) (Empty)) (Leaf (edge 205 15))) (Node (edge 205 74) (Node (edge 205 68) (Leaf (edge 205 37)) (Empty)) (Leaf (edge 205 112)))) (Node (edge 206 7) (Node (edge 205 142) (Node (edge 205 137) (Leaf (edge 205 131)) (Empty)) (Leaf (edge 205 164))) (Node (edge 206 33) (Node (edge 206 32) (Leaf (edge 206 16)) (Empty)) (Leaf (edge 206 72))))) (Node (edge 207 35) (Node (edge 206 140) (Node (edge 206 130) (Node (edge 206 128) (Leaf (edge 206 110)) (Empty)) (Leaf (edge 206 136))) (Node (edge 207 14) (Node (edge 207 5) (Leaf (edge 206 167)) (Empty)) (Leaf (edge 207 31)))) (Node (edge 207 132) (Node (edge 207 111) (Node (edge 207 75) (Leaf (edge 207 73)) (Empty)) (Leaf (edge 207 125))) (Node (edge 207 141) (Leaf (edge 207 133)) (Leaf (edge 207 165))))))))))
structure Edge : Type :=
edge::
fst : Nat
snd : Nat
inductive Tree (α : Type) : Type
| empty : Tree α
| leaf : α → Tree α
| node : α → Tree α → Tree α → Tree α
def test1 : Tree Edge := .node (.edge 5 0) .empty (.leaf (.edge 3 1))
def test2 : Tree Edge := .node (.edge 147 74) (.node (.edge 110 2) (.node (.edge 85 13) (.node (.edge 60 36) (.node (.edge 43 33) (.node (.edge 29 20) (.node (.edge 8 3) (.node (.edge 4 0) (.node (.edge 2 1) (.node (.edge 2 0) (.leaf (.edge 1 0)) (.empty)) (.leaf (.edge 3 0))) (.node (.edge 7 0) (.node (.edge 6 0) (.leaf (.edge 5 0)) (.empty)) (.leaf (.edge 8 0)))) (.node (.edge 11 0) (.node (.edge 10 0) (.node (.edge 9 7) (.leaf (.edge 9 0)) (.empty)) (.leaf (.edge 10 6))) (.node (.edge 12 4) (.node (.edge 12 0) (.leaf (.edge 11 5)) (.empty)) (.leaf (.edge 28 18))))) (.node (.edge 38 28) (.node (.edge 34 21) (.node (.edge 32 18) (.node (.edge 31 19) (.leaf (.edge 30 19)) (.empty)) (.leaf (.edge 33 22))) (.node (.edge 37 22) (.node (.edge 36 20) (.leaf (.edge 35 21)) (.empty)) (.leaf (.edge 38 18)))) (.node (.edge 41 18) (.node (.edge 40 19) (.node (.edge 39 30) (.leaf (.edge 39 19)) (.empty)) (.leaf (.edge 40 31))) (.node (.edge 42 36) (.node (.edge 42 20) (.leaf (.edge 41 32)) (.empty)) (.leaf (.edge 43 22)))))) (.node (.edge 52 41) (.node (.edge 48 47) (.node (.edge 46 21) (.node (.edge 45 20) (.node (.edge 44 34) (.leaf (.edge 44 21)) (.empty)) (.leaf (.edge 45 29))) (.node (.edge 47 37) (.node (.edge 47 22) (.leaf (.edge 46 35)) (.empty)) (.leaf (.edge 48 27)))) (.node (.edge 50 49) (.node (.edge 50 25) (.node (.edge 49 46) (.leaf (.edge 49 25)) (.empty)) (.leaf (.edge 50 44))) (.node (.edge 51 48) (.node (.edge 51 43) (.leaf (.edge 51 27)) (.empty)) (.leaf (.edge 52 26))))) (.node (.edge 56 54) (.node (.edge 55 26) (.node (.edge 54 24) (.node (.edge 53 42) (.leaf (.edge 53 23)) (.empty)) (.leaf (.edge 54 39))) (.node (.edge 56 24) (.node (.edge 55 52) (.leaf (.edge 55 38)) (.empty)) (.leaf (.edge 56 40)))) (.node (.edge 58 28) (.node (.edge 57 53) (.node (.edge 57 45) (.leaf (.edge 57 23)) (.empty)) (.leaf (.edge 58 26))) (.node (.edge 59 29) (.leaf (.edge 59 23)) (.leaf (.edge 60 23))))))) (.node (.edge 74 34) (.node (.edge 68 14) (.node (.edge 64 62) (.node (.edge 62 31) (.node (.edge 61 37) (.node (.edge 61 27) (.leaf (.edge 60 59)) (.empty)) (.leaf (.edge 62 24))) (.node (.edge 64 24) (.node (.edge 63 35) (.leaf (.edge 63 25)) (.empty)) (.leaf (.edge 64 30)))) (.node (.edge 66 32) (.node (.edge 65 63) (.node (.edge 65 34) (.leaf (.edge 65 25)) (.empty)) (.leaf (.edge 66 26))) (.node (.edge 67 33) (.node (.edge 67 27) (.leaf (.edge 66 58)) (.empty)) (.leaf (.edge 67 61))))) (.node (.edge 71 32) (.node (.edge 69 61) (.node (.edge 69 17) (.node (.edge 68 58) (.leaf (.edge 68 28)) (.empty)) (.leaf (.edge 69 37))) (.node (.edge 70 63) (.node (.edge 70 35) (.leaf (.edge 70 16)) (.empty)) (.leaf (.edge 71 14)))) (.node (.edge 73 15) (.node (.edge 72 36) (.node (.edge 72 15) (.leaf (.edge 71 66)) (.empty)) (.leaf (.edge 72 60))) (.node (.edge 73 59) (.leaf (.edge 73 29)) (.leaf (.edge 74 16)))))) (.node (.edge 80 38) (.node (.edge 77 64) (.node (.edge 76 13) (.node (.edge 75 33) (.node (.edge 75 17) (.leaf (.edge 74 65)) (.empty)) (.leaf (.edge 75 67))) (.node (.edge 77 13) (.node (.edge 76 62) (.leaf (.edge 76 31)) (.empty)) (.leaf (.edge 77 30)))) (.node (.edge 79 16) (.node (.edge 78 48) (.node (.edge 78 47) (.leaf (.edge 78 17)) (.empty)) (.leaf (.edge 78 75))) (.node (.edge 79 74) (.node (.edge 79 49) (.leaf (.edge 79 46)) (.empty)) (.leaf (.edge 80 14))))) (.node (.edge 82 70) (.node (.edge 81 57) (.node (.edge 81 15) (.node (.edge 80 71) (.leaf (.edge 80 55)) (.empty)) (.leaf (.edge 81 45))) (.node (.edge 82 44) (.node (.edge 82 16) (.leaf (.edge 81 72)) (.empty)) (.leaf (.edge 82 50)))) (.node (.edge 84 13) (.node (.edge 83 52) (.node (.edge 83 41) (.leaf (.edge 83 14)) (.empty)) (.leaf (.edge 83 68))) (.node (.edge 84 56) (.leaf (.edge 84 40)) (.leaf (.edge 84 77)))))))) (.node (.edge 97 96) (.node (.edge 92 9) (.node (.edge 89 19) (.node (.edge 87 53) (.node (.edge 86 43) (.node (.edge 85 76) (.node (.edge 85 54) (.leaf (.edge 85 39)) (.empty)) (.leaf (.edge 86 17))) (.node (.edge 87 15) (.node (.edge 86 69) (.leaf (.edge 86 51)) (.empty)) (.leaf (.edge 87 42)))) (.node (.edge 88 15) (.node (.edge 88 13) (.node (.edge 88 1) (.leaf (.edge 87 73)) (.empty)) (.leaf (.edge 88 14))) (.node (.edge 89 1) (.node (.edge 88 17) (.leaf (.edge 88 16)) (.empty)) (.leaf (.edge 89 18))))) (.node (.edge 90 59) (.node (.edge 90 8) (.node (.edge 89 22) (.node (.edge 89 21) (.leaf (.edge 89 20)) (.empty)) (.leaf (.edge 89 88))) (.node (.edge 90 44) (.node (.edge 90 43) (.leaf (.edge 90 13)) (.empty)) (.leaf (.edge 90 58)))) (.node (.edge 91 46) (.node (.edge 91 15) (.node (.edge 91 12) (.leaf (.edge 90 88)) (.empty)) (.leaf (.edge 91 41))) (.node (.edge 91 64) (.leaf (.edge 91 61)) (.leaf (.edge 91 88)))))) (.node (.edge 94 88) (.node (.edge 93 47) (.node (.edge 92 67) (.node (.edge 92 45) (.node (.edge 92 39) (.leaf (.edge 92 16)) (.empty)) (.leaf (.edge 92 66))) (.node (.edge 93 14) (.node (.edge 93 11) (.leaf (.edge 92 88)) (.empty)) (.leaf (.edge 93 42)))) (.node (.edge 94 17) (.node (.edge 93 88) (.node (.edge 93 63) (.leaf (.edge 93 62)) (.empty)) (.leaf (.edge 94 10))) (.node (.edge 94 60) (.node (.edge 94 40) (.leaf (.edge 94 38)) (.empty)) (.leaf (.edge 94 65))))) (.node (.edge 96 32) (.node (.edge 95 35) (.node (.edge 95 30) (.node (.edge 95 28) (.leaf (.edge 95 1)) (.empty)) (.leaf (.edge 95 33))) (.node (.edge 96 29) (.node (.edge 96 1) (.leaf (.edge 95 36)) (.empty)) (.leaf (.edge 96 31)))) (.node (.edge 97 51) (.node (.edge 97 1) (.node (.edge 96 37) (.leaf (.edge 96 34)) (.empty)) (.leaf (.edge 97 49))) (.node (.edge 97 54) (.leaf (.edge 97 53)) (.leaf (.edge 97 55))))))) (.node (.edge 103 67) (.node (.edge 101 1) (.node (.edge 99 61) (.node (.edge 98 56) (.node (.edge 98 50) (.node (.edge 98 48) (.leaf (.edge 98 1)) (.empty)) (.leaf (.edge 98 52))) (.node (.edge 99 1) (.node (.edge 98 95) (.leaf (.edge 98 57)) (.empty)) (.leaf (.edge 99 59)))) (.node (.edge 100 58) (.node (.edge 99 66) (.node (.edge 99 65) (.leaf (.edge 99 62)) (.empty)) (.leaf (.edge 100 1))) (.node (.edge 100 64) (.node (.edge 100 63) (.leaf (.edge 100 60)) (.empty)) (.leaf (.edge 100 67))))) (.node (.edge 102 85) (.node (.edge 101 84) (.node (.edge 101 82) (.node (.edge 101 81) (.leaf (.edge 101 78)) (.empty)) (.leaf (.edge 101 83))) (.node (.edge 102 79) (.node (.edge 102 1) (.leaf (.edge 101 99)) (.empty)) (.leaf (.edge 102 80)))) (.node (.edge 103 20) (.node (.edge 102 100) (.node (.edge 102 87) (.leaf (.edge 102 86)) (.empty)) (.leaf (.edge 103 2))) (.node (.edge 103 34) (.leaf (.edge 103 28)) (.leaf (.edge 103 62)))))) (.node (.edge 107 18) (.node (.edge 105 32) (.node (.edge 104 60) (.node (.edge 104 35) (.node (.edge 104 19) (.leaf (.edge 104 2)) (.empty)) (.leaf (.edge 104 37))) (.node (.edge 105 22) (.node (.edge 105 2) (.leaf (.edge 104 66)) (.empty)) (.leaf (.edge 105 30)))) (.node (.edge 106 31) (.node (.edge 106 2) (.node (.edge 105 63) (.leaf (.edge 105 59)) (.empty)) (.leaf (.edge 106 21))) (.node (.edge 106 61) (.node (.edge 106 58) (.leaf (.edge 106 36)) (.empty)) (.leaf (.edge 107 2))))) (.node (.edge 108 87) (.node (.edge 108 2) (.node (.edge 107 64) (.node (.edge 107 33) (.leaf (.edge 107 29)) (.empty)) (.leaf (.edge 107 65))) (.node (.edge 108 51) (.node (.edge 108 50) (.leaf (.edge 108 13)) (.empty)) (.leaf (.edge 108 83)))) (.node (.edge 109 56) (.node (.edge 109 17) (.node (.edge 109 2) (.leaf (.edge 108 104)) (.empty)) (.leaf (.edge 109 55))) (.node (.edge 109 81) (.leaf (.edge 109 79)) (.leaf (.edge 109 105))))))))) (.node (.edge 129 41) (.node (.edge 119 112) (.node (.edge 115 27) (.node (.edge 112 103) (.node (.edge 111 53) (.node (.edge 110 80) (.node (.edge 110 57) (.node (.edge 110 54) (.leaf (.edge 110 16)) (.empty)) (.leaf (.edge 110 78))) (.node (.edge 111 14) (.node (.edge 111 2) (.leaf (.edge 110 106)) (.empty)) (.leaf (.edge 111 48)))) (.node (.edge 112 15) (.node (.edge 111 107) (.node (.edge 111 85) (.leaf (.edge 111 82)) (.empty)) (.leaf (.edge 112 2))) (.node (.edge 112 84) (.node (.edge 112 52) (.leaf (.edge 112 49)) (.empty)) (.leaf (.edge 112 86))))) (.node (.edge 114 19) (.node (.edge 113 53) (.node (.edge 113 25) (.node (.edge 113 19) (.leaf (.edge 113 6)) (.empty)) (.leaf (.edge 113 38))) (.node (.edge 113 111) (.node (.edge 113 91) (.leaf (.edge 113 61)) (.empty)) (.leaf (.edge 114 7)))) (.node (.edge 114 93) (.node (.edge 114 52) (.node (.edge 114 45) (.leaf (.edge 114 27)) (.empty)) (.leaf (.edge 114 63))) (.node (.edge 115 4) (.leaf (.edge 114 112)) (.leaf (.edge 115 18)))))) (.node (.edge 117 55) (.node (.edge 116 47) (.node (.edge 115 110) (.node (.edge 115 59) (.node (.edge 115 54) (.leaf (.edge 115 46)) (.empty)) (.leaf (.edge 115 90))) (.node (.edge 116 20) (.node (.edge 116 5) (.leaf (.edge 115 114)) (.empty)) (.leaf (.edge 116 25)))) (.node (.edge 116 113) (.node (.edge 116 90) (.node (.edge 116 58) (.leaf (.edge 116 56)) (.empty)) (.leaf (.edge 116 109))) (.node (.edge 117 23) (.node (.edge 117 21) (.leaf (.edge 117 3)) (.empty)) (.leaf (.edge 117 43))))) (.node (.edge 118 94) (.node (.edge 118 21) (.node (.edge 117 109) (.node (.edge 117 93) (.leaf (.edge 117 62)) (.empty)) (.leaf (.edge 118 4))) (.node (.edge 118 48) (.node (.edge 118 41) (.leaf (.edge 118 24)) (.empty)) (.leaf (.edge 118 60)))) (.node (.edge 119 42) (.node (.edge 119 22) (.node (.edge 119 5) (.leaf (.edge 118 111)) (.empty)) (.leaf (.edge 119 24))) (.node (.edge 119 66) (.leaf (.edge 119 49)) (.leaf (.edge 119 92))))))) (.node (.edge 124 56) (.node (.edge 122 18) (.node (.edge 121 7) (.node (.edge 120 44) (.node (.edge 120 22) (.node (.edge 120 3) (.leaf (.edge 119 118)) (.empty)) (.leaf (.edge 120 26))) (.node (.edge 120 91) (.node (.edge 120 64) (.leaf (.edge 120 57)) (.empty)) (.leaf (.edge 120 110)))) (.node (.edge 121 65) (.node (.edge 121 39) (.node (.edge 121 26) (.leaf (.edge 121 20)) (.empty)) (.leaf (.edge 121 51))) (.node (.edge 121 120) (.node (.edge 121 108) (.leaf (.edge 121 94)) (.empty)) (.leaf (.edge 122 6))))) (.node (.edge 123 47) (.node (.edge 122 92) (.node (.edge 122 50) (.node (.edge 122 40) (.leaf (.edge 122 23)) (.empty)) (.leaf (.edge 122 67))) (.node (.edge 123 12) (.node (.edge 122 117) (.leaf (.edge 122 108)) (.empty)) (.leaf (.edge 123 28)))) (.node (.edge 123 97) (.node (.edge 123 74) (.node (.edge 123 60) (.leaf (.edge 123 54)) (.empty)) (.leaf (.edge 123 93))) (.node (.edge 124 29) (.leaf (.edge 124 11)) (.leaf (.edge 124 46)))))) (.node (.edge 126 97) (.node (.edge 125 72) (.node (.edge 125 9) (.node (.edge 124 91) (.node (.edge 124 75) (.leaf (.edge 124 66)) (.empty)) (.leaf (.edge 124 98))) (.node (.edge 125 52) (.node (.edge 125 43) (.leaf (.edge 125 31)) (.empty)) (.leaf (.edge 125 65)))) (.node (.edge 126 44) (.node (.edge 126 10) (.node (.edge 125 98) (.leaf (.edge 125 90)) (.empty)) (.leaf (.edge 126 30))) (.node (.edge 126 71) (.node (.edge 126 67) (.leaf (.edge 126 53)) (.empty)) (.leaf (.edge 126 90))))) (.node (.edge 128 32) (.node (.edge 127 59) (.node (.edge 127 39) (.node (.edge 127 34) (.leaf (.edge 127 12)) (.empty)) (.leaf (.edge 127 48))) (.node (.edge 127 98) (.node (.edge 127 92) (.leaf (.edge 127 68)) (.empty)) (.leaf (.edge 128 10)))) (.node (.edge 128 93) (.node (.edge 128 61) (.node (.edge 128 50) (.leaf (.edge 128 42)) (.empty)) (.leaf (.edge 128 77))) (.node (.edge 129 9) (.leaf (.edge 128 98)) (.leaf (.edge 129 36)))))))) (.node (.edge 138 58) (.node (.edge 134 7) (.node (.edge 131 94) (.node (.edge 130 58) (.node (.edge 129 97) (.node (.edge 129 76) (.node (.edge 129 63) (.leaf (.edge 129 51)) (.empty)) (.leaf (.edge 129 91))) (.node (.edge 130 40) (.node (.edge 130 33) (.leaf (.edge 130 11)) (.empty)) (.leaf (.edge 130 49)))) (.node (.edge 131 37) (.node (.edge 130 97) (.node (.edge 130 94) (.leaf (.edge 130 73)) (.empty)) (.leaf (.edge 131 8))) (.node (.edge 131 62) (.node (.edge 131 57) (.leaf (.edge 131 38)) (.empty)) (.leaf (.edge 131 70))))) (.node (.edge 133 4) (.node (.edge 132 55) (.node (.edge 132 35) (.node (.edge 132 8) (.leaf (.edge 131 98)) (.empty)) (.leaf (.edge 132 45))) (.node (.edge 132 92) (.node (.edge 132 69) (.leaf (.edge 132 64)) (.empty)) (.leaf (.edge 132 97)))) (.node (.edge 133 79) (.node (.edge 133 61) (.node (.edge 133 39) (.leaf (.edge 133 28)) (.empty)) (.leaf (.edge 133 73))) (.node (.edge 133 121) (.leaf (.edge 133 109)) (.leaf (.edge 133 128)))))) (.node (.edge 136 38) (.node (.edge 135 30) (.node (.edge 134 81) (.node (.edge 134 67) (.node (.edge 134 41) (.leaf (.edge 134 31)) (.empty)) (.leaf (.edge 134 70))) (.node (.edge 134 126) (.node (.edge 134 118) (.leaf (.edge 134 109)) (.empty)) (.leaf (.edge 135 6)))) (.node (.edge 135 110) (.node (.edge 135 69) (.node (.edge 135 65) (.leaf (.edge 135 42)) (.empty)) (.leaf (.edge 135 80))) (.node (.edge 136 3) (.node (.edge 135 125) (.leaf (.edge 135 119)) (.empty)) (.leaf (.edge 136 35))))) (.node (.edge 137 63) (.node (.edge 136 113) (.node (.edge 136 86) (.node (.edge 136 76) (.leaf (.edge 136 59)) (.empty)) (.leaf (.edge 136 112))) (.node (.edge 137 29) (.node (.edge 137 5) (.leaf (.edge 136 127)) (.empty)) (.leaf (.edge 137 40)))) (.node (.edge 137 129) (.node (.edge 137 110) (.node (.edge 137 78) (.leaf (.edge 137 68)) (.empty)) (.leaf (.edge 137 122))) (.node (.edge 138 37) (.leaf (.edge 138 3)) (.leaf (.edge 138 45))))))) (.node (.edge 142 111) (.node (.edge 140 83) (.node (.edge 139 71) (.node (.edge 138 130) (.node (.edge 138 111) (.node (.edge 138 82) (.leaf (.edge 138 77)) (.empty)) (.leaf (.edge 138 114))) (.node (.edge 139 46) (.node (.edge 139 33) (.leaf (.edge 139 5)) (.empty)) (.leaf (.edge 139 62)))) (.node (.edge 140 4) (.node (.edge 139 115) (.node (.edge 139 108) (.leaf (.edge 139 87)) (.empty)) (.leaf (.edge 139 131))) (.node (.edge 140 64) (.node (.edge 140 47) (.leaf (.edge 140 34)) (.empty)) (.leaf (.edge 140 72))))) (.node (.edge 141 112) (.node (.edge 141 32) (.node (.edge 140 132) (.node (.edge 140 116) (.leaf (.edge 140 108)) (.empty)) (.leaf (.edge 141 6))) (.node (.edge 141 75) (.node (.edge 141 60) (.leaf (.edge 141 44)) (.empty)) (.leaf (.edge 141 84)))) (.node (.edge 142 43) (.node (.edge 142 7) (.node (.edge 141 123) (.leaf (.edge 141 120)) (.empty)) (.leaf (.edge 142 36))) (.node (.edge 142 74) (.leaf (.edge 142 66)) (.leaf (.edge 142 85)))))) (.node (.edge 145 33) (.node (.edge 143 125) (.node (.edge 143 46) (.node (.edge 143 9) (.node (.edge 142 124) (.leaf (.edge 142 117)) (.empty)) (.leaf (.edge 143 28))) (.node (.edge 143 78) (.node (.edge 143 77) (.leaf (.edge 143 53)) (.empty)) (.leaf (.edge 143 103)))) (.node (.edge 144 69) (.node (.edge 144 41) (.node (.edge 144 34) (.leaf (.edge 144 11)) (.empty)) (.leaf (.edge 144 57))) (.node (.edge 144 130) (.node (.edge 144 103) (.leaf (.edge 144 85)) (.empty)) (.leaf (.edge 145 12))))) (.node (.edge 146 56) (.node (.edge 145 107) (.node (.edge 145 70) (.node (.edge 145 55) (.leaf (.edge 145 42)) (.empty)) (.leaf (.edge 145 84))) (.node (.edge 146 37) (.node (.edge 146 9) (.leaf (.edge 145 127)) (.empty)) (.leaf (.edge 146 44)))) (.node (.edge 147 8) (.node (.edge 146 104) (.node (.edge 146 80) (.leaf (.edge 146 73)) (.empty)) (.leaf (.edge 146 129))) (.node (.edge 147 40) (.leaf (.edge 147 32)) (.leaf (.edge 147 48)))))))))) (.node (.edge 180 20) (.node (.edge 165 74) (.node (.edge 156 142) (.node (.edge 152 50) (.node (.edge 150 10) (.node (.edge 148 106) (.node (.edge 148 36) (.node (.edge 147 132) (.node (.edge 147 105) (.leaf (.edge 147 87)) (.empty)) (.leaf (.edge 148 8))) (.node (.edge 148 75) (.node (.edge 148 49) (.leaf (.edge 148 39)) (.empty)) (.leaf (.edge 148 83)))) (.node (.edge 149 54) (.node (.edge 149 35) (.node (.edge 149 10) (.leaf (.edge 148 131)) (.empty)) (.leaf (.edge 149 43))) (.node (.edge 149 104) (.node (.edge 149 81) (.leaf (.edge 149 68)) (.empty)) (.leaf (.edge 149 128))))) (.node (.edge 151 38) (.node (.edge 150 79) (.node (.edge 150 52) (.node (.edge 150 47) (.leaf (.edge 150 29)) (.empty)) (.leaf (.edge 150 76))) (.node (.edge 151 11) (.node (.edge 150 126) (.leaf (.edge 150 107)) (.empty)) (.leaf (.edge 151 30)))) (.node (.edge 151 124) (.node (.edge 151 82) (.node (.edge 151 72) (.leaf (.edge 151 51)) (.empty)) (.leaf (.edge 151 105))) (.node (.edge 152 31) (.leaf (.edge 152 12)) (.leaf (.edge 152 45)))))) (.node (.edge 154 99) (.node (.edge 153 84) (.node (.edge 153 4) (.node (.edge 152 106) (.node (.edge 152 86) (.leaf (.edge 152 71)) (.empty)) (.leaf (.edge 152 123))) (.node (.edge 153 63) (.node (.edge 153 57) (.leaf (.edge 153 43)) (.empty)) (.leaf (.edge 153 71)))) (.node (.edge 154 44) (.node (.edge 153 144) (.node (.edge 153 133) (.leaf (.edge 153 100)) (.empty)) (.leaf (.edge 154 5))) (.node (.edge 154 72) (.node (.edge 154 61) (.leaf (.edge 154 55)) (.empty)) (.leaf (.edge 154 85))))) (.node (.edge 155 141) (.node (.edge 155 51) (.node (.edge 155 6) (.node (.edge 154 145) (.leaf (.edge 154 137)) (.empty)) (.leaf (.edge 155 45))) (.node (.edge 155 79) (.node (.edge 155 68) (.leaf (.edge 155 62)) (.empty)) (.leaf (.edge 155 99)))) (.node (.edge 156 64) (.node (.edge 156 38) (.node (.edge 156 7) (.leaf (.edge 155 151)) (.empty)) (.leaf (.edge 156 50))) (.node (.edge 156 78) (.leaf (.edge 156 73)) (.leaf (.edge 156 100))))))) (.node (.edge 161 42) (.node (.edge 159 3) (.node (.edge 157 148) (.node (.edge 157 59) (.node (.edge 157 47) (.node (.edge 157 7) (.leaf (.edge 156 152)) (.empty)) (.leaf (.edge 157 49))) (.node (.edge 157 99) (.node (.edge 157 80) (.leaf (.edge 157 77)) (.empty)) (.leaf (.edge 157 134)))) (.node (.edge 158 69) (.node (.edge 158 52) (.node (.edge 158 39) (.leaf (.edge 158 5)) (.empty)) (.leaf (.edge 158 60))) (.node (.edge 158 139) (.node (.edge 158 100) (.leaf (.edge 158 82)) (.empty)) (.leaf (.edge 158 150))))) (.node (.edge 160 46) (.node (.edge 159 87) (.node (.edge 159 65) (.node (.edge 159 54) (.leaf (.edge 159 41)) (.empty)) (.leaf (.edge 159 75))) (.node (.edge 159 149) (.node (.edge 159 138) (.leaf (.edge 159 99)) (.empty)) (.leaf (.edge 160 6)))) (.node (.edge 160 100) (.node (.edge 160 76) (.node (.edge 160 58) (.leaf (.edge 160 48)) (.empty)) (.leaf (.edge 160 81))) (.node (.edge 160 147) (.leaf (.edge 160 135)) (.leaf (.edge 161 3)))))) (.node (.edge 163 49) (.node (.edge 162 53) (.node (.edge 161 100) (.node (.edge 161 74) (.node (.edge 161 67) (.leaf (.edge 161 56)) (.empty)) (.leaf (.edge 161 83))) (.node (.edge 162 4) (.node (.edge 161 146) (.leaf (.edge 161 136)) (.empty)) (.leaf (.edge 162 40)))) (.node (.edge 162 140) (.node (.edge 162 86) (.node (.edge 162 70) (.leaf (.edge 162 66)) (.empty)) (.leaf (.edge 162 99))) (.node (.edge 163 19) (.node (.edge 163 3) (.leaf (.edge 162 143)) (.empty)) (.leaf (.edge 163 48))))) (.node (.edge 164 75) (.node (.edge 163 154) (.node (.edge 163 89) (.node (.edge 163 72) (.leaf (.edge 163 71)) (.empty)) (.leaf (.edge 163 153))) (.node (.edge 164 50) (.node (.edge 164 20) (.leaf (.edge 164 4)) (.empty)) (.leaf (.edge 164 55)))) (.node (.edge 165 5) (.node (.edge 164 159) (.node (.edge 164 89) (.leaf (.edge 164 76)) (.empty)) (.leaf (.edge 164 160))) (.node (.edge 165 51) (.leaf (.edge 165 18)) (.leaf (.edge 165 57)))))))) (.node (.edge 172 106) (.node (.edge 169 80) (.node (.edge 167 89) (.node (.edge 166 73) (.node (.edge 166 6) (.node (.edge 165 157) (.node (.edge 165 89) (.leaf (.edge 165 77)) (.empty)) (.leaf (.edge 165 161))) (.node (.edge 166 54) (.node (.edge 166 52) (.leaf (.edge 166 22)) (.empty)) (.leaf (.edge 166 70)))) (.node (.edge 167 21) (.node (.edge 166 162) (.node (.edge 166 156) (.leaf (.edge 166 89)) (.empty)) (.leaf (.edge 167 7))) (.node (.edge 167 68) (.node (.edge 167 56) (.leaf (.edge 167 53)) (.empty)) (.leaf (.edge 167 69))))) (.node (.edge 168 104) (.node (.edge 168 41) (.node (.edge 168 8) (.node (.edge 167 158) (.leaf (.edge 167 155)) (.empty)) (.leaf (.edge 168 19))) (.node (.edge 168 79) (.node (.edge 168 78) (.leaf (.edge 168 42)) (.empty)) (.leaf (.edge 168 90)))) (.node (.edge 169 12) (.node (.edge 168 155) (.node (.edge 168 145) (.leaf (.edge 168 144)) (.empty)) (.leaf (.edge 168 156))) (.node (.edge 169 40) (.leaf (.edge 169 20)) (.leaf (.edge 169 43)))))) (.node (.edge 171 10) (.node (.edge 170 39) (.node (.edge 169 149) (.node (.edge 169 103) (.node (.edge 169 91) (.leaf (.edge 169 82)) (.empty)) (.leaf (.edge 169 147))) (.node (.edge 170 11) (.node (.edge 169 158) (.leaf (.edge 169 157)) (.empty)) (.leaf (.edge 170 18)))) (.node (.edge 170 107) (.node (.edge 170 86) (.node (.edge 170 81) (.leaf (.edge 170 44)) (.empty)) (.leaf (.edge 170 93))) (.node (.edge 170 160) (.node (.edge 170 148) (.leaf (.edge 170 146)) (.empty)) (.leaf (.edge 170 162))))) (.node (.edge 171 154) (.node (.edge 171 85) (.node (.edge 171 46) (.node (.edge 171 45) (.leaf (.edge 171 22)) (.empty)) (.leaf (.edge 171 83))) (.node (.edge 171 143) (.node (.edge 171 105) (.leaf (.edge 171 94)) (.empty)) (.leaf (.edge 171 152)))) (.node (.edge 172 47) (.node (.edge 172 21) (.node (.edge 172 9) (.leaf (.edge 171 161)) (.empty)) (.leaf (.edge 172 38))) (.node (.edge 172 87) (.leaf (.edge 172 84)) (.leaf (.edge 172 92))))))) (.node (.edge 176 35) (.node (.edge 174 81) (.node (.edge 173 82) (.node (.edge 173 8) (.node (.edge 172 153) (.node (.edge 172 151) (.leaf (.edge 172 150)) (.empty)) (.leaf (.edge 172 159))) (.node (.edge 173 28) (.node (.edge 173 23) (.leaf (.edge 173 22)) (.empty)) (.leaf (.edge 173 76)))) (.node (.edge 174 9) (.node (.edge 173 129) (.node (.edge 173 119) (.leaf (.edge 173 101)) (.empty)) (.leaf (.edge 173 133))) (.node (.edge 174 33) (.node (.edge 174 26) (.leaf (.edge 174 19)) (.empty)) (.leaf (.edge 174 74))))) (.node (.edge 175 80) (.node (.edge 175 10) (.node (.edge 174 123) (.node (.edge 174 113) (.leaf (.edge 174 101)) (.empty)) (.leaf (.edge 174 139))) (.node (.edge 175 34) (.node (.edge 175 23) (.leaf (.edge 175 19)) (.empty)) (.leaf (.edge 175 75)))) (.node (.edge 175 173) (.node (.edge 175 124) (.node (.edge 175 114) (.leaf (.edge 175 102)) (.empty)) (.leaf (.edge 175 140))) (.node (.edge 176 20) (.leaf (.edge 176 11)) (.leaf (.edge 176 24)))))) (.node (.edge 178 37) (.node (.edge 177 36) (.node (.edge 176 126) (.node (.edge 176 101) (.node (.edge 176 78) (.leaf (.edge 176 71)) (.empty)) (.leaf (.edge 176 121))) (.node (.edge 177 18) (.node (.edge 177 10) (.leaf (.edge 176 136)) (.empty)) (.leaf (.edge 177 25)))) (.node (.edge 177 132) (.node (.edge 177 101) (.node (.edge 177 84) (.leaf (.edge 177 69)) (.empty)) (.leaf (.edge 177 115))) (.node (.edge 178 18) (.node (.edge 178 12) (.leaf (.edge 177 142)) (.empty)) (.leaf (.edge 178 24))))) (.node (.edge 179 27) (.node (.edge 178 125) (.node (.edge 178 102) (.node (.edge 178 79) (.leaf (.edge 178 72)) (.empty)) (.leaf (.edge 178 122))) (.node (.edge 179 12) (.node (.edge 178 176) (.leaf (.edge 178 138)) (.empty)) (.leaf (.edge 179 21)))) (.node (.edge 179 117) (.node (.edge 179 83) (.node (.edge 179 73) (.leaf (.edge 179 30)) (.empty)) (.leaf (.edge 179 101))) (.node (.edge 179 135) (.leaf (.edge 179 130)) (.leaf (.edge 180 9))))))))) (.node (.edge 194 163) (.node (.edge 187 86) (.node (.edge 183 114) (.node (.edge 181 174) (.node (.edge 181 8) (.node (.edge 180 102) (.node (.edge 180 70) (.node (.edge 180 32) (.leaf (.edge 180 27)) (.empty)) (.leaf (.edge 180 85))) (.node (.edge 180 141) (.node (.edge 180 131) (.leaf (.edge 180 116)) (.empty)) (.leaf (.edge 180 179)))) (.node (.edge 181 86) (.node (.edge 181 29) (.node (.edge 181 26) (.leaf (.edge 181 21)) (.empty)) (.leaf (.edge 181 77))) (.node (.edge 181 128) (.node (.edge 181 118) (.leaf (.edge 181 102)) (.empty)) (.leaf (.edge 181 137))))) (.node (.edge 182 134) (.node (.edge 182 68) (.node (.edge 182 25) (.node (.edge 182 22) (.leaf (.edge 182 11)) (.empty)) (.leaf (.edge 182 31))) (.node (.edge 182 120) (.node (.edge 182 102) (.leaf (.edge 182 87)) (.empty)) (.leaf (.edge 182 127)))) (.node (.edge 183 28) (.node (.edge 183 17) (.node (.edge 183 7) (.leaf (.edge 182 177)) (.empty)) (.leaf (.edge 183 24))) (.node (.edge 183 87) (.leaf (.edge 183 44)) (.leaf (.edge 183 95)))))) (.node (.edge 185 117) (.node (.edge 184 120) (.node (.edge 184 27) (.node (.edge 184 3) (.node (.edge 183 154) (.leaf (.edge 183 147)) (.empty)) (.leaf (.edge 184 14))) (.node (.edge 184 79) (.node (.edge 184 40) (.leaf (.edge 184 36)) (.empty)) (.leaf (.edge 184 95)))) (.node (.edge 185 25) (.node (.edge 185 3) (.node (.edge 184 162) (.leaf (.edge 184 150)) (.empty)) (.leaf (.edge 185 15))) (.node (.edge 185 78) (.node (.edge 185 39) (.leaf (.edge 185 32)) (.empty)) (.leaf (.edge 185 96))))) (.node (.edge 186 118) (.node (.edge 186 25) (.node (.edge 186 4) (.node (.edge 185 158) (.leaf (.edge 185 143)) (.empty)) (.leaf (.edge 186 13))) (.node (.edge 186 80) (.node (.edge 186 45) (.leaf (.edge 186 33)) (.empty)) (.leaf (.edge 186 95)))) (.node (.edge 187 16) (.node (.edge 186 185) (.node (.edge 186 155) (.leaf (.edge 186 146)) (.empty)) (.leaf (.edge 187 5))) (.node (.edge 187 30) (.leaf (.edge 187 23)) (.leaf (.edge 187 41))))))) (.node (.edge 191 26) (.node (.edge 189 46) (.node (.edge 188 81) (.node (.edge 188 5) (.node (.edge 187 152) (.node (.edge 187 116) (.leaf (.edge 187 95)) (.empty)) (.leaf (.edge 187 159))) (.node (.edge 188 34) (.node (.edge 188 27) (.leaf (.edge 188 13)) (.empty)) (.leaf (.edge 188 38)))) (.node (.edge 188 184) (.node (.edge 188 149) (.node (.edge 188 119) (.leaf (.edge 188 96)) (.empty)) (.leaf (.edge 188 156))) (.node (.edge 189 23) (.node (.edge 189 14) (.leaf (.edge 189 7)) (.empty)) (.leaf (.edge 189 37))))) (.node (.edge 190 35) (.node (.edge 189 160) (.node (.edge 189 121) (.node (.edge 189 96) (.leaf (.edge 189 84)) (.empty)) (.leaf (.edge 189 145))) (.node (.edge 190 15) (.node (.edge 190 6) (.leaf (.edge 189 187)) (.empty)) (.leaf (.edge 190 26)))) (.node (.edge 190 144) (.node (.edge 190 95) (.node (.edge 190 85) (.leaf (.edge 190 47)) (.empty)) (.leaf (.edge 190 122))) (.node (.edge 191 4) (.leaf (.edge 190 157)) (.leaf (.edge 191 17)))))) (.node (.edge 193 9) (.node (.edge 192 16) (.node (.edge 191 115) (.node (.edge 191 82) (.node (.edge 191 42) (.leaf (.edge 191 31)) (.empty)) (.leaf (.edge 191 96))) (.node (.edge 191 190) (.node (.edge 191 161) (.leaf (.edge 191 151)) (.empty)) (.leaf (.edge 192 6)))) (.node (.edge 192 96) (.node (.edge 192 43) (.node (.edge 192 29) (.leaf (.edge 192 24)) (.empty)) (.leaf (.edge 192 83))) (.node (.edge 192 153) (.node (.edge 192 148) (.leaf (.edge 192 113)) (.empty)) (.leaf (.edge 192 183))))) (.node (.edge 193 191) (.node (.edge 193 68) (.node (.edge 193 49) (.node (.edge 193 23) (.leaf (.edge 193 17)) (.empty)) (.leaf (.edge 193 64))) (.node (.edge 193 163) (.node (.edge 193 149) (.leaf (.edge 193 107)) (.empty)) (.leaf (.edge 193 180)))) (.node (.edge 194 62) (.node (.edge 194 26) (.node (.edge 194 16) (.leaf (.edge 194 10)) (.empty)) (.leaf (.edge 194 48))) (.node (.edge 194 103) (.leaf (.edge 194 73)) (.leaf (.edge 194 146)))))))) (.node (.edge 201 71) (.node (.edge 198 13) (.node (.edge 196 106) (.node (.edge 195 144) (.node (.edge 195 24) (.node (.edge 195 9) (.node (.edge 194 187) (.leaf (.edge 194 177)) (.empty)) (.leaf (.edge 195 14))) (.node (.edge 195 69) (.node (.edge 195 59) (.leaf (.edge 195 50)) (.empty)) (.leaf (.edge 195 105)))) (.node (.edge 196 15) (.node (.edge 195 184) (.node (.edge 195 174) (.leaf (.edge 195 164)) (.empty)) (.leaf (.edge 196 10))) (.node (.edge 196 58) (.node (.edge 196 51) (.leaf (.edge 196 24)) (.empty)) (.leaf (.edge 196 70))))) (.node (.edge 197 61) (.node (.edge 196 195) (.node (.edge 196 175) (.node (.edge 196 165) (.leaf (.edge 196 145)) (.empty)) (.leaf (.edge 196 185))) (.node (.edge 197 23) (.node (.edge 197 13) (.leaf (.edge 197 11)) (.empty)) (.leaf (.edge 197 52)))) (.node (.edge 197 176) (.node (.edge 197 147) (.node (.edge 197 106) (.leaf (.edge 197 74)) (.empty)) (.leaf (.edge 197 166))) (.node (.edge 197 193) (.leaf (.edge 197 186)) (.leaf (.edge 198 12)))))) (.node (.edge 199 179) (.node (.edge 198 194) (.node (.edge 198 105) (.node (.edge 198 63) (.node (.edge 198 53) (.leaf (.edge 198 26)) (.empty)) (.leaf (.edge 198 75))) (.node (.edge 198 178) (.node (.edge 198 167) (.leaf (.edge 198 148)) (.empty)) (.leaf (.edge 198 188)))) (.node (.edge 199 66) (.node (.edge 199 25) (.node (.edge 199 17) (.leaf (.edge 199 12)) (.empty)) (.leaf (.edge 199 57))) (.node (.edge 199 150) (.node (.edge 199 104) (.leaf (.edge 199 76)) (.empty)) (.leaf (.edge 199 165))))) (.node (.edge 200 166) (.node (.edge 200 54) (.node (.edge 200 14) (.node (.edge 200 8) (.leaf (.edge 199 183)) (.empty)) (.leaf (.edge 200 25))) (.node (.edge 200 103) (.node (.edge 200 72) (.leaf (.edge 200 67)) (.empty)) (.leaf (.edge 200 151)))) (.node (.edge 201 15) (.node (.edge 200 199) (.node (.edge 200 189) (.leaf (.edge 200 181)) (.empty)) (.leaf (.edge 201 8))) (.node (.edge 201 56) (.leaf (.edge 201 27)) (.leaf (.edge 201 65))))))) (.node (.edge 204 138) (.node (.edge 203 28) (.node (.edge 202 60) (.node (.edge 201 190) (.node (.edge 201 167) (.node (.edge 201 152) (.leaf (.edge 201 107)) (.empty)) (.leaf (.edge 201 173))) (.node (.edge 202 27) (.node (.edge 202 16) (.leaf (.edge 202 11)) (.empty)) (.leaf (.edge 202 55)))) (.node (.edge 202 182) (.node (.edge 202 143) (.node (.edge 202 104) (.leaf (.edge 202 77)) (.empty)) (.leaf (.edge 202 164))) (.node (.edge 203 3) (.node (.edge 202 201) (.leaf (.edge 202 192)) (.empty)) (.leaf (.edge 203 13))))) (.node (.edge 204 6) (.node (.edge 203 123) (.node (.edge 203 70) (.node (.edge 203 69) (.leaf (.edge 203 29)) (.empty)) (.leaf (.edge 203 108))) (.node (.edge 203 135) (.node (.edge 203 134) (.leaf (.edge 203 124)) (.empty)) (.leaf (.edge 203 163)))) (.node (.edge 204 77) (.node (.edge 204 36) (.node (.edge 204 34) (.leaf (.edge 204 17)) (.empty)) (.leaf (.edge 204 71))) (.node (.edge 204 127) (.leaf (.edge 204 109)) (.leaf (.edge 204 129)))))) (.node (.edge 206 76) (.node (.edge 205 126) (.node (.edge 205 30) (.node (.edge 205 4) (.node (.edge 204 166) (.leaf (.edge 204 139)) (.empty)) (.leaf (.edge 205 15))) (.node (.edge 205 74) (.node (.edge 205 68) (.leaf (.edge 205 37)) (.empty)) (.leaf (.edge 205 112)))) (.node (.edge 206 7) (.node (.edge 205 142) (.node (.edge 205 137) (.leaf (.edge 205 131)) (.empty)) (.leaf (.edge 205 164))) (.node (.edge 206 33) (.node (.edge 206 32) (.leaf (.edge 206 16)) (.empty)) (.leaf (.edge 206 72))))) (.node (.edge 207 35) (.node (.edge 206 140) (.node (.edge 206 130) (.node (.edge 206 128) (.leaf (.edge 206 110)) (.empty)) (.leaf (.edge 206 136))) (.node (.edge 207 14) (.node (.edge 207 5) (.leaf (.edge 206 167)) (.empty)) (.leaf (.edge 207 31)))) (.node (.edge 207 132) (.node (.edge 207 111) (.node (.edge 207 75) (.leaf (.edge 207 73)) (.empty)) (.leaf (.edge 207 125))) (.node (.edge 207 141) (.leaf (.edge 207 133)) (.leaf (.edge 207 165))))))))))
type 'a tree =
| Empty
| Leaf of 'a
| Node of 'a * 'a tree * 'a tree
type edge = int * int
let edge (x, y) = (x, y)
let empty = Empty
let node x l r = Node (x, l, r)
let leaf x = Leaf x
let test1 = node (edge (5,0)) empty (leaf (edge (3,1)))
let test5 = node (edge (147,74)) (node (edge (110,2)) (node (edge (85,13)) (node (edge (60,36)) (node (edge (43,33)) (node (edge (29,20)) (node (edge (8,3)) (node (edge (4,0)) (node (edge (2,1)) (node (edge (2,0)) (leaf (edge (1,0))) (empty)) (leaf (edge (3,0)))) (node (edge (7,0)) (node (edge (6,0)) (leaf (edge (5,0))) (empty)) (leaf (edge (8,0))))) (node (edge (11,0)) (node (edge (10,0)) (node (edge (9,7)) (leaf (edge (9,0))) (empty)) (leaf (edge (10,6)))) (node (edge (12,4)) (node (edge (12,0)) (leaf (edge (11,5))) (empty)) (leaf (edge (28,18)))))) (node (edge (38,28)) (node (edge (34,21)) (node (edge (32,18)) (node (edge (31,19)) (leaf (edge (30,19))) (empty)) (leaf (edge (33,22)))) (node (edge (37,22)) (node (edge (36,20)) (leaf (edge (35,21))) (empty)) (leaf (edge (38,18))))) (node (edge (41,18)) (node (edge (40,19)) (node (edge (39,30)) (leaf (edge (39,19))) (empty)) (leaf (edge (40,31)))) (node (edge (42,36)) (node (edge (42,20)) (leaf (edge (41,32))) (empty)) (leaf (edge (43,22))))))) (node (edge (52,41)) (node (edge (48,47)) (node (edge (46,21)) (node (edge (45,20)) (node (edge (44,34)) (leaf (edge (44,21))) (empty)) (leaf (edge (45,29)))) (node (edge (47,37)) (node (edge (47,22)) (leaf (edge (46,35))) (empty)) (leaf (edge (48,27))))) (node (edge (50,49)) (node (edge (50,25)) (node (edge (49,46)) (leaf (edge (49,25))) (empty)) (leaf (edge (50,44)))) (node (edge (51,48)) (node (edge (51,43)) (leaf (edge (51,27))) (empty)) (leaf (edge (52,26)))))) (node (edge (56,54)) (node (edge (55,26)) (node (edge (54,24)) (node (edge (53,42)) (leaf (edge (53,23))) (empty)) (leaf (edge (54,39)))) (node (edge (56,24)) (node (edge (55,52)) (leaf (edge (55,38))) (empty)) (leaf (edge (56,40))))) (node (edge (58,28)) (node (edge (57,53)) (node (edge (57,45)) (leaf (edge (57,23))) (empty)) (leaf (edge (58,26)))) (node (edge (59,29)) (leaf (edge (59,23))) (leaf (edge (60,23)))))))) (node (edge (74,34)) (node (edge (68,14)) (node (edge (64,62)) (node (edge (62,31)) (node (edge (61,37)) (node (edge (61,27)) (leaf (edge (60,59))) (empty)) (leaf (edge (62,24)))) (node (edge (64,24)) (node (edge (63,35)) (leaf (edge (63,25))) (empty)) (leaf (edge (64,30))))) (node (edge (66,32)) (node (edge (65,63)) (node (edge (65,34)) (leaf (edge (65,25))) (empty)) (leaf (edge (66,26)))) (node (edge (67,33)) (node (edge (67,27)) (leaf (edge (66,58))) (empty)) (leaf (edge (67,61)))))) (node (edge (71,32)) (node (edge (69,61)) (node (edge (69,17)) (node (edge (68,58)) (leaf (edge (68,28))) (empty)) (leaf (edge (69,37)))) (node (edge (70,63)) (node (edge (70,35)) (leaf (edge (70,16))) (empty)) (leaf (edge (71,14))))) (node (edge (73,15)) (node (edge (72,36)) (node (edge (72,15)) (leaf (edge (71,66))) (empty)) (leaf (edge (72,60)))) (node (edge (73,59)) (leaf (edge (73,29))) (leaf (edge (74,16))))))) (node (edge (80,38)) (node (edge (77,64)) (node (edge (76,13)) (node (edge (75,33)) (node (edge (75,17)) (leaf (edge (74,65))) (empty)) (leaf (edge (75,67)))) (node (edge (77,13)) (node (edge (76,62)) (leaf (edge (76,31))) (empty)) (leaf (edge (77,30))))) (node (edge (79,16)) (node (edge (78,48)) (node (edge (78,47)) (leaf (edge (78,17))) (empty)) (leaf (edge (78,75)))) (node (edge (79,74)) (node (edge (79,49)) (leaf (edge (79,46))) (empty)) (leaf (edge (80,14)))))) (node (edge (82,70)) (node (edge (81,57)) (node (edge (81,15)) (node (edge (80,71)) (leaf (edge (80,55))) (empty)) (leaf (edge (81,45)))) (node (edge (82,44)) (node (edge (82,16)) (leaf (edge (81,72))) (empty)) (leaf (edge (82,50))))) (node (edge (84,13)) (node (edge (83,52)) (node (edge (83,41)) (leaf (edge (83,14))) (empty)) (leaf (edge (83,68)))) (node (edge (84,56)) (leaf (edge (84,40))) (leaf (edge (84,77))))))))) (node (edge (97,96)) (node (edge (92,9)) (node (edge (89,19)) (node (edge (87,53)) (node (edge (86,43)) (node (edge (85,76)) (node (edge (85,54)) (leaf (edge (85,39))) (empty)) (leaf (edge (86,17)))) (node (edge (87,15)) (node (edge (86,69)) (leaf (edge (86,51))) (empty)) (leaf (edge (87,42))))) (node (edge (88,15)) (node (edge (88,13)) (node (edge (88,1)) (leaf (edge (87,73))) (empty)) (leaf (edge (88,14)))) (node (edge (89,1)) (node (edge (88,17)) (leaf (edge (88,16))) (empty)) (leaf (edge (89,18)))))) (node (edge (90,59)) (node (edge (90,8)) (node (edge (89,22)) (node (edge (89,21)) (leaf (edge (89,20))) (empty)) (leaf (edge (89,88)))) (node (edge (90,44)) (node (edge (90,43)) (leaf (edge (90,13))) (empty)) (leaf (edge (90,58))))) (node (edge (91,46)) (node (edge (91,15)) (node (edge (91,12)) (leaf (edge (90,88))) (empty)) (leaf (edge (91,41)))) (node (edge (91,64)) (leaf (edge (91,61))) (leaf (edge (91,88))))))) (node (edge (94,88)) (node (edge (93,47)) (node (edge (92,67)) (node (edge (92,45)) (node (edge (92,39)) (leaf (edge (92,16))) (empty)) (leaf (edge (92,66)))) (node (edge (93,14)) (node (edge (93,11)) (leaf (edge (92,88))) (empty)) (leaf (edge (93,42))))) (node (edge (94,17)) (node (edge (93,88)) (node (edge (93,63)) (leaf (edge (93,62))) (empty)) (leaf (edge (94,10)))) (node (edge (94,60)) (node (edge (94,40)) (leaf (edge (94,38))) (empty)) (leaf (edge (94,65)))))) (node (edge (96,32)) (node (edge (95,35)) (node (edge (95,30)) (node (edge (95,28)) (leaf (edge (95,1))) (empty)) (leaf (edge (95,33)))) (node (edge (96,29)) (node (edge (96,1)) (leaf (edge (95,36))) (empty)) (leaf (edge (96,31))))) (node (edge (97,51)) (node (edge (97,1)) (node (edge (96,37)) (leaf (edge (96,34))) (empty)) (leaf (edge (97,49)))) (node (edge (97,54)) (leaf (edge (97,53))) (leaf (edge (97,55)))))))) (node (edge (103,67)) (node (edge (101,1)) (node (edge (99,61)) (node (edge (98,56)) (node (edge (98,50)) (node (edge (98,48)) (leaf (edge (98,1))) (empty)) (leaf (edge (98,52)))) (node (edge (99,1)) (node (edge (98,95)) (leaf (edge (98,57))) (empty)) (leaf (edge (99,59))))) (node (edge (100,58)) (node (edge (99,66)) (node (edge (99,65)) (leaf (edge (99,62))) (empty)) (leaf (edge (100,1)))) (node (edge (100,64)) (node (edge (100,63)) (leaf (edge (100,60))) (empty)) (leaf (edge (100,67)))))) (node (edge (102,85)) (node (edge (101,84)) (node (edge (101,82)) (node (edge (101,81)) (leaf (edge (101,78))) (empty)) (leaf (edge (101,83)))) (node (edge (102,79)) (node (edge (102,1)) (leaf (edge (101,99))) (empty)) (leaf (edge (102,80))))) (node (edge (103,20)) (node (edge (102,100)) (node (edge (102,87)) (leaf (edge (102,86))) (empty)) (leaf (edge (103,2)))) (node (edge (103,34)) (leaf (edge (103,28))) (leaf (edge (103,62))))))) (node (edge (107,18)) (node (edge (105,32)) (node (edge (104,60)) (node (edge (104,35)) (node (edge (104,19)) (leaf (edge (104,2))) (empty)) (leaf (edge (104,37)))) (node (edge (105,22)) (node (edge (105,2)) (leaf (edge (104,66))) (empty)) (leaf (edge (105,30))))) (node (edge (106,31)) (node (edge (106,2)) (node (edge (105,63)) (leaf (edge (105,59))) (empty)) (leaf (edge (106,21)))) (node (edge (106,61)) (node (edge (106,58)) (leaf (edge (106,36))) (empty)) (leaf (edge (107,2)))))) (node (edge (108,87)) (node (edge (108,2)) (node (edge (107,64)) (node (edge (107,33)) (leaf (edge (107,29))) (empty)) (leaf (edge (107,65)))) (node (edge (108,51)) (node (edge (108,50)) (leaf (edge (108,13))) (empty)) (leaf (edge (108,83))))) (node (edge (109,56)) (node (edge (109,17)) (node (edge (109,2)) (leaf (edge (108,104))) (empty)) (leaf (edge (109,55)))) (node (edge (109,81)) (leaf (edge (109,79))) (leaf (edge (109,105)))))))))) (node (edge (129,41)) (node (edge (119,112)) (node (edge (115,27)) (node (edge (112,103)) (node (edge (111,53)) (node (edge (110,80)) (node (edge (110,57)) (node (edge (110,54)) (leaf (edge (110,16))) (empty)) (leaf (edge (110,78)))) (node (edge (111,14)) (node (edge (111,2)) (leaf (edge (110,106))) (empty)) (leaf (edge (111,48))))) (node (edge (112,15)) (node (edge (111,107)) (node (edge (111,85)) (leaf (edge (111,82))) (empty)) (leaf (edge (112,2)))) (node (edge (112,84)) (node (edge (112,52)) (leaf (edge (112,49))) (empty)) (leaf (edge (112,86)))))) (node (edge (114,19)) (node (edge (113,53)) (node (edge (113,25)) (node (edge (113,19)) (leaf (edge (113,6))) (empty)) (leaf (edge (113,38)))) (node (edge (113,111)) (node (edge (113,91)) (leaf (edge (113,61))) (empty)) (leaf (edge (114,7))))) (node (edge (114,93)) (node (edge (114,52)) (node (edge (114,45)) (leaf (edge (114,27))) (empty)) (leaf (edge (114,63)))) (node (edge (115,4)) (leaf (edge (114,112))) (leaf (edge (115,18))))))) (node (edge (117,55)) (node (edge (116,47)) (node (edge (115,110)) (node (edge (115,59)) (node (edge (115,54)) (leaf (edge (115,46))) (empty)) (leaf (edge (115,90)))) (node (edge (116,20)) (node (edge (116,5)) (leaf (edge (115,114))) (empty)) (leaf (edge (116,25))))) (node (edge (116,113)) (node (edge (116,90)) (node (edge (116,58)) (leaf (edge (116,56))) (empty)) (leaf (edge (116,109)))) (node (edge (117,23)) (node (edge (117,21)) (leaf (edge (117,3))) (empty)) (leaf (edge (117,43)))))) (node (edge (118,94)) (node (edge (118,21)) (node (edge (117,109)) (node (edge (117,93)) (leaf (edge (117,62))) (empty)) (leaf (edge (118,4)))) (node (edge (118,48)) (node (edge (118,41)) (leaf (edge (118,24))) (empty)) (leaf (edge (118,60))))) (node (edge (119,42)) (node (edge (119,22)) (node (edge (119,5)) (leaf (edge (118,111))) (empty)) (leaf (edge (119,24)))) (node (edge (119,66)) (leaf (edge (119,49))) (leaf (edge (119,92)))))))) (node (edge (124,56)) (node (edge (122,18)) (node (edge (121,7)) (node (edge (120,44)) (node (edge (120,22)) (node (edge (120,3)) (leaf (edge (119,118))) (empty)) (leaf (edge (120,26)))) (node (edge (120,91)) (node (edge (120,64)) (leaf (edge (120,57))) (empty)) (leaf (edge (120,110))))) (node (edge (121,65)) (node (edge (121,39)) (node (edge (121,26)) (leaf (edge (121,20))) (empty)) (leaf (edge (121,51)))) (node (edge (121,120)) (node (edge (121,108)) (leaf (edge (121,94))) (empty)) (leaf (edge (122,6)))))) (node (edge (123,47)) (node (edge (122,92)) (node (edge (122,50)) (node (edge (122,40)) (leaf (edge (122,23))) (empty)) (leaf (edge (122,67)))) (node (edge (123,12)) (node (edge (122,117)) (leaf (edge (122,108))) (empty)) (leaf (edge (123,28))))) (node (edge (123,97)) (node (edge (123,74)) (node (edge (123,60)) (leaf (edge (123,54))) (empty)) (leaf (edge (123,93)))) (node (edge (124,29)) (leaf (edge (124,11))) (leaf (edge (124,46))))))) (node (edge (126,97)) (node (edge (125,72)) (node (edge (125,9)) (node (edge (124,91)) (node (edge (124,75)) (leaf (edge (124,66))) (empty)) (leaf (edge (124,98)))) (node (edge (125,52)) (node (edge (125,43)) (leaf (edge (125,31))) (empty)) (leaf (edge (125,65))))) (node (edge (126,44)) (node (edge (126,10)) (node (edge (125,98)) (leaf (edge (125,90))) (empty)) (leaf (edge (126,30)))) (node (edge (126,71)) (node (edge (126,67)) (leaf (edge (126,53))) (empty)) (leaf (edge (126,90)))))) (node (edge (128,32)) (node (edge (127,59)) (node (edge (127,39)) (node (edge (127,34)) (leaf (edge (127,12))) (empty)) (leaf (edge (127,48)))) (node (edge (127,98)) (node (edge (127,92)) (leaf (edge (127,68))) (empty)) (leaf (edge (128,10))))) (node (edge (128,93)) (node (edge (128,61)) (node (edge (128,50)) (leaf (edge (128,42))) (empty)) (leaf (edge (128,77)))) (node (edge (129,9)) (leaf (edge (128,98))) (leaf (edge (129,36))))))))) (node (edge (138,58)) (node (edge (134,7)) (node (edge (131,94)) (node (edge (130,58)) (node (edge (129,97)) (node (edge (129,76)) (node (edge (129,63)) (leaf (edge (129,51))) (empty)) (leaf (edge (129,91)))) (node (edge (130,40)) (node (edge (130,33)) (leaf (edge (130,11))) (empty)) (leaf (edge (130,49))))) (node (edge (131,37)) (node (edge (130,97)) (node (edge (130,94)) (leaf (edge (130,73))) (empty)) (leaf (edge (131,8)))) (node (edge (131,62)) (node (edge (131,57)) (leaf (edge (131,38))) (empty)) (leaf (edge (131,70)))))) (node (edge (133,4)) (node (edge (132,55)) (node (edge (132,35)) (node (edge (132,8)) (leaf (edge (131,98))) (empty)) (leaf (edge (132,45)))) (node (edge (132,92)) (node (edge (132,69)) (leaf (edge (132,64))) (empty)) (leaf (edge (132,97))))) (node (edge (133,79)) (node (edge (133,61)) (node (edge (133,39)) (leaf (edge (133,28))) (empty)) (leaf (edge (133,73)))) (node (edge (133,121)) (leaf (edge (133,109))) (leaf (edge (133,128))))))) (node (edge (136,38)) (node (edge (135,30)) (node (edge (134,81)) (node (edge (134,67)) (node (edge (134,41)) (leaf (edge (134,31))) (empty)) (leaf (edge (134,70)))) (node (edge (134,126)) (node (edge (134,118)) (leaf (edge (134,109))) (empty)) (leaf (edge (135,6))))) (node (edge (135,110)) (node (edge (135,69)) (node (edge (135,65)) (leaf (edge (135,42))) (empty)) (leaf (edge (135,80)))) (node (edge (136,3)) (node (edge (135,125)) (leaf (edge (135,119))) (empty)) (leaf (edge (136,35)))))) (node (edge (137,63)) (node (edge (136,113)) (node (edge (136,86)) (node (edge (136,76)) (leaf (edge (136,59))) (empty)) (leaf (edge (136,112)))) (node (edge (137,29)) (node (edge (137,5)) (leaf (edge (136,127))) (empty)) (leaf (edge (137,40))))) (node (edge (137,129)) (node (edge (137,110)) (node (edge (137,78)) (leaf (edge (137,68))) (empty)) (leaf (edge (137,122)))) (node (edge (138,37)) (leaf (edge (138,3))) (leaf (edge (138,45)))))))) (node (edge (142,111)) (node (edge (140,83)) (node (edge (139,71)) (node (edge (138,130)) (node (edge (138,111)) (node (edge (138,82)) (leaf (edge (138,77))) (empty)) (leaf (edge (138,114)))) (node (edge (139,46)) (node (edge (139,33)) (leaf (edge (139,5))) (empty)) (leaf (edge (139,62))))) (node (edge (140,4)) (node (edge (139,115)) (node (edge (139,108)) (leaf (edge (139,87))) (empty)) (leaf (edge (139,131)))) (node (edge (140,64)) (node (edge (140,47)) (leaf (edge (140,34))) (empty)) (leaf (edge (140,72)))))) (node (edge (141,112)) (node (edge (141,32)) (node (edge (140,132)) (node (edge (140,116)) (leaf (edge (140,108))) (empty)) (leaf (edge (141,6)))) (node (edge (141,75)) (node (edge (141,60)) (leaf (edge (141,44))) (empty)) (leaf (edge (141,84))))) (node (edge (142,43)) (node (edge (142,7)) (node (edge (141,123)) (leaf (edge (141,120))) (empty)) (leaf (edge (142,36)))) (node (edge (142,74)) (leaf (edge (142,66))) (leaf (edge (142,85))))))) (node (edge (145,33)) (node (edge (143,125)) (node (edge (143,46)) (node (edge (143,9)) (node (edge (142,124)) (leaf (edge (142,117))) (empty)) (leaf (edge (143,28)))) (node (edge (143,78)) (node (edge (143,77)) (leaf (edge (143,53))) (empty)) (leaf (edge (143,103))))) (node (edge (144,69)) (node (edge (144,41)) (node (edge (144,34)) (leaf (edge (144,11))) (empty)) (leaf (edge (144,57)))) (node (edge (144,130)) (node (edge (144,103)) (leaf (edge (144,85))) (empty)) (leaf (edge (145,12)))))) (node (edge (146,56)) (node (edge (145,107)) (node (edge (145,70)) (node (edge (145,55)) (leaf (edge (145,42))) (empty)) (leaf (edge (145,84)))) (node (edge (146,37)) (node (edge (146,9)) (leaf (edge (145,127))) (empty)) (leaf (edge (146,44))))) (node (edge (147,8)) (node (edge (146,104)) (node (edge (146,80)) (leaf (edge (146,73))) (empty)) (leaf (edge (146,129)))) (node (edge (147,40)) (leaf (edge (147,32))) (leaf (edge (147,48))))))))))) (node (edge (180,20)) (node (edge (165,74)) (node (edge (156,142)) (node (edge (152,50)) (node (edge (150,10)) (node (edge (148,106)) (node (edge (148,36)) (node (edge (147,132)) (node (edge (147,105)) (leaf (edge (147,87))) (empty)) (leaf (edge (148,8)))) (node (edge (148,75)) (node (edge (148,49)) (leaf (edge (148,39))) (empty)) (leaf (edge (148,83))))) (node (edge (149,54)) (node (edge (149,35)) (node (edge (149,10)) (leaf (edge (148,131))) (empty)) (leaf (edge (149,43)))) (node (edge (149,104)) (node (edge (149,81)) (leaf (edge (149,68))) (empty)) (leaf (edge (149,128)))))) (node (edge (151,38)) (node (edge (150,79)) (node (edge (150,52)) (node (edge (150,47)) (leaf (edge (150,29))) (empty)) (leaf (edge (150,76)))) (node (edge (151,11)) (node (edge (150,126)) (leaf (edge (150,107))) (empty)) (leaf (edge (151,30))))) (node (edge (151,124)) (node (edge (151,82)) (node (edge (151,72)) (leaf (edge (151,51))) (empty)) (leaf (edge (151,105)))) (node (edge (152,31)) (leaf (edge (152,12))) (leaf (edge (152,45))))))) (node (edge (154,99)) (node (edge (153,84)) (node (edge (153,4)) (node (edge (152,106)) (node (edge (152,86)) (leaf (edge (152,71))) (empty)) (leaf (edge (152,123)))) (node (edge (153,63)) (node (edge (153,57)) (leaf (edge (153,43))) (empty)) (leaf (edge (153,71))))) (node (edge (154,44)) (node (edge (153,144)) (node (edge (153,133)) (leaf (edge (153,100))) (empty)) (leaf (edge (154,5)))) (node (edge (154,72)) (node (edge (154,61)) (leaf (edge (154,55))) (empty)) (leaf (edge (154,85)))))) (node (edge (155,141)) (node (edge (155,51)) (node (edge (155,6)) (node (edge (154,145)) (leaf (edge (154,137))) (empty)) (leaf (edge (155,45)))) (node (edge (155,79)) (node (edge (155,68)) (leaf (edge (155,62))) (empty)) (leaf (edge (155,99))))) (node (edge (156,64)) (node (edge (156,38)) (node (edge (156,7)) (leaf (edge (155,151))) (empty)) (leaf (edge (156,50)))) (node (edge (156,78)) (leaf (edge (156,73))) (leaf (edge (156,100)))))))) (node (edge (161,42)) (node (edge (159,3)) (node (edge (157,148)) (node (edge (157,59)) (node (edge (157,47)) (node (edge (157,7)) (leaf (edge (156,152))) (empty)) (leaf (edge (157,49)))) (node (edge (157,99)) (node (edge (157,80)) (leaf (edge (157,77))) (empty)) (leaf (edge (157,134))))) (node (edge (158,69)) (node (edge (158,52)) (node (edge (158,39)) (leaf (edge (158,5))) (empty)) (leaf (edge (158,60)))) (node (edge (158,139)) (node (edge (158,100)) (leaf (edge (158,82))) (empty)) (leaf (edge (158,150)))))) (node (edge (160,46)) (node (edge (159,87)) (node (edge (159,65)) (node (edge (159,54)) (leaf (edge (159,41))) (empty)) (leaf (edge (159,75)))) (node (edge (159,149)) (node (edge (159,138)) (leaf (edge (159,99))) (empty)) (leaf (edge (160,6))))) (node (edge (160,100)) (node (edge (160,76)) (node (edge (160,58)) (leaf (edge (160,48))) (empty)) (leaf (edge (160,81)))) (node (edge (160,147)) (leaf (edge (160,135))) (leaf (edge (161,3))))))) (node (edge (163,49)) (node (edge (162,53)) (node (edge (161,100)) (node (edge (161,74)) (node (edge (161,67)) (leaf (edge (161,56))) (empty)) (leaf (edge (161,83)))) (node (edge (162,4)) (node (edge (161,146)) (leaf (edge (161,136))) (empty)) (leaf (edge (162,40))))) (node (edge (162,140)) (node (edge (162,86)) (node (edge (162,70)) (leaf (edge (162,66))) (empty)) (leaf (edge (162,99)))) (node (edge (163,19)) (node (edge (163,3)) (leaf (edge (162,143))) (empty)) (leaf (edge (163,48)))))) (node (edge (164,75)) (node (edge (163,154)) (node (edge (163,89)) (node (edge (163,72)) (leaf (edge (163,71))) (empty)) (leaf (edge (163,153)))) (node (edge (164,50)) (node (edge (164,20)) (leaf (edge (164,4))) (empty)) (leaf (edge (164,55))))) (node (edge (165,5)) (node (edge (164,159)) (node (edge (164,89)) (leaf (edge (164,76))) (empty)) (leaf (edge (164,160)))) (node (edge (165,51)) (leaf (edge (165,18))) (leaf (edge (165,57))))))))) (node (edge (172,106)) (node (edge (169,80)) (node (edge (167,89)) (node (edge (166,73)) (node (edge (166,6)) (node (edge (165,157)) (node (edge (165,89)) (leaf (edge (165,77))) (empty)) (leaf (edge (165,161)))) (node (edge (166,54)) (node (edge (166,52)) (leaf (edge (166,22))) (empty)) (leaf (edge (166,70))))) (node (edge (167,21)) (node (edge (166,162)) (node (edge (166,156)) (leaf (edge (166,89))) (empty)) (leaf (edge (167,7)))) (node (edge (167,68)) (node (edge (167,56)) (leaf (edge (167,53))) (empty)) (leaf (edge (167,69)))))) (node (edge (168,104)) (node (edge (168,41)) (node (edge (168,8)) (node (edge (167,158)) (leaf (edge (167,155))) (empty)) (leaf (edge (168,19)))) (node (edge (168,79)) (node (edge (168,78)) (leaf (edge (168,42))) (empty)) (leaf (edge (168,90))))) (node (edge (169,12)) (node (edge (168,155)) (node (edge (168,145)) (leaf (edge (168,144))) (empty)) (leaf (edge (168,156)))) (node (edge (169,40)) (leaf (edge (169,20))) (leaf (edge (169,43))))))) (node (edge (171,10)) (node (edge (170,39)) (node (edge (169,149)) (node (edge (169,103)) (node (edge (169,91)) (leaf (edge (169,82))) (empty)) (leaf (edge (169,147)))) (node (edge (170,11)) (node (edge (169,158)) (leaf (edge (169,157))) (empty)) (leaf (edge (170,18))))) (node (edge (170,107)) (node (edge (170,86)) (node (edge (170,81)) (leaf (edge (170,44))) (empty)) (leaf (edge (170,93)))) (node (edge (170,160)) (node (edge (170,148)) (leaf (edge (170,146))) (empty)) (leaf (edge (170,162)))))) (node (edge (171,154)) (node (edge (171,85)) (node (edge (171,46)) (node (edge (171,45)) (leaf (edge (171,22))) (empty)) (leaf (edge (171,83)))) (node (edge (171,143)) (node (edge (171,105)) (leaf (edge (171,94))) (empty)) (leaf (edge (171,152))))) (node (edge (172,47)) (node (edge (172,21)) (node (edge (172,9)) (leaf (edge (171,161))) (empty)) (leaf (edge (172,38)))) (node (edge (172,87)) (leaf (edge (172,84))) (leaf (edge (172,92)))))))) (node (edge (176,35)) (node (edge (174,81)) (node (edge (173,82)) (node (edge (173,8)) (node (edge (172,153)) (node (edge (172,151)) (leaf (edge (172,150))) (empty)) (leaf (edge (172,159)))) (node (edge (173,28)) (node (edge (173,23)) (leaf (edge (173,22))) (empty)) (leaf (edge (173,76))))) (node (edge (174,9)) (node (edge (173,129)) (node (edge (173,119)) (leaf (edge (173,101))) (empty)) (leaf (edge (173,133)))) (node (edge (174,33)) (node (edge (174,26)) (leaf (edge (174,19))) (empty)) (leaf (edge (174,74)))))) (node (edge (175,80)) (node (edge (175,10)) (node (edge (174,123)) (node (edge (174,113)) (leaf (edge (174,101))) (empty)) (leaf (edge (174,139)))) (node (edge (175,34)) (node (edge (175,23)) (leaf (edge (175,19))) (empty)) (leaf (edge (175,75))))) (node (edge (175,173)) (node (edge (175,124)) (node (edge (175,114)) (leaf (edge (175,102))) (empty)) (leaf (edge (175,140)))) (node (edge (176,20)) (leaf (edge (176,11))) (leaf (edge (176,24))))))) (node (edge (178,37)) (node (edge (177,36)) (node (edge (176,126)) (node (edge (176,101)) (node (edge (176,78)) (leaf (edge (176,71))) (empty)) (leaf (edge (176,121)))) (node (edge (177,18)) (node (edge (177,10)) (leaf (edge (176,136))) (empty)) (leaf (edge (177,25))))) (node (edge (177,132)) (node (edge (177,101)) (node (edge (177,84)) (leaf (edge (177,69))) (empty)) (leaf (edge (177,115)))) (node (edge (178,18)) (node (edge (178,12)) (leaf (edge (177,142))) (empty)) (leaf (edge (178,24)))))) (node (edge (179,27)) (node (edge (178,125)) (node (edge (178,102)) (node (edge (178,79)) (leaf (edge (178,72))) (empty)) (leaf (edge (178,122)))) (node (edge (179,12)) (node (edge (178,176)) (leaf (edge (178,138))) (empty)) (leaf (edge (179,21))))) (node (edge (179,117)) (node (edge (179,83)) (node (edge (179,73)) (leaf (edge (179,30))) (empty)) (leaf (edge (179,101)))) (node (edge (179,135)) (leaf (edge (179,130))) (leaf (edge (180,9)))))))))) (node (edge (194,163)) (node (edge (187,86)) (node (edge (183,114)) (node (edge (181,174)) (node (edge (181,8)) (node (edge (180,102)) (node (edge (180,70)) (node (edge (180,32)) (leaf (edge (180,27))) (empty)) (leaf (edge (180,85)))) (node (edge (180,141)) (node (edge (180,131)) (leaf (edge (180,116))) (empty)) (leaf (edge (180,179))))) (node (edge (181,86)) (node (edge (181,29)) (node (edge (181,26)) (leaf (edge (181,21))) (empty)) (leaf (edge (181,77)))) (node (edge (181,128)) (node (edge (181,118)) (leaf (edge (181,102))) (empty)) (leaf (edge (181,137)))))) (node (edge (182,134)) (node (edge (182,68)) (node (edge (182,25)) (node (edge (182,22)) (leaf (edge (182,11))) (empty)) (leaf (edge (182,31)))) (node (edge (182,120)) (node (edge (182,102)) (leaf (edge (182,87))) (empty)) (leaf (edge (182,127))))) (node (edge (183,28)) (node (edge (183,17)) (node (edge (183,7)) (leaf (edge (182,177))) (empty)) (leaf (edge (183,24)))) (node (edge (183,87)) (leaf (edge (183,44))) (leaf (edge (183,95))))))) (node (edge (185,117)) (node (edge (184,120)) (node (edge (184,27)) (node (edge (184,3)) (node (edge (183,154)) (leaf (edge (183,147))) (empty)) (leaf (edge (184,14)))) (node (edge (184,79)) (node (edge (184,40)) (leaf (edge (184,36))) (empty)) (leaf (edge (184,95))))) (node (edge (185,25)) (node (edge (185,3)) (node (edge (184,162)) (leaf (edge (184,150))) (empty)) (leaf (edge (185,15)))) (node (edge (185,78)) (node (edge (185,39)) (leaf (edge (185,32))) (empty)) (leaf (edge (185,96)))))) (node (edge (186,118)) (node (edge (186,25)) (node (edge (186,4)) (node (edge (185,158)) (leaf (edge (185,143))) (empty)) (leaf (edge (186,13)))) (node (edge (186,80)) (node (edge (186,45)) (leaf (edge (186,33))) (empty)) (leaf (edge (186,95))))) (node (edge (187,16)) (node (edge (186,185)) (node (edge (186,155)) (leaf (edge (186,146))) (empty)) (leaf (edge (187,5)))) (node (edge (187,30)) (leaf (edge (187,23))) (leaf (edge (187,41)))))))) (node (edge (191,26)) (node (edge (189,46)) (node (edge (188,81)) (node (edge (188,5)) (node (edge (187,152)) (node (edge (187,116)) (leaf (edge (187,95))) (empty)) (leaf (edge (187,159)))) (node (edge (188,34)) (node (edge (188,27)) (leaf (edge (188,13))) (empty)) (leaf (edge (188,38))))) (node (edge (188,184)) (node (edge (188,149)) (node (edge (188,119)) (leaf (edge (188,96))) (empty)) (leaf (edge (188,156)))) (node (edge (189,23)) (node (edge (189,14)) (leaf (edge (189,7))) (empty)) (leaf (edge (189,37)))))) (node (edge (190,35)) (node (edge (189,160)) (node (edge (189,121)) (node (edge (189,96)) (leaf (edge (189,84))) (empty)) (leaf (edge (189,145)))) (node (edge (190,15)) (node (edge (190,6)) (leaf (edge (189,187))) (empty)) (leaf (edge (190,26))))) (node (edge (190,144)) (node (edge (190,95)) (node (edge (190,85)) (leaf (edge (190,47))) (empty)) (leaf (edge (190,122)))) (node (edge (191,4)) (leaf (edge (190,157))) (leaf (edge (191,17))))))) (node (edge (193,9)) (node (edge (192,16)) (node (edge (191,115)) (node (edge (191,82)) (node (edge (191,42)) (leaf (edge (191,31))) (empty)) (leaf (edge (191,96)))) (node (edge (191,190)) (node (edge (191,161)) (leaf (edge (191,151))) (empty)) (leaf (edge (192,6))))) (node (edge (192,96)) (node (edge (192,43)) (node (edge (192,29)) (leaf (edge (192,24))) (empty)) (leaf (edge (192,83)))) (node (edge (192,153)) (node (edge (192,148)) (leaf (edge (192,113))) (empty)) (leaf (edge (192,183)))))) (node (edge (193,191)) (node (edge (193,68)) (node (edge (193,49)) (node (edge (193,23)) (leaf (edge (193,17))) (empty)) (leaf (edge (193,64)))) (node (edge (193,163)) (node (edge (193,149)) (leaf (edge (193,107))) (empty)) (leaf (edge (193,180))))) (node (edge (194,62)) (node (edge (194,26)) (node (edge (194,16)) (leaf (edge (194,10))) (empty)) (leaf (edge (194,48)))) (node (edge (194,103)) (leaf (edge (194,73))) (leaf (edge (194,146))))))))) (node (edge (201,71)) (node (edge (198,13)) (node (edge (196,106)) (node (edge (195,144)) (node (edge (195,24)) (node (edge (195,9)) (node (edge (194,187)) (leaf (edge (194,177))) (empty)) (leaf (edge (195,14)))) (node (edge (195,69)) (node (edge (195,59)) (leaf (edge (195,50))) (empty)) (leaf (edge (195,105))))) (node (edge (196,15)) (node (edge (195,184)) (node (edge (195,174)) (leaf (edge (195,164))) (empty)) (leaf (edge (196,10)))) (node (edge (196,58)) (node (edge (196,51)) (leaf (edge (196,24))) (empty)) (leaf (edge (196,70)))))) (node (edge (197,61)) (node (edge (196,195)) (node (edge (196,175)) (node (edge (196,165)) (leaf (edge (196,145))) (empty)) (leaf (edge (196,185)))) (node (edge (197,23)) (node (edge (197,13)) (leaf (edge (197,11))) (empty)) (leaf (edge (197,52))))) (node (edge (197,176)) (node (edge (197,147)) (node (edge (197,106)) (leaf (edge (197,74))) (empty)) (leaf (edge (197,166)))) (node (edge (197,193)) (leaf (edge (197,186))) (leaf (edge (198,12))))))) (node (edge (199,179)) (node (edge (198,194)) (node (edge (198,105)) (node (edge (198,63)) (node (edge (198,53)) (leaf (edge (198,26))) (empty)) (leaf (edge (198,75)))) (node (edge (198,178)) (node (edge (198,167)) (leaf (edge (198,148))) (empty)) (leaf (edge (198,188))))) (node (edge (199,66)) (node (edge (199,25)) (node (edge (199,17)) (leaf (edge (199,12))) (empty)) (leaf (edge (199,57)))) (node (edge (199,150)) (node (edge (199,104)) (leaf (edge (199,76))) (empty)) (leaf (edge (199,165)))))) (node (edge (200,166)) (node (edge (200,54)) (node (edge (200,14)) (node (edge (200,8)) (leaf (edge (199,183))) (empty)) (leaf (edge (200,25)))) (node (edge (200,103)) (node (edge (200,72)) (leaf (edge (200,67))) (empty)) (leaf (edge (200,151))))) (node (edge (201,15)) (node (edge (200,199)) (node (edge (200,189)) (leaf (edge (200,181))) (empty)) (leaf (edge (201,8)))) (node (edge (201,56)) (leaf (edge (201,27))) (leaf (edge (201,65)))))))) (node (edge (204,138)) (node (edge (203,28)) (node (edge (202,60)) (node (edge (201,190)) (node (edge (201,167)) (node (edge (201,152)) (leaf (edge (201,107))) (empty)) (leaf (edge (201,173)))) (node (edge (202,27)) (node (edge (202,16)) (leaf (edge (202,11))) (empty)) (leaf (edge (202,55))))) (node (edge (202,182)) (node (edge (202,143)) (node (edge (202,104)) (leaf (edge (202,77))) (empty)) (leaf (edge (202,164)))) (node (edge (203,3)) (node (edge (202,201)) (leaf (edge (202,192))) (empty)) (leaf (edge (203,13)))))) (node (edge (204,6)) (node (edge (203,123)) (node (edge (203,70)) (node (edge (203,69)) (leaf (edge (203,29))) (empty)) (leaf (edge (203,108)))) (node (edge (203,135)) (node (edge (203,134)) (leaf (edge (203,124))) (empty)) (leaf (edge (203,163))))) (node (edge (204,77)) (node (edge (204,36)) (node (edge (204,34)) (leaf (edge (204,17))) (empty)) (leaf (edge (204,71)))) (node (edge (204,127)) (leaf (edge (204,109))) (leaf (edge (204,129))))))) (node (edge (206,76)) (node (edge (205,126)) (node (edge (205,30)) (node (edge (205,4)) (node (edge (204,166)) (leaf (edge (204,139))) (empty)) (leaf (edge (205,15)))) (node (edge (205,74)) (node (edge (205,68)) (leaf (edge (205,37))) (empty)) (leaf (edge (205,112))))) (node (edge (206,7)) (node (edge (205,142)) (node (edge (205,137)) (leaf (edge (205,131))) (empty)) (leaf (edge (205,164)))) (node (edge (206,33)) (node (edge (206,32)) (leaf (edge (206,16))) (empty)) (leaf (edge (206,72)))))) (node (edge (207,35)) (node (edge (206,140)) (node (edge (206,130)) (node (edge (206,128)) (leaf (edge (206,110))) (empty)) (leaf (edge (206,136)))) (node (edge (207,14)) (node (edge (207,5)) (leaf (edge (206,167))) (empty)) (leaf (edge (207,31))))) (node (edge (207,132)) (node (edge (207,111)) (node (edge (207,75)) (leaf (edge (207,73))) (empty)) (leaf (edge (207,125)))) (node (edge (207,141)) (leaf (edge (207,133))) (leaf (edge (207,165)))))))))))
Inductive simpleTree (A : Set) : Set :=
| empty : simpleTree A
| leaf : A -> simpleTree A
| node : A -> simpleTree A -> simpleTree A -> simpleTree A.
Arguments empty {_}.
Arguments leaf {_} _.
Arguments node {_} _ _ _.
Definition edge (p : nat * nat) := p.
Definition test1 := node (edge (5 , 0)) empty (leaf (edge (3 , 1))).
Definition test5 := node (edge (147 , 74)) (node (edge (110 , 2)) (node (edge (85 , 13)) (node (edge (60 , 36)) (node (edge (43 , 33)) (node (edge (29 , 20)) (node (edge (8 , 3)) (node (edge (4 , 0)) (node (edge (2 , 1)) (node (edge (2 , 0)) (leaf (edge (1 , 0))) (empty)) (leaf (edge (3 , 0)))) (node (edge (7 , 0)) (node (edge (6 , 0)) (leaf (edge (5 , 0))) (empty)) (leaf (edge (8 , 0))))) (node (edge (11 , 0)) (node (edge (10 , 0)) (node (edge (9 , 7)) (leaf (edge (9 , 0))) (empty)) (leaf (edge (10 , 6)))) (node (edge (12 , 4)) (node (edge (12 , 0)) (leaf (edge (11 , 5))) (empty)) (leaf (edge (28 , 18)))))) (node (edge (38 , 28)) (node (edge (34 , 21)) (node (edge (32 , 18)) (node (edge (31 , 19)) (leaf (edge (30 , 19))) (empty)) (leaf (edge (33 , 22)))) (node (edge (37 , 22)) (node (edge (36 , 20)) (leaf (edge (35 , 21))) (empty)) (leaf (edge (38 , 18))))) (node (edge (41 , 18)) (node (edge (40 , 19)) (node (edge (39 , 30)) (leaf (edge (39 , 19))) (empty)) (leaf (edge (40 , 31)))) (node (edge (42 , 36)) (node (edge (42 , 20)) (leaf (edge (41 , 32))) (empty)) (leaf (edge (43 , 22))))))) (node (edge (52 , 41)) (node (edge (48 , 47)) (node (edge (46 , 21)) (node (edge (45 , 20)) (node (edge (44 , 34)) (leaf (edge (44 , 21))) (empty)) (leaf (edge (45 , 29)))) (node (edge (47 , 37)) (node (edge (47 , 22)) (leaf (edge (46 , 35))) (empty)) (leaf (edge (48 , 27))))) (node (edge (50 , 49)) (node (edge (50 , 25)) (node (edge (49 , 46)) (leaf (edge (49 , 25))) (empty)) (leaf (edge (50 , 44)))) (node (edge (51 , 48)) (node (edge (51 , 43)) (leaf (edge (51 , 27))) (empty)) (leaf (edge (52 , 26)))))) (node (edge (56 , 54)) (node (edge (55 , 26)) (node (edge (54 , 24)) (node (edge (53 , 42)) (leaf (edge (53 , 23))) (empty)) (leaf (edge (54 , 39)))) (node (edge (56 , 24)) (node (edge (55 , 52)) (leaf (edge (55 , 38))) (empty)) (leaf (edge (56 , 40))))) (node (edge (58 , 28)) (node (edge (57 , 53)) (node (edge (57 , 45)) (leaf (edge (57 , 23))) (empty)) (leaf (edge (58 , 26)))) (node (edge (59 , 29)) (leaf (edge (59 , 23))) (leaf (edge (60 , 23)))))))) (node (edge (74 , 34)) (node (edge (68 , 14)) (node (edge (64 , 62)) (node (edge (62 , 31)) (node (edge (61 , 37)) (node (edge (61 , 27)) (leaf (edge (60 , 59))) (empty)) (leaf (edge (62 , 24)))) (node (edge (64 , 24)) (node (edge (63 , 35)) (leaf (edge (63 , 25))) (empty)) (leaf (edge (64 , 30))))) (node (edge (66 , 32)) (node (edge (65 , 63)) (node (edge (65 , 34)) (leaf (edge (65 , 25))) (empty)) (leaf (edge (66 , 26)))) (node (edge (67 , 33)) (node (edge (67 , 27)) (leaf (edge (66 , 58))) (empty)) (leaf (edge (67 , 61)))))) (node (edge (71 , 32)) (node (edge (69 , 61)) (node (edge (69 , 17)) (node (edge (68 , 58)) (leaf (edge (68 , 28))) (empty)) (leaf (edge (69 , 37)))) (node (edge (70 , 63)) (node (edge (70 , 35)) (leaf (edge (70 , 16))) (empty)) (leaf (edge (71 , 14))))) (node (edge (73 , 15)) (node (edge (72 , 36)) (node (edge (72 , 15)) (leaf (edge (71 , 66))) (empty)) (leaf (edge (72 , 60)))) (node (edge (73 , 59)) (leaf (edge (73 , 29))) (leaf (edge (74 , 16))))))) (node (edge (80 , 38)) (node (edge (77 , 64)) (node (edge (76 , 13)) (node (edge (75 , 33)) (node (edge (75 , 17)) (leaf (edge (74 , 65))) (empty)) (leaf (edge (75 , 67)))) (node (edge (77 , 13)) (node (edge (76 , 62)) (leaf (edge (76 , 31))) (empty)) (leaf (edge (77 , 30))))) (node (edge (79 , 16)) (node (edge (78 , 48)) (node (edge (78 , 47)) (leaf (edge (78 , 17))) (empty)) (leaf (edge (78 , 75)))) (node (edge (79 , 74)) (node (edge (79 , 49)) (leaf (edge (79 , 46))) (empty)) (leaf (edge (80 , 14)))))) (node (edge (82 , 70)) (node (edge (81 , 57)) (node (edge (81 , 15)) (node (edge (80 , 71)) (leaf (edge (80 , 55))) (empty)) (leaf (edge (81 , 45)))) (node (edge (82 , 44)) (node (edge (82 , 16)) (leaf (edge (81 , 72))) (empty)) (leaf (edge (82 , 50))))) (node (edge (84 , 13)) (node (edge (83 , 52)) (node (edge (83 , 41)) (leaf (edge (83 , 14))) (empty)) (leaf (edge (83 , 68)))) (node (edge (84 , 56)) (leaf (edge (84 , 40))) (leaf (edge (84 , 77))))))))) (node (edge (97 , 96)) (node (edge (92 , 9)) (node (edge (89 , 19)) (node (edge (87 , 53)) (node (edge (86 , 43)) (node (edge (85 , 76)) (node (edge (85 , 54)) (leaf (edge (85 , 39))) (empty)) (leaf (edge (86 , 17)))) (node (edge (87 , 15)) (node (edge (86 , 69)) (leaf (edge (86 , 51))) (empty)) (leaf (edge (87 , 42))))) (node (edge (88 , 15)) (node (edge (88 , 13)) (node (edge (88 , 1)) (leaf (edge (87 , 73))) (empty)) (leaf (edge (88 , 14)))) (node (edge (89 , 1)) (node (edge (88 , 17)) (leaf (edge (88 , 16))) (empty)) (leaf (edge (89 , 18)))))) (node (edge (90 , 59)) (node (edge (90 , 8)) (node (edge (89 , 22)) (node (edge (89 , 21)) (leaf (edge (89 , 20))) (empty)) (leaf (edge (89 , 88)))) (node (edge (90 , 44)) (node (edge (90 , 43)) (leaf (edge (90 , 13))) (empty)) (leaf (edge (90 , 58))))) (node (edge (91 , 46)) (node (edge (91 , 15)) (node (edge (91 , 12)) (leaf (edge (90 , 88))) (empty)) (leaf (edge (91 , 41)))) (node (edge (91 , 64)) (leaf (edge (91 , 61))) (leaf (edge (91 , 88))))))) (node (edge (94 , 88)) (node (edge (93 , 47)) (node (edge (92 , 67)) (node (edge (92 , 45)) (node (edge (92 , 39)) (leaf (edge (92 , 16))) (empty)) (leaf (edge (92 , 66)))) (node (edge (93 , 14)) (node (edge (93 , 11)) (leaf (edge (92 , 88))) (empty)) (leaf (edge (93 , 42))))) (node (edge (94 , 17)) (node (edge (93 , 88)) (node (edge (93 , 63)) (leaf (edge (93 , 62))) (empty)) (leaf (edge (94 , 10)))) (node (edge (94 , 60)) (node (edge (94 , 40)) (leaf (edge (94 , 38))) (empty)) (leaf (edge (94 , 65)))))) (node (edge (96 , 32)) (node (edge (95 , 35)) (node (edge (95 , 30)) (node (edge (95 , 28)) (leaf (edge (95 , 1))) (empty)) (leaf (edge (95 , 33)))) (node (edge (96 , 29)) (node (edge (96 , 1)) (leaf (edge (95 , 36))) (empty)) (leaf (edge (96 , 31))))) (node (edge (97 , 51)) (node (edge (97 , 1)) (node (edge (96 , 37)) (leaf (edge (96 , 34))) (empty)) (leaf (edge (97 , 49)))) (node (edge (97 , 54)) (leaf (edge (97 , 53))) (leaf (edge (97 , 55)))))))) (node (edge (103 , 67)) (node (edge (101 , 1)) (node (edge (99 , 61)) (node (edge (98 , 56)) (node (edge (98 , 50)) (node (edge (98 , 48)) (leaf (edge (98 , 1))) (empty)) (leaf (edge (98 , 52)))) (node (edge (99 , 1)) (node (edge (98 , 95)) (leaf (edge (98 , 57))) (empty)) (leaf (edge (99 , 59))))) (node (edge (100 , 58)) (node (edge (99 , 66)) (node (edge (99 , 65)) (leaf (edge (99 , 62))) (empty)) (leaf (edge (100 , 1)))) (node (edge (100 , 64)) (node (edge (100 , 63)) (leaf (edge (100 , 60))) (empty)) (leaf (edge (100 , 67)))))) (node (edge (102 , 85)) (node (edge (101 , 84)) (node (edge (101 , 82)) (node (edge (101 , 81)) (leaf (edge (101 , 78))) (empty)) (leaf (edge (101 , 83)))) (node (edge (102 , 79)) (node (edge (102 , 1)) (leaf (edge (101 , 99))) (empty)) (leaf (edge (102 , 80))))) (node (edge (103 , 20)) (node (edge (102 , 100)) (node (edge (102 , 87)) (leaf (edge (102 , 86))) (empty)) (leaf (edge (103 , 2)))) (node (edge (103 , 34)) (leaf (edge (103 , 28))) (leaf (edge (103 , 62))))))) (node (edge (107 , 18)) (node (edge (105 , 32)) (node (edge (104 , 60)) (node (edge (104 , 35)) (node (edge (104 , 19)) (leaf (edge (104 , 2))) (empty)) (leaf (edge (104 , 37)))) (node (edge (105 , 22)) (node (edge (105 , 2)) (leaf (edge (104 , 66))) (empty)) (leaf (edge (105 , 30))))) (node (edge (106 , 31)) (node (edge (106 , 2)) (node (edge (105 , 63)) (leaf (edge (105 , 59))) (empty)) (leaf (edge (106 , 21)))) (node (edge (106 , 61)) (node (edge (106 , 58)) (leaf (edge (106 , 36))) (empty)) (leaf (edge (107 , 2)))))) (node (edge (108 , 87)) (node (edge (108 , 2)) (node (edge (107 , 64)) (node (edge (107 , 33)) (leaf (edge (107 , 29))) (empty)) (leaf (edge (107 , 65)))) (node (edge (108 , 51)) (node (edge (108 , 50)) (leaf (edge (108 , 13))) (empty)) (leaf (edge (108 , 83))))) (node (edge (109 , 56)) (node (edge (109 , 17)) (node (edge (109 , 2)) (leaf (edge (108 , 104))) (empty)) (leaf (edge (109 , 55)))) (node (edge (109 , 81)) (leaf (edge (109 , 79))) (leaf (edge (109 , 105)))))))))) (node (edge (129 , 41)) (node (edge (119 , 112)) (node (edge (115 , 27)) (node (edge (112 , 103)) (node (edge (111 , 53)) (node (edge (110 , 80)) (node (edge (110 , 57)) (node (edge (110 , 54)) (leaf (edge (110 , 16))) (empty)) (leaf (edge (110 , 78)))) (node (edge (111 , 14)) (node (edge (111 , 2)) (leaf (edge (110 , 106))) (empty)) (leaf (edge (111 , 48))))) (node (edge (112 , 15)) (node (edge (111 , 107)) (node (edge (111 , 85)) (leaf (edge (111 , 82))) (empty)) (leaf (edge (112 , 2)))) (node (edge (112 , 84)) (node (edge (112 , 52)) (leaf (edge (112 , 49))) (empty)) (leaf (edge (112 , 86)))))) (node (edge (114 , 19)) (node (edge (113 , 53)) (node (edge (113 , 25)) (node (edge (113 , 19)) (leaf (edge (113 , 6))) (empty)) (leaf (edge (113 , 38)))) (node (edge (113 , 111)) (node (edge (113 , 91)) (leaf (edge (113 , 61))) (empty)) (leaf (edge (114 , 7))))) (node (edge (114 , 93)) (node (edge (114 , 52)) (node (edge (114 , 45)) (leaf (edge (114 , 27))) (empty)) (leaf (edge (114 , 63)))) (node (edge (115 , 4)) (leaf (edge (114 , 112))) (leaf (edge (115 , 18))))))) (node (edge (117 , 55)) (node (edge (116 , 47)) (node (edge (115 , 110)) (node (edge (115 , 59)) (node (edge (115 , 54)) (leaf (edge (115 , 46))) (empty)) (leaf (edge (115 , 90)))) (node (edge (116 , 20)) (node (edge (116 , 5)) (leaf (edge (115 , 114))) (empty)) (leaf (edge (116 , 25))))) (node (edge (116 , 113)) (node (edge (116 , 90)) (node (edge (116 , 58)) (leaf (edge (116 , 56))) (empty)) (leaf (edge (116 , 109)))) (node (edge (117 , 23)) (node (edge (117 , 21)) (leaf (edge (117 , 3))) (empty)) (leaf (edge (117 , 43)))))) (node (edge (118 , 94)) (node (edge (118 , 21)) (node (edge (117 , 109)) (node (edge (117 , 93)) (leaf (edge (117 , 62))) (empty)) (leaf (edge (118 , 4)))) (node (edge (118 , 48)) (node (edge (118 , 41)) (leaf (edge (118 , 24))) (empty)) (leaf (edge (118 , 60))))) (node (edge (119 , 42)) (node (edge (119 , 22)) (node (edge (119 , 5)) (leaf (edge (118 , 111))) (empty)) (leaf (edge (119 , 24)))) (node (edge (119 , 66)) (leaf (edge (119 , 49))) (leaf (edge (119 , 92)))))))) (node (edge (124 , 56)) (node (edge (122 , 18)) (node (edge (121 , 7)) (node (edge (120 , 44)) (node (edge (120 , 22)) (node (edge (120 , 3)) (leaf (edge (119 , 118))) (empty)) (leaf (edge (120 , 26)))) (node (edge (120 , 91)) (node (edge (120 , 64)) (leaf (edge (120 , 57))) (empty)) (leaf (edge (120 , 110))))) (node (edge (121 , 65)) (node (edge (121 , 39)) (node (edge (121 , 26)) (leaf (edge (121 , 20))) (empty)) (leaf (edge (121 , 51)))) (node (edge (121 , 120)) (node (edge (121 , 108)) (leaf (edge (121 , 94))) (empty)) (leaf (edge (122 , 6)))))) (node (edge (123 , 47)) (node (edge (122 , 92)) (node (edge (122 , 50)) (node (edge (122 , 40)) (leaf (edge (122 , 23))) (empty)) (leaf (edge (122 , 67)))) (node (edge (123 , 12)) (node (edge (122 , 117)) (leaf (edge (122 , 108))) (empty)) (leaf (edge (123 , 28))))) (node (edge (123 , 97)) (node (edge (123 , 74)) (node (edge (123 , 60)) (leaf (edge (123 , 54))) (empty)) (leaf (edge (123 , 93)))) (node (edge (124 , 29)) (leaf (edge (124 , 11))) (leaf (edge (124 , 46))))))) (node (edge (126 , 97)) (node (edge (125 , 72)) (node (edge (125 , 9)) (node (edge (124 , 91)) (node (edge (124 , 75)) (leaf (edge (124 , 66))) (empty)) (leaf (edge (124 , 98)))) (node (edge (125 , 52)) (node (edge (125 , 43)) (leaf (edge (125 , 31))) (empty)) (leaf (edge (125 , 65))))) (node (edge (126 , 44)) (node (edge (126 , 10)) (node (edge (125 , 98)) (leaf (edge (125 , 90))) (empty)) (leaf (edge (126 , 30)))) (node (edge (126 , 71)) (node (edge (126 , 67)) (leaf (edge (126 , 53))) (empty)) (leaf (edge (126 , 90)))))) (node (edge (128 , 32)) (node (edge (127 , 59)) (node (edge (127 , 39)) (node (edge (127 , 34)) (leaf (edge (127 , 12))) (empty)) (leaf (edge (127 , 48)))) (node (edge (127 , 98)) (node (edge (127 , 92)) (leaf (edge (127 , 68))) (empty)) (leaf (edge (128 , 10))))) (node (edge (128 , 93)) (node (edge (128 , 61)) (node (edge (128 , 50)) (leaf (edge (128 , 42))) (empty)) (leaf (edge (128 , 77)))) (node (edge (129 , 9)) (leaf (edge (128 , 98))) (leaf (edge (129 , 36))))))))) (node (edge (138 , 58)) (node (edge (134 , 7)) (node (edge (131 , 94)) (node (edge (130 , 58)) (node (edge (129 , 97)) (node (edge (129 , 76)) (node (edge (129 , 63)) (leaf (edge (129 , 51))) (empty)) (leaf (edge (129 , 91)))) (node (edge (130 , 40)) (node (edge (130 , 33)) (leaf (edge (130 , 11))) (empty)) (leaf (edge (130 , 49))))) (node (edge (131 , 37)) (node (edge (130 , 97)) (node (edge (130 , 94)) (leaf (edge (130 , 73))) (empty)) (leaf (edge (131 , 8)))) (node (edge (131 , 62)) (node (edge (131 , 57)) (leaf (edge (131 , 38))) (empty)) (leaf (edge (131 , 70)))))) (node (edge (133 , 4)) (node (edge (132 , 55)) (node (edge (132 , 35)) (node (edge (132 , 8)) (leaf (edge (131 , 98))) (empty)) (leaf (edge (132 , 45)))) (node (edge (132 , 92)) (node (edge (132 , 69)) (leaf (edge (132 , 64))) (empty)) (leaf (edge (132 , 97))))) (node (edge (133 , 79)) (node (edge (133 , 61)) (node (edge (133 , 39)) (leaf (edge (133 , 28))) (empty)) (leaf (edge (133 , 73)))) (node (edge (133 , 121)) (leaf (edge (133 , 109))) (leaf (edge (133 , 128))))))) (node (edge (136 , 38)) (node (edge (135 , 30)) (node (edge (134 , 81)) (node (edge (134 , 67)) (node (edge (134 , 41)) (leaf (edge (134 , 31))) (empty)) (leaf (edge (134 , 70)))) (node (edge (134 , 126)) (node (edge (134 , 118)) (leaf (edge (134 , 109))) (empty)) (leaf (edge (135 , 6))))) (node (edge (135 , 110)) (node (edge (135 , 69)) (node (edge (135 , 65)) (leaf (edge (135 , 42))) (empty)) (leaf (edge (135 , 80)))) (node (edge (136 , 3)) (node (edge (135 , 125)) (leaf (edge (135 , 119))) (empty)) (leaf (edge (136 , 35)))))) (node (edge (137 , 63)) (node (edge (136 , 113)) (node (edge (136 , 86)) (node (edge (136 , 76)) (leaf (edge (136 , 59))) (empty)) (leaf (edge (136 , 112)))) (node (edge (137 , 29)) (node (edge (137 , 5)) (leaf (edge (136 , 127))) (empty)) (leaf (edge (137 , 40))))) (node (edge (137 , 129)) (node (edge (137 , 110)) (node (edge (137 , 78)) (leaf (edge (137 , 68))) (empty)) (leaf (edge (137 , 122)))) (node (edge (138 , 37)) (leaf (edge (138 , 3))) (leaf (edge (138 , 45)))))))) (node (edge (142 , 111)) (node (edge (140 , 83)) (node (edge (139 , 71)) (node (edge (138 , 130)) (node (edge (138 , 111)) (node (edge (138 , 82)) (leaf (edge (138 , 77))) (empty)) (leaf (edge (138 , 114)))) (node (edge (139 , 46)) (node (edge (139 , 33)) (leaf (edge (139 , 5))) (empty)) (leaf (edge (139 , 62))))) (node (edge (140 , 4)) (node (edge (139 , 115)) (node (edge (139 , 108)) (leaf (edge (139 , 87))) (empty)) (leaf (edge (139 , 131)))) (node (edge (140 , 64)) (node (edge (140 , 47)) (leaf (edge (140 , 34))) (empty)) (leaf (edge (140 , 72)))))) (node (edge (141 , 112)) (node (edge (141 , 32)) (node (edge (140 , 132)) (node (edge (140 , 116)) (leaf (edge (140 , 108))) (empty)) (leaf (edge (141 , 6)))) (node (edge (141 , 75)) (node (edge (141 , 60)) (leaf (edge (141 , 44))) (empty)) (leaf (edge (141 , 84))))) (node (edge (142 , 43)) (node (edge (142 , 7)) (node (edge (141 , 123)) (leaf (edge (141 , 120))) (empty)) (leaf (edge (142 , 36)))) (node (edge (142 , 74)) (leaf (edge (142 , 66))) (leaf (edge (142 , 85))))))) (node (edge (145 , 33)) (node (edge (143 , 125)) (node (edge (143 , 46)) (node (edge (143 , 9)) (node (edge (142 , 124)) (leaf (edge (142 , 117))) (empty)) (leaf (edge (143 , 28)))) (node (edge (143 , 78)) (node (edge (143 , 77)) (leaf (edge (143 , 53))) (empty)) (leaf (edge (143 , 103))))) (node (edge (144 , 69)) (node (edge (144 , 41)) (node (edge (144 , 34)) (leaf (edge (144 , 11))) (empty)) (leaf (edge (144 , 57)))) (node (edge (144 , 130)) (node (edge (144 , 103)) (leaf (edge (144 , 85))) (empty)) (leaf (edge (145 , 12)))))) (node (edge (146 , 56)) (node (edge (145 , 107)) (node (edge (145 , 70)) (node (edge (145 , 55)) (leaf (edge (145 , 42))) (empty)) (leaf (edge (145 , 84)))) (node (edge (146 , 37)) (node (edge (146 , 9)) (leaf (edge (145 , 127))) (empty)) (leaf (edge (146 , 44))))) (node (edge (147 , 8)) (node (edge (146 , 104)) (node (edge (146 , 80)) (leaf (edge (146 , 73))) (empty)) (leaf (edge (146 , 129)))) (node (edge (147 , 40)) (leaf (edge (147 , 32))) (leaf (edge (147 , 48))))))))))) (node (edge (180 , 20)) (node (edge (165 , 74)) (node (edge (156 , 142)) (node (edge (152 , 50)) (node (edge (150 , 10)) (node (edge (148 , 106)) (node (edge (148 , 36)) (node (edge (147 , 132)) (node (edge (147 , 105)) (leaf (edge (147 , 87))) (empty)) (leaf (edge (148 , 8)))) (node (edge (148 , 75)) (node (edge (148 , 49)) (leaf (edge (148 , 39))) (empty)) (leaf (edge (148 , 83))))) (node (edge (149 , 54)) (node (edge (149 , 35)) (node (edge (149 , 10)) (leaf (edge (148 , 131))) (empty)) (leaf (edge (149 , 43)))) (node (edge (149 , 104)) (node (edge (149 , 81)) (leaf (edge (149 , 68))) (empty)) (leaf (edge (149 , 128)))))) (node (edge (151 , 38)) (node (edge (150 , 79)) (node (edge (150 , 52)) (node (edge (150 , 47)) (leaf (edge (150 , 29))) (empty)) (leaf (edge (150 , 76)))) (node (edge (151 , 11)) (node (edge (150 , 126)) (leaf (edge (150 , 107))) (empty)) (leaf (edge (151 , 30))))) (node (edge (151 , 124)) (node (edge (151 , 82)) (node (edge (151 , 72)) (leaf (edge (151 , 51))) (empty)) (leaf (edge (151 , 105)))) (node (edge (152 , 31)) (leaf (edge (152 , 12))) (leaf (edge (152 , 45))))))) (node (edge (154 , 99)) (node (edge (153 , 84)) (node (edge (153 , 4)) (node (edge (152 , 106)) (node (edge (152 , 86)) (leaf (edge (152 , 71))) (empty)) (leaf (edge (152 , 123)))) (node (edge (153 , 63)) (node (edge (153 , 57)) (leaf (edge (153 , 43))) (empty)) (leaf (edge (153 , 71))))) (node (edge (154 , 44)) (node (edge (153 , 144)) (node (edge (153 , 133)) (leaf (edge (153 , 100))) (empty)) (leaf (edge (154 , 5)))) (node (edge (154 , 72)) (node (edge (154 , 61)) (leaf (edge (154 , 55))) (empty)) (leaf (edge (154 , 85)))))) (node (edge (155 , 141)) (node (edge (155 , 51)) (node (edge (155 , 6)) (node (edge (154 , 145)) (leaf (edge (154 , 137))) (empty)) (leaf (edge (155 , 45)))) (node (edge (155 , 79)) (node (edge (155 , 68)) (leaf (edge (155 , 62))) (empty)) (leaf (edge (155 , 99))))) (node (edge (156 , 64)) (node (edge (156 , 38)) (node (edge (156 , 7)) (leaf (edge (155 , 151))) (empty)) (leaf (edge (156 , 50)))) (node (edge (156 , 78)) (leaf (edge (156 , 73))) (leaf (edge (156 , 100)))))))) (node (edge (161 , 42)) (node (edge (159 , 3)) (node (edge (157 , 148)) (node (edge (157 , 59)) (node (edge (157 , 47)) (node (edge (157 , 7)) (leaf (edge (156 , 152))) (empty)) (leaf (edge (157 , 49)))) (node (edge (157 , 99)) (node (edge (157 , 80)) (leaf (edge (157 , 77))) (empty)) (leaf (edge (157 , 134))))) (node (edge (158 , 69)) (node (edge (158 , 52)) (node (edge (158 , 39)) (leaf (edge (158 , 5))) (empty)) (leaf (edge (158 , 60)))) (node (edge (158 , 139)) (node (edge (158 , 100)) (leaf (edge (158 , 82))) (empty)) (leaf (edge (158 , 150)))))) (node (edge (160 , 46)) (node (edge (159 , 87)) (node (edge (159 , 65)) (node (edge (159 , 54)) (leaf (edge (159 , 41))) (empty)) (leaf (edge (159 , 75)))) (node (edge (159 , 149)) (node (edge (159 , 138)) (leaf (edge (159 , 99))) (empty)) (leaf (edge (160 , 6))))) (node (edge (160 , 100)) (node (edge (160 , 76)) (node (edge (160 , 58)) (leaf (edge (160 , 48))) (empty)) (leaf (edge (160 , 81)))) (node (edge (160 , 147)) (leaf (edge (160 , 135))) (leaf (edge (161 , 3))))))) (node (edge (163 , 49)) (node (edge (162 , 53)) (node (edge (161 , 100)) (node (edge (161 , 74)) (node (edge (161 , 67)) (leaf (edge (161 , 56))) (empty)) (leaf (edge (161 , 83)))) (node (edge (162 , 4)) (node (edge (161 , 146)) (leaf (edge (161 , 136))) (empty)) (leaf (edge (162 , 40))))) (node (edge (162 , 140)) (node (edge (162 , 86)) (node (edge (162 , 70)) (leaf (edge (162 , 66))) (empty)) (leaf (edge (162 , 99)))) (node (edge (163 , 19)) (node (edge (163 , 3)) (leaf (edge (162 , 143))) (empty)) (leaf (edge (163 , 48)))))) (node (edge (164 , 75)) (node (edge (163 , 154)) (node (edge (163 , 89)) (node (edge (163 , 72)) (leaf (edge (163 , 71))) (empty)) (leaf (edge (163 , 153)))) (node (edge (164 , 50)) (node (edge (164 , 20)) (leaf (edge (164 , 4))) (empty)) (leaf (edge (164 , 55))))) (node (edge (165 , 5)) (node (edge (164 , 159)) (node (edge (164 , 89)) (leaf (edge (164 , 76))) (empty)) (leaf (edge (164 , 160)))) (node (edge (165 , 51)) (leaf (edge (165 , 18))) (leaf (edge (165 , 57))))))))) (node (edge (172 , 106)) (node (edge (169 , 80)) (node (edge (167 , 89)) (node (edge (166 , 73)) (node (edge (166 , 6)) (node (edge (165 , 157)) (node (edge (165 , 89)) (leaf (edge (165 , 77))) (empty)) (leaf (edge (165 , 161)))) (node (edge (166 , 54)) (node (edge (166 , 52)) (leaf (edge (166 , 22))) (empty)) (leaf (edge (166 , 70))))) (node (edge (167 , 21)) (node (edge (166 , 162)) (node (edge (166 , 156)) (leaf (edge (166 , 89))) (empty)) (leaf (edge (167 , 7)))) (node (edge (167 , 68)) (node (edge (167 , 56)) (leaf (edge (167 , 53))) (empty)) (leaf (edge (167 , 69)))))) (node (edge (168 , 104)) (node (edge (168 , 41)) (node (edge (168 , 8)) (node (edge (167 , 158)) (leaf (edge (167 , 155))) (empty)) (leaf (edge (168 , 19)))) (node (edge (168 , 79)) (node (edge (168 , 78)) (leaf (edge (168 , 42))) (empty)) (leaf (edge (168 , 90))))) (node (edge (169 , 12)) (node (edge (168 , 155)) (node (edge (168 , 145)) (leaf (edge (168 , 144))) (empty)) (leaf (edge (168 , 156)))) (node (edge (169 , 40)) (leaf (edge (169 , 20))) (leaf (edge (169 , 43))))))) (node (edge (171 , 10)) (node (edge (170 , 39)) (node (edge (169 , 149)) (node (edge (169 , 103)) (node (edge (169 , 91)) (leaf (edge (169 , 82))) (empty)) (leaf (edge (169 , 147)))) (node (edge (170 , 11)) (node (edge (169 , 158)) (leaf (edge (169 , 157))) (empty)) (leaf (edge (170 , 18))))) (node (edge (170 , 107)) (node (edge (170 , 86)) (node (edge (170 , 81)) (leaf (edge (170 , 44))) (empty)) (leaf (edge (170 , 93)))) (node (edge (170 , 160)) (node (edge (170 , 148)) (leaf (edge (170 , 146))) (empty)) (leaf (edge (170 , 162)))))) (node (edge (171 , 154)) (node (edge (171 , 85)) (node (edge (171 , 46)) (node (edge (171 , 45)) (leaf (edge (171 , 22))) (empty)) (leaf (edge (171 , 83)))) (node (edge (171 , 143)) (node (edge (171 , 105)) (leaf (edge (171 , 94))) (empty)) (leaf (edge (171 , 152))))) (node (edge (172 , 47)) (node (edge (172 , 21)) (node (edge (172 , 9)) (leaf (edge (171 , 161))) (empty)) (leaf (edge (172 , 38)))) (node (edge (172 , 87)) (leaf (edge (172 , 84))) (leaf (edge (172 , 92)))))))) (node (edge (176 , 35)) (node (edge (174 , 81)) (node (edge (173 , 82)) (node (edge (173 , 8)) (node (edge (172 , 153)) (node (edge (172 , 151)) (leaf (edge (172 , 150))) (empty)) (leaf (edge (172 , 159)))) (node (edge (173 , 28)) (node (edge (173 , 23)) (leaf (edge (173 , 22))) (empty)) (leaf (edge (173 , 76))))) (node (edge (174 , 9)) (node (edge (173 , 129)) (node (edge (173 , 119)) (leaf (edge (173 , 101))) (empty)) (leaf (edge (173 , 133)))) (node (edge (174 , 33)) (node (edge (174 , 26)) (leaf (edge (174 , 19))) (empty)) (leaf (edge (174 , 74)))))) (node (edge (175 , 80)) (node (edge (175 , 10)) (node (edge (174 , 123)) (node (edge (174 , 113)) (leaf (edge (174 , 101))) (empty)) (leaf (edge (174 , 139)))) (node (edge (175 , 34)) (node (edge (175 , 23)) (leaf (edge (175 , 19))) (empty)) (leaf (edge (175 , 75))))) (node (edge (175 , 173)) (node (edge (175 , 124)) (node (edge (175 , 114)) (leaf (edge (175 , 102))) (empty)) (leaf (edge (175 , 140)))) (node (edge (176 , 20)) (leaf (edge (176 , 11))) (leaf (edge (176 , 24))))))) (node (edge (178 , 37)) (node (edge (177 , 36)) (node (edge (176 , 126)) (node (edge (176 , 101)) (node (edge (176 , 78)) (leaf (edge (176 , 71))) (empty)) (leaf (edge (176 , 121)))) (node (edge (177 , 18)) (node (edge (177 , 10)) (leaf (edge (176 , 136))) (empty)) (leaf (edge (177 , 25))))) (node (edge (177 , 132)) (node (edge (177 , 101)) (node (edge (177 , 84)) (leaf (edge (177 , 69))) (empty)) (leaf (edge (177 , 115)))) (node (edge (178 , 18)) (node (edge (178 , 12)) (leaf (edge (177 , 142))) (empty)) (leaf (edge (178 , 24)))))) (node (edge (179 , 27)) (node (edge (178 , 125)) (node (edge (178 , 102)) (node (edge (178 , 79)) (leaf (edge (178 , 72))) (empty)) (leaf (edge (178 , 122)))) (node (edge (179 , 12)) (node (edge (178 , 176)) (leaf (edge (178 , 138))) (empty)) (leaf (edge (179 , 21))))) (node (edge (179 , 117)) (node (edge (179 , 83)) (node (edge (179 , 73)) (leaf (edge (179 , 30))) (empty)) (leaf (edge (179 , 101)))) (node (edge (179 , 135)) (leaf (edge (179 , 130))) (leaf (edge (180 , 9)))))))))) (node (edge (194 , 163)) (node (edge (187 , 86)) (node (edge (183 , 114)) (node (edge (181 , 174)) (node (edge (181 , 8)) (node (edge (180 , 102)) (node (edge (180 , 70)) (node (edge (180 , 32)) (leaf (edge (180 , 27))) (empty)) (leaf (edge (180 , 85)))) (node (edge (180 , 141)) (node (edge (180 , 131)) (leaf (edge (180 , 116))) (empty)) (leaf (edge (180 , 179))))) (node (edge (181 , 86)) (node (edge (181 , 29)) (node (edge (181 , 26)) (leaf (edge (181 , 21))) (empty)) (leaf (edge (181 , 77)))) (node (edge (181 , 128)) (node (edge (181 , 118)) (leaf (edge (181 , 102))) (empty)) (leaf (edge (181 , 137)))))) (node (edge (182 , 134)) (node (edge (182 , 68)) (node (edge (182 , 25)) (node (edge (182 , 22)) (leaf (edge (182 , 11))) (empty)) (leaf (edge (182 , 31)))) (node (edge (182 , 120)) (node (edge (182 , 102)) (leaf (edge (182 , 87))) (empty)) (leaf (edge (182 , 127))))) (node (edge (183 , 28)) (node (edge (183 , 17)) (node (edge (183 , 7)) (leaf (edge (182 , 177))) (empty)) (leaf (edge (183 , 24)))) (node (edge (183 , 87)) (leaf (edge (183 , 44))) (leaf (edge (183 , 95))))))) (node (edge (185 , 117)) (node (edge (184 , 120)) (node (edge (184 , 27)) (node (edge (184 , 3)) (node (edge (183 , 154)) (leaf (edge (183 , 147))) (empty)) (leaf (edge (184 , 14)))) (node (edge (184 , 79)) (node (edge (184 , 40)) (leaf (edge (184 , 36))) (empty)) (leaf (edge (184 , 95))))) (node (edge (185 , 25)) (node (edge (185 , 3)) (node (edge (184 , 162)) (leaf (edge (184 , 150))) (empty)) (leaf (edge (185 , 15)))) (node (edge (185 , 78)) (node (edge (185 , 39)) (leaf (edge (185 , 32))) (empty)) (leaf (edge (185 , 96)))))) (node (edge (186 , 118)) (node (edge (186 , 25)) (node (edge (186 , 4)) (node (edge (185 , 158)) (leaf (edge (185 , 143))) (empty)) (leaf (edge (186 , 13)))) (node (edge (186 , 80)) (node (edge (186 , 45)) (leaf (edge (186 , 33))) (empty)) (leaf (edge (186 , 95))))) (node (edge (187 , 16)) (node (edge (186 , 185)) (node (edge (186 , 155)) (leaf (edge (186 , 146))) (empty)) (leaf (edge (187 , 5)))) (node (edge (187 , 30)) (leaf (edge (187 , 23))) (leaf (edge (187 , 41)))))))) (node (edge (191 , 26)) (node (edge (189 , 46)) (node (edge (188 , 81)) (node (edge (188 , 5)) (node (edge (187 , 152)) (node (edge (187 , 116)) (leaf (edge (187 , 95))) (empty)) (leaf (edge (187 , 159)))) (node (edge (188 , 34)) (node (edge (188 , 27)) (leaf (edge (188 , 13))) (empty)) (leaf (edge (188 , 38))))) (node (edge (188 , 184)) (node (edge (188 , 149)) (node (edge (188 , 119)) (leaf (edge (188 , 96))) (empty)) (leaf (edge (188 , 156)))) (node (edge (189 , 23)) (node (edge (189 , 14)) (leaf (edge (189 , 7))) (empty)) (leaf (edge (189 , 37)))))) (node (edge (190 , 35)) (node (edge (189 , 160)) (node (edge (189 , 121)) (node (edge (189 , 96)) (leaf (edge (189 , 84))) (empty)) (leaf (edge (189 , 145)))) (node (edge (190 , 15)) (node (edge (190 , 6)) (leaf (edge (189 , 187))) (empty)) (leaf (edge (190 , 26))))) (node (edge (190 , 144)) (node (edge (190 , 95)) (node (edge (190 , 85)) (leaf (edge (190 , 47))) (empty)) (leaf (edge (190 , 122)))) (node (edge (191 , 4)) (leaf (edge (190 , 157))) (leaf (edge (191 , 17))))))) (node (edge (193 , 9)) (node (edge (192 , 16)) (node (edge (191 , 115)) (node (edge (191 , 82)) (node (edge (191 , 42)) (leaf (edge (191 , 31))) (empty)) (leaf (edge (191 , 96)))) (node (edge (191 , 190)) (node (edge (191 , 161)) (leaf (edge (191 , 151))) (empty)) (leaf (edge (192 , 6))))) (node (edge (192 , 96)) (node (edge (192 , 43)) (node (edge (192 , 29)) (leaf (edge (192 , 24))) (empty)) (leaf (edge (192 , 83)))) (node (edge (192 , 153)) (node (edge (192 , 148)) (leaf (edge (192 , 113))) (empty)) (leaf (edge (192 , 183)))))) (node (edge (193 , 191)) (node (edge (193 , 68)) (node (edge (193 , 49)) (node (edge (193 , 23)) (leaf (edge (193 , 17))) (empty)) (leaf (edge (193 , 64)))) (node (edge (193 , 163)) (node (edge (193 , 149)) (leaf (edge (193 , 107))) (empty)) (leaf (edge (193 , 180))))) (node (edge (194 , 62)) (node (edge (194 , 26)) (node (edge (194 , 16)) (leaf (edge (194 , 10))) (empty)) (leaf (edge (194 , 48)))) (node (edge (194 , 103)) (leaf (edge (194 , 73))) (leaf (edge (194 , 146))))))))) (node (edge (201 , 71)) (node (edge (198 , 13)) (node (edge (196 , 106)) (node (edge (195 , 144)) (node (edge (195 , 24)) (node (edge (195 , 9)) (node (edge (194 , 187)) (leaf (edge (194 , 177))) (empty)) (leaf (edge (195 , 14)))) (node (edge (195 , 69)) (node (edge (195 , 59)) (leaf (edge (195 , 50))) (empty)) (leaf (edge (195 , 105))))) (node (edge (196 , 15)) (node (edge (195 , 184)) (node (edge (195 , 174)) (leaf (edge (195 , 164))) (empty)) (leaf (edge (196 , 10)))) (node (edge (196 , 58)) (node (edge (196 , 51)) (leaf (edge (196 , 24))) (empty)) (leaf (edge (196 , 70)))))) (node (edge (197 , 61)) (node (edge (196 , 195)) (node (edge (196 , 175)) (node (edge (196 , 165)) (leaf (edge (196 , 145))) (empty)) (leaf (edge (196 , 185)))) (node (edge (197 , 23)) (node (edge (197 , 13)) (leaf (edge (197 , 11))) (empty)) (leaf (edge (197 , 52))))) (node (edge (197 , 176)) (node (edge (197 , 147)) (node (edge (197 , 106)) (leaf (edge (197 , 74))) (empty)) (leaf (edge (197 , 166)))) (node (edge (197 , 193)) (leaf (edge (197 , 186))) (leaf (edge (198 , 12))))))) (node (edge (199 , 179)) (node (edge (198 , 194)) (node (edge (198 , 105)) (node (edge (198 , 63)) (node (edge (198 , 53)) (leaf (edge (198 , 26))) (empty)) (leaf (edge (198 , 75)))) (node (edge (198 , 178)) (node (edge (198 , 167)) (leaf (edge (198 , 148))) (empty)) (leaf (edge (198 , 188))))) (node (edge (199 , 66)) (node (edge (199 , 25)) (node (edge (199 , 17)) (leaf (edge (199 , 12))) (empty)) (leaf (edge (199 , 57)))) (node (edge (199 , 150)) (node (edge (199 , 104)) (leaf (edge (199 , 76))) (empty)) (leaf (edge (199 , 165)))))) (node (edge (200 , 166)) (node (edge (200 , 54)) (node (edge (200 , 14)) (node (edge (200 , 8)) (leaf (edge (199 , 183))) (empty)) (leaf (edge (200 , 25)))) (node (edge (200 , 103)) (node (edge (200 , 72)) (leaf (edge (200 , 67))) (empty)) (leaf (edge (200 , 151))))) (node (edge (201 , 15)) (node (edge (200 , 199)) (node (edge (200 , 189)) (leaf (edge (200 , 181))) (empty)) (leaf (edge (201 , 8)))) (node (edge (201 , 56)) (leaf (edge (201 , 27))) (leaf (edge (201 , 65)))))))) (node (edge (204 , 138)) (node (edge (203 , 28)) (node (edge (202 , 60)) (node (edge (201 , 190)) (node (edge (201 , 167)) (node (edge (201 , 152)) (leaf (edge (201 , 107))) (empty)) (leaf (edge (201 , 173)))) (node (edge (202 , 27)) (node (edge (202 , 16)) (leaf (edge (202 , 11))) (empty)) (leaf (edge (202 , 55))))) (node (edge (202 , 182)) (node (edge (202 , 143)) (node (edge (202 , 104)) (leaf (edge (202 , 77))) (empty)) (leaf (edge (202 , 164)))) (node (edge (203 , 3)) (node (edge (202 , 201)) (leaf (edge (202 , 192))) (empty)) (leaf (edge (203 , 13)))))) (node (edge (204 , 6)) (node (edge (203 , 123)) (node (edge (203 , 70)) (node (edge (203 , 69)) (leaf (edge (203 , 29))) (empty)) (leaf (edge (203 , 108)))) (node (edge (203 , 135)) (node (edge (203 , 134)) (leaf (edge (203 , 124))) (empty)) (leaf (edge (203 , 163))))) (node (edge (204 , 77)) (node (edge (204 , 36)) (node (edge (204 , 34)) (leaf (edge (204 , 17))) (empty)) (leaf (edge (204 , 71)))) (node (edge (204 , 127)) (leaf (edge (204 , 109))) (leaf (edge (204 , 129))))))) (node (edge (206 , 76)) (node (edge (205 , 126)) (node (edge (205 , 30)) (node (edge (205 , 4)) (node (edge (204 , 166)) (leaf (edge (204 , 139))) (empty)) (leaf (edge (205 , 15)))) (node (edge (205 , 74)) (node (edge (205 , 68)) (leaf (edge (205 , 37))) (empty)) (leaf (edge (205 , 112))))) (node (edge (206 , 7)) (node (edge (205 , 142)) (node (edge (205 , 137)) (leaf (edge (205 , 131))) (empty)) (leaf (edge (205 , 164)))) (node (edge (206 , 33)) (node (edge (206 , 32)) (leaf (edge (206 , 16))) (empty)) (leaf (edge (206 , 72)))))) (node (edge (207 , 35)) (node (edge (206 , 140)) (node (edge (206 , 130)) (node (edge (206 , 128)) (leaf (edge (206 , 110))) (empty)) (leaf (edge (206 , 136)))) (node (edge (207 , 14)) (node (edge (207 , 5)) (leaf (edge (206 , 167))) (empty)) (leaf (edge (207 , 31))))) (node (edge (207 , 132)) (node (edge (207 , 111)) (node (edge (207 , 75)) (leaf (edge (207 , 73))) (empty)) (leaf (edge (207 , 125)))) (node (edge (207 , 141)) (leaf (edge (207 , 133))) (leaf (edge (207 , 165))))))))))).
open import Data.Nat
open import Data.Bool hiding (_<_)
open import Relation.Binary.PropositionalEquality
open import Data.Product
module exampleDependent where
data Tree (A : Set) : Set where
empty : Tree A
leaf : A -> Tree A
node : A -> Tree A -> Tree A -> Tree A
record Fin (n : ℕ) : Set where
constructor fin
field
val : ℕ
lt : (val <ᵇ n) ≡ true
record Edge (n : ℕ) : Set where
constructor edge
field
fst : Fin n
snd : Fin (Fin.val fst)
test1 : Tree (Edge 30)
test1 = node (edge (fin 5 refl) (fin 0 refl)) empty (leaf (edge (fin 3 refl) (fin 1 refl)))
test2 : Tree (Edge 666)
test2 = node (edge (fin 147 refl) (fin 74 refl)) (node (edge (fin 110 refl) (fin 2 refl)) (node (edge (fin 85 refl) (fin 13 refl)) (node (edge (fin 60 refl) (fin 36 refl)) (node (edge (fin 43 refl) (fin 33 refl)) (node (edge (fin 29 refl) (fin 20 refl)) (node (edge (fin 8 refl) (fin 3 refl)) (node (edge (fin 4 refl) (fin 0 refl)) (node (edge (fin 2 refl) (fin 1 refl)) (node (edge (fin 2 refl) (fin 0 refl)) (leaf (edge (fin 1 refl) (fin 0 refl))) (empty)) (leaf (edge (fin 3 refl) (fin 0 refl)))) (node (edge (fin 7 refl) (fin 0 refl)) (node (edge (fin 6 refl) (fin 0 refl)) (leaf (edge (fin 5 refl) (fin 0 refl))) (empty)) (leaf (edge (fin 8 refl) (fin 0 refl))))) (node (edge (fin 11 refl) (fin 0 refl)) (node (edge (fin 10 refl) (fin 0 refl)) (node (edge (fin 9 refl) (fin 7 refl)) (leaf (edge (fin 9 refl) (fin 0 refl))) (empty)) (leaf (edge (fin 10 refl) (fin 6 refl)))) (node (edge (fin 12 refl) (fin 4 refl)) (node (edge (fin 12 refl) (fin 0 refl)) (leaf (edge (fin 11 refl) (fin 5 refl))) (empty)) (leaf (edge (fin 28 refl) (fin 18 refl)))))) (node (edge (fin 38 refl) (fin 28 refl)) (node (edge (fin 34 refl) (fin 21 refl)) (node (edge (fin 32 refl) (fin 18 refl)) (node (edge (fin 31 refl) (fin 19 refl)) (leaf (edge (fin 30 refl) (fin 19 refl))) (empty)) (leaf (edge (fin 33 refl) (fin 22 refl)))) (node (edge (fin 37 refl) (fin 22 refl)) (node (edge (fin 36 refl) (fin 20 refl)) (leaf (edge (fin 35 refl) (fin 21 refl))) (empty)) (leaf (edge (fin 38 refl) (fin 18 refl))))) (node (edge (fin 41 refl) (fin 18 refl)) (node (edge (fin 40 refl) (fin 19 refl)) (node (edge (fin 39 refl) (fin 30 refl)) (leaf (edge (fin 39 refl) (fin 19 refl))) (empty)) (leaf (edge (fin 40 refl) (fin 31 refl)))) (node (edge (fin 42 refl) (fin 36 refl)) (node (edge (fin 42 refl) (fin 20 refl)) (leaf (edge (fin 41 refl) (fin 32 refl))) (empty)) (leaf (edge (fin 43 refl) (fin 22 refl))))))) (node (edge (fin 52 refl) (fin 41 refl)) (node (edge (fin 48 refl) (fin 47 refl)) (node (edge (fin 46 refl) (fin 21 refl)) (node (edge (fin 45 refl) (fin 20 refl)) (node (edge (fin 44 refl) (fin 34 refl)) (leaf (edge (fin 44 refl) (fin 21 refl))) (empty)) (leaf (edge (fin 45 refl) (fin 29 refl)))) (node (edge (fin 47 refl) (fin 37 refl)) (node (edge (fin 47 refl) (fin 22 refl)) (leaf (edge (fin 46 refl) (fin 35 refl))) (empty)) (leaf (edge (fin 48 refl) (fin 27 refl))))) (node (edge (fin 50 refl) (fin 49 refl)) (node (edge (fin 50 refl) (fin 25 refl)) (node (edge (fin 49 refl) (fin 46 refl)) (leaf (edge (fin 49 refl) (fin 25 refl))) (empty)) (leaf (edge (fin 50 refl) (fin 44 refl)))) (node (edge (fin 51 refl) (fin 48 refl)) (node (edge (fin 51 refl) (fin 43 refl)) (leaf (edge (fin 51 refl) (fin 27 refl))) (empty)) (leaf (edge (fin 52 refl) (fin 26 refl)))))) (node (edge (fin 56 refl) (fin 54 refl)) (node (edge (fin 55 refl) (fin 26 refl)) (node (edge (fin 54 refl) (fin 24 refl)) (node (edge (fin 53 refl) (fin 42 refl)) (leaf (edge (fin 53 refl) (fin 23 refl))) (empty)) (leaf (edge (fin 54 refl) (fin 39 refl)))) (node (edge (fin 56 refl) (fin 24 refl)) (node (edge (fin 55 refl) (fin 52 refl)) (leaf (edge (fin 55 refl) (fin 38 refl))) (empty)) (leaf (edge (fin 56 refl) (fin 40 refl))))) (node (edge (fin 58 refl) (fin 28 refl)) (node (edge (fin 57 refl) (fin 53 refl)) (node (edge (fin 57 refl) (fin 45 refl)) (leaf (edge (fin 57 refl) (fin 23 refl))) (empty)) (leaf (edge (fin 58 refl) (fin 26 refl)))) (node (edge (fin 59 refl) (fin 29 refl)) (leaf (edge (fin 59 refl) (fin 23 refl))) (leaf (edge (fin 60 refl) (fin 23 refl)))))))) (node (edge (fin 74 refl) (fin 34 refl)) (node (edge (fin 68 refl) (fin 14 refl)) (node (edge (fin 64 refl) (fin 62 refl)) (node (edge (fin 62 refl) (fin 31 refl)) (node (edge (fin 61 refl) (fin 37 refl)) (node (edge (fin 61 refl) (fin 27 refl)) (leaf (edge (fin 60 refl) (fin 59 refl))) (empty)) (leaf (edge (fin 62 refl) (fin 24 refl)))) (node (edge (fin 64 refl) (fin 24 refl)) (node (edge (fin 63 refl) (fin 35 refl)) (leaf (edge (fin 63 refl) (fin 25 refl))) (empty)) (leaf (edge (fin 64 refl) (fin 30 refl))))) (node (edge (fin 66 refl) (fin 32 refl)) (node (edge (fin 65 refl) (fin 63 refl)) (node (edge (fin 65 refl) (fin 34 refl)) (leaf (edge (fin 65 refl) (fin 25 refl))) (empty)) (leaf (edge (fin 66 refl) (fin 26 refl)))) (node (edge (fin 67 refl) (fin 33 refl)) (node (edge (fin 67 refl) (fin 27 refl)) (leaf (edge (fin 66 refl) (fin 58 refl))) (empty)) (leaf (edge (fin 67 refl) (fin 61 refl)))))) (node (edge (fin 71 refl) (fin 32 refl)) (node (edge (fin 69 refl) (fin 61 refl)) (node (edge (fin 69 refl) (fin 17 refl)) (node (edge (fin 68 refl) (fin 58 refl)) (leaf (edge (fin 68 refl) (fin 28 refl))) (empty)) (leaf (edge (fin 69 refl) (fin 37 refl)))) (node (edge (fin 70 refl) (fin 63 refl)) (node (edge (fin 70 refl) (fin 35 refl)) (leaf (edge (fin 70 refl) (fin 16 refl))) (empty)) (leaf (edge (fin 71 refl) (fin 14 refl))))) (node (edge (fin 73 refl) (fin 15 refl)) (node (edge (fin 72 refl) (fin 36 refl)) (node (edge (fin 72 refl) (fin 15 refl)) (leaf (edge (fin 71 refl) (fin 66 refl))) (empty)) (leaf (edge (fin 72 refl) (fin 60 refl)))) (node (edge (fin 73 refl) (fin 59 refl)) (leaf (edge (fin 73 refl) (fin 29 refl))) (leaf (edge (fin 74 refl) (fin 16 refl))))))) (node (edge (fin 80 refl) (fin 38 refl)) (node (edge (fin 77 refl) (fin 64 refl)) (node (edge (fin 76 refl) (fin 13 refl)) (node (edge (fin 75 refl) (fin 33 refl)) (node (edge (fin 75 refl) (fin 17 refl)) (leaf (edge (fin 74 refl) (fin 65 refl))) (empty)) (leaf (edge (fin 75 refl) (fin 67 refl)))) (node (edge (fin 77 refl) (fin 13 refl)) (node (edge (fin 76 refl) (fin 62 refl)) (leaf (edge (fin 76 refl) (fin 31 refl))) (empty)) (leaf (edge (fin 77 refl) (fin 30 refl))))) (node (edge (fin 79 refl) (fin 16 refl)) (node (edge (fin 78 refl) (fin 48 refl)) (node (edge (fin 78 refl) (fin 47 refl)) (leaf (edge (fin 78 refl) (fin 17 refl))) (empty)) (leaf (edge (fin 78 refl) (fin 75 refl)))) (node (edge (fin 79 refl) (fin 74 refl)) (node (edge (fin 79 refl) (fin 49 refl)) (leaf (edge (fin 79 refl) (fin 46 refl))) (empty)) (leaf (edge (fin 80 refl) (fin 14 refl)))))) (node (edge (fin 82 refl) (fin 70 refl)) (node (edge (fin 81 refl) (fin 57 refl)) (node (edge (fin 81 refl) (fin 15 refl)) (node (edge (fin 80 refl) (fin 71 refl)) (leaf (edge (fin 80 refl) (fin 55 refl))) (empty)) (leaf (edge (fin 81 refl) (fin 45 refl)))) (node (edge (fin 82 refl) (fin 44 refl)) (node (edge (fin 82 refl) (fin 16 refl)) (leaf (edge (fin 81 refl) (fin 72 refl))) (empty)) (leaf (edge (fin 82 refl) (fin 50 refl))))) (node (edge (fin 84 refl) (fin 13 refl)) (node (edge (fin 83 refl) (fin 52 refl)) (node (edge (fin 83 refl) (fin 41 refl)) (leaf (edge (fin 83 refl) (fin 14 refl))) (empty)) (leaf (edge (fin 83 refl) (fin 68 refl)))) (node (edge (fin 84 refl) (fin 56 refl)) (leaf (edge (fin 84 refl) (fin 40 refl))) (leaf (edge (fin 84 refl) (fin 77 refl))))))))) (node (edge (fin 97 refl) (fin 96 refl)) (node (edge (fin 92 refl) (fin 9 refl)) (node (edge (fin 89 refl) (fin 19 refl)) (node (edge (fin 87 refl) (fin 53 refl)) (node (edge (fin 86 refl) (fin 43 refl)) (node (edge (fin 85 refl) (fin 76 refl)) (node (edge (fin 85 refl) (fin 54 refl)) (leaf (edge (fin 85 refl) (fin 39 refl))) (empty)) (leaf (edge (fin 86 refl) (fin 17 refl)))) (node (edge (fin 87 refl) (fin 15 refl)) (node (edge (fin 86 refl) (fin 69 refl)) (leaf (edge (fin 86 refl) (fin 51 refl))) (empty)) (leaf (edge (fin 87 refl) (fin 42 refl))))) (node (edge (fin 88 refl) (fin 15 refl)) (node (edge (fin 88 refl) (fin 13 refl)) (node (edge (fin 88 refl) (fin 1 refl)) (leaf (edge (fin 87 refl) (fin 73 refl))) (empty)) (leaf (edge (fin 88 refl) (fin 14 refl)))) (node (edge (fin 89 refl) (fin 1 refl)) (node (edge (fin 88 refl) (fin 17 refl)) (leaf (edge (fin 88 refl) (fin 16 refl))) (empty)) (leaf (edge (fin 89 refl) (fin 18 refl)))))) (node (edge (fin 90 refl) (fin 59 refl)) (node (edge (fin 90 refl) (fin 8 refl)) (node (edge (fin 89 refl) (fin 22 refl)) (node (edge (fin 89 refl) (fin 21 refl)) (leaf (edge (fin 89 refl) (fin 20 refl))) (empty)) (leaf (edge (fin 89 refl) (fin 88 refl)))) (node (edge (fin 90 refl) (fin 44 refl)) (node (edge (fin 90 refl) (fin 43 refl)) (leaf (edge (fin 90 refl) (fin 13 refl))) (empty)) (leaf (edge (fin 90 refl) (fin 58 refl))))) (node (edge (fin 91 refl) (fin 46 refl)) (node (edge (fin 91 refl) (fin 15 refl)) (node (edge (fin 91 refl) (fin 12 refl)) (leaf (edge (fin 90 refl) (fin 88 refl))) (empty)) (leaf (edge (fin 91 refl) (fin 41 refl)))) (node (edge (fin 91 refl) (fin 64 refl)) (leaf (edge (fin 91 refl) (fin 61 refl))) (leaf (edge (fin 91 refl) (fin 88 refl))))))) (node (edge (fin 94 refl) (fin 88 refl)) (node (edge (fin 93 refl) (fin 47 refl)) (node (edge (fin 92 refl) (fin 67 refl)) (node (edge (fin 92 refl) (fin 45 refl)) (node (edge (fin 92 refl) (fin 39 refl)) (leaf (edge (fin 92 refl) (fin 16 refl))) (empty)) (leaf (edge (fin 92 refl) (fin 66 refl)))) (node (edge (fin 93 refl) (fin 14 refl)) (node (edge (fin 93 refl) (fin 11 refl)) (leaf (edge (fin 92 refl) (fin 88 refl))) (empty)) (leaf (edge (fin 93 refl) (fin 42 refl))))) (node (edge (fin 94 refl) (fin 17 refl)) (node (edge (fin 93 refl) (fin 88 refl)) (node (edge (fin 93 refl) (fin 63 refl)) (leaf (edge (fin 93 refl) (fin 62 refl))) (empty)) (leaf (edge (fin 94 refl) (fin 10 refl)))) (node (edge (fin 94 refl) (fin 60 refl)) (node (edge (fin 94 refl) (fin 40 refl)) (leaf (edge (fin 94 refl) (fin 38 refl))) (empty)) (leaf (edge (fin 94 refl) (fin 65 refl)))))) (node (edge (fin 96 refl) (fin 32 refl)) (node (edge (fin 95 refl) (fin 35 refl)) (node (edge (fin 95 refl) (fin 30 refl)) (node (edge (fin 95 refl) (fin 28 refl)) (leaf (edge (fin 95 refl) (fin 1 refl))) (empty)) (leaf (edge (fin 95 refl) (fin 33 refl)))) (node (edge (fin 96 refl) (fin 29 refl)) (node (edge (fin 96 refl) (fin 1 refl)) (leaf (edge (fin 95 refl) (fin 36 refl))) (empty)) (leaf (edge (fin 96 refl) (fin 31 refl))))) (node (edge (fin 97 refl) (fin 51 refl)) (node (edge (fin 97 refl) (fin 1 refl)) (node (edge (fin 96 refl) (fin 37 refl)) (leaf (edge (fin 96 refl) (fin 34 refl))) (empty)) (leaf (edge (fin 97 refl) (fin 49 refl)))) (node (edge (fin 97 refl) (fin 54 refl)) (leaf (edge (fin 97 refl) (fin 53 refl))) (leaf (edge (fin 97 refl) (fin 55 refl)))))))) (node (edge (fin 103 refl) (fin 67 refl)) (node (edge (fin 101 refl) (fin 1 refl)) (node (edge (fin 99 refl) (fin 61 refl)) (node (edge (fin 98 refl) (fin 56 refl)) (node (edge (fin 98 refl) (fin 50 refl)) (node (edge (fin 98 refl) (fin 48 refl)) (leaf (edge (fin 98 refl) (fin 1 refl))) (empty)) (leaf (edge (fin 98 refl) (fin 52 refl)))) (node (edge (fin 99 refl) (fin 1 refl)) (node (edge (fin 98 refl) (fin 95 refl)) (leaf (edge (fin 98 refl) (fin 57 refl))) (empty)) (leaf (edge (fin 99 refl) (fin 59 refl))))) (node (edge (fin 100 refl) (fin 58 refl)) (node (edge (fin 99 refl) (fin 66 refl)) (node (edge (fin 99 refl) (fin 65 refl)) (leaf (edge (fin 99 refl) (fin 62 refl))) (empty)) (leaf (edge (fin 100 refl) (fin 1 refl)))) (node (edge (fin 100 refl) (fin 64 refl)) (node (edge (fin 100 refl) (fin 63 refl)) (leaf (edge (fin 100 refl) (fin 60 refl))) (empty)) (leaf (edge (fin 100 refl) (fin 67 refl)))))) (node (edge (fin 102 refl) (fin 85 refl)) (node (edge (fin 101 refl) (fin 84 refl)) (node (edge (fin 101 refl) (fin 82 refl)) (node (edge (fin 101 refl) (fin 81 refl)) (leaf (edge (fin 101 refl) (fin 78 refl))) (empty)) (leaf (edge (fin 101 refl) (fin 83 refl)))) (node (edge (fin 102 refl) (fin 79 refl)) (node (edge (fin 102 refl) (fin 1 refl)) (leaf (edge (fin 101 refl) (fin 99 refl))) (empty)) (leaf (edge (fin 102 refl) (fin 80 refl))))) (node (edge (fin 103 refl) (fin 20 refl)) (node (edge (fin 102 refl) (fin 100 refl)) (node (edge (fin 102 refl) (fin 87 refl)) (leaf (edge (fin 102 refl) (fin 86 refl))) (empty)) (leaf (edge (fin 103 refl) (fin 2 refl)))) (node (edge (fin 103 refl) (fin 34 refl)) (leaf (edge (fin 103 refl) (fin 28 refl))) (leaf (edge (fin 103 refl) (fin 62 refl))))))) (node (edge (fin 107 refl) (fin 18 refl)) (node (edge (fin 105 refl) (fin 32 refl)) (node (edge (fin 104 refl) (fin 60 refl)) (node (edge (fin 104 refl) (fin 35 refl)) (node (edge (fin 104 refl) (fin 19 refl)) (leaf (edge (fin 104 refl) (fin 2 refl))) (empty)) (leaf (edge (fin 104 refl) (fin 37 refl)))) (node (edge (fin 105 refl) (fin 22 refl)) (node (edge (fin 105 refl) (fin 2 refl)) (leaf (edge (fin 104 refl) (fin 66 refl))) (empty)) (leaf (edge (fin 105 refl) (fin 30 refl))))) (node (edge (fin 106 refl) (fin 31 refl)) (node (edge (fin 106 refl) (fin 2 refl)) (node (edge (fin 105 refl) (fin 63 refl)) (leaf (edge (fin 105 refl) (fin 59 refl))) (empty)) (leaf (edge (fin 106 refl) (fin 21 refl)))) (node (edge (fin 106 refl) (fin 61 refl)) (node (edge (fin 106 refl) (fin 58 refl)) (leaf (edge (fin 106 refl) (fin 36 refl))) (empty)) (leaf (edge (fin 107 refl) (fin 2 refl)))))) (node (edge (fin 108 refl) (fin 87 refl)) (node (edge (fin 108 refl) (fin 2 refl)) (node (edge (fin 107 refl) (fin 64 refl)) (node (edge (fin 107 refl) (fin 33 refl)) (leaf (edge (fin 107 refl) (fin 29 refl))) (empty)) (leaf (edge (fin 107 refl) (fin 65 refl)))) (node (edge (fin 108 refl) (fin 51 refl)) (node (edge (fin 108 refl) (fin 50 refl)) (leaf (edge (fin 108 refl) (fin 13 refl))) (empty)) (leaf (edge (fin 108 refl) (fin 83 refl))))) (node (edge (fin 109 refl) (fin 56 refl)) (node (edge (fin 109 refl) (fin 17 refl)) (node (edge (fin 109 refl) (fin 2 refl)) (leaf (edge (fin 108 refl) (fin 104 refl))) (empty)) (leaf (edge (fin 109 refl) (fin 55 refl)))) (node (edge (fin 109 refl) (fin 81 refl)) (leaf (edge (fin 109 refl) (fin 79 refl))) (leaf (edge (fin 109 refl) (fin 105 refl)))))))))) (node (edge (fin 129 refl) (fin 41 refl)) (node (edge (fin 119 refl) (fin 112 refl)) (node (edge (fin 115 refl) (fin 27 refl)) (node (edge (fin 112 refl) (fin 103 refl)) (node (edge (fin 111 refl) (fin 53 refl)) (node (edge (fin 110 refl) (fin 80 refl)) (node (edge (fin 110 refl) (fin 57 refl)) (node (edge (fin 110 refl) (fin 54 refl)) (leaf (edge (fin 110 refl) (fin 16 refl))) (empty)) (leaf (edge (fin 110 refl) (fin 78 refl)))) (node (edge (fin 111 refl) (fin 14 refl)) (node (edge (fin 111 refl) (fin 2 refl)) (leaf (edge (fin 110 refl) (fin 106 refl))) (empty)) (leaf (edge (fin 111 refl) (fin 48 refl))))) (node (edge (fin 112 refl) (fin 15 refl)) (node (edge (fin 111 refl) (fin 107 refl)) (node (edge (fin 111 refl) (fin 85 refl)) (leaf (edge (fin 111 refl) (fin 82 refl))) (empty)) (leaf (edge (fin 112 refl) (fin 2 refl)))) (node (edge (fin 112 refl) (fin 84 refl)) (node (edge (fin 112 refl) (fin 52 refl)) (leaf (edge (fin 112 refl) (fin 49 refl))) (empty)) (leaf (edge (fin 112 refl) (fin 86 refl)))))) (node (edge (fin 114 refl) (fin 19 refl)) (node (edge (fin 113 refl) (fin 53 refl)) (node (edge (fin 113 refl) (fin 25 refl)) (node (edge (fin 113 refl) (fin 19 refl)) (leaf (edge (fin 113 refl) (fin 6 refl))) (empty)) (leaf (edge (fin 113 refl) (fin 38 refl)))) (node (edge (fin 113 refl) (fin 111 refl)) (node (edge (fin 113 refl) (fin 91 refl)) (leaf (edge (fin 113 refl) (fin 61 refl))) (empty)) (leaf (edge (fin 114 refl) (fin 7 refl))))) (node (edge (fin 114 refl) (fin 93 refl)) (node (edge (fin 114 refl) (fin 52 refl)) (node (edge (fin 114 refl) (fin 45 refl)) (leaf (edge (fin 114 refl) (fin 27 refl))) (empty)) (leaf (edge (fin 114 refl) (fin 63 refl)))) (node (edge (fin 115 refl) (fin 4 refl)) (leaf (edge (fin 114 refl) (fin 112 refl))) (leaf (edge (fin 115 refl) (fin 18 refl))))))) (node (edge (fin 117 refl) (fin 55 refl)) (node (edge (fin 116 refl) (fin 47 refl)) (node (edge (fin 115 refl) (fin 110 refl)) (node (edge (fin 115 refl) (fin 59 refl)) (node (edge (fin 115 refl) (fin 54 refl)) (leaf (edge (fin 115 refl) (fin 46 refl))) (empty)) (leaf (edge (fin 115 refl) (fin 90 refl)))) (node (edge (fin 116 refl) (fin 20 refl)) (node (edge (fin 116 refl) (fin 5 refl)) (leaf (edge (fin 115 refl) (fin 114 refl))) (empty)) (leaf (edge (fin 116 refl) (fin 25 refl))))) (node (edge (fin 116 refl) (fin 113 refl)) (node (edge (fin 116 refl) (fin 90 refl)) (node (edge (fin 116 refl) (fin 58 refl)) (leaf (edge (fin 116 refl) (fin 56 refl))) (empty)) (leaf (edge (fin 116 refl) (fin 109 refl)))) (node (edge (fin 117 refl) (fin 23 refl)) (node (edge (fin 117 refl) (fin 21 refl)) (leaf (edge (fin 117 refl) (fin 3 refl))) (empty)) (leaf (edge (fin 117 refl) (fin 43 refl)))))) (node (edge (fin 118 refl) (fin 94 refl)) (node (edge (fin 118 refl) (fin 21 refl)) (node (edge (fin 117 refl) (fin 109 refl)) (node (edge (fin 117 refl) (fin 93 refl)) (leaf (edge (fin 117 refl) (fin 62 refl))) (empty)) (leaf (edge (fin 118 refl) (fin 4 refl)))) (node (edge (fin 118 refl) (fin 48 refl)) (node (edge (fin 118 refl) (fin 41 refl)) (leaf (edge (fin 118 refl) (fin 24 refl))) (empty)) (leaf (edge (fin 118 refl) (fin 60 refl))))) (node (edge (fin 119 refl) (fin 42 refl)) (node (edge (fin 119 refl) (fin 22 refl)) (node (edge (fin 119 refl) (fin 5 refl)) (leaf (edge (fin 118 refl) (fin 111 refl))) (empty)) (leaf (edge (fin 119 refl) (fin 24 refl)))) (node (edge (fin 119 refl) (fin 66 refl)) (leaf (edge (fin 119 refl) (fin 49 refl))) (leaf (edge (fin 119 refl) (fin 92 refl)))))))) (node (edge (fin 124 refl) (fin 56 refl)) (node (edge (fin 122 refl) (fin 18 refl)) (node (edge (fin 121 refl) (fin 7 refl)) (node (edge (fin 120 refl) (fin 44 refl)) (node (edge (fin 120 refl) (fin 22 refl)) (node (edge (fin 120 refl) (fin 3 refl)) (leaf (edge (fin 119 refl) (fin 118 refl))) (empty)) (leaf (edge (fin 120 refl) (fin 26 refl)))) (node (edge (fin 120 refl) (fin 91 refl)) (node (edge (fin 120 refl) (fin 64 refl)) (leaf (edge (fin 120 refl) (fin 57 refl))) (empty)) (leaf (edge (fin 120 refl) (fin 110 refl))))) (node (edge (fin 121 refl) (fin 65 refl)) (node (edge (fin 121 refl) (fin 39 refl)) (node (edge (fin 121 refl) (fin 26 refl)) (leaf (edge (fin 121 refl) (fin 20 refl))) (empty)) (leaf (edge (fin 121 refl) (fin 51 refl)))) (node (edge (fin 121 refl) (fin 120 refl)) (node (edge (fin 121 refl) (fin 108 refl)) (leaf (edge (fin 121 refl) (fin 94 refl))) (empty)) (leaf (edge (fin 122 refl) (fin 6 refl)))))) (node (edge (fin 123 refl) (fin 47 refl)) (node (edge (fin 122 refl) (fin 92 refl)) (node (edge (fin 122 refl) (fin 50 refl)) (node (edge (fin 122 refl) (fin 40 refl)) (leaf (edge (fin 122 refl) (fin 23 refl))) (empty)) (leaf (edge (fin 122 refl) (fin 67 refl)))) (node (edge (fin 123 refl) (fin 12 refl)) (node (edge (fin 122 refl) (fin 117 refl)) (leaf (edge (fin 122 refl) (fin 108 refl))) (empty)) (leaf (edge (fin 123 refl) (fin 28 refl))))) (node (edge (fin 123 refl) (fin 97 refl)) (node (edge (fin 123 refl) (fin 74 refl)) (node (edge (fin 123 refl) (fin 60 refl)) (leaf (edge (fin 123 refl) (fin 54 refl))) (empty)) (leaf (edge (fin 123 refl) (fin 93 refl)))) (node (edge (fin 124 refl) (fin 29 refl)) (leaf (edge (fin 124 refl) (fin 11 refl))) (leaf (edge (fin 124 refl) (fin 46 refl))))))) (node (edge (fin 126 refl) (fin 97 refl)) (node (edge (fin 125 refl) (fin 72 refl)) (node (edge (fin 125 refl) (fin 9 refl)) (node (edge (fin 124 refl) (fin 91 refl)) (node (edge (fin 124 refl) (fin 75 refl)) (leaf (edge (fin 124 refl) (fin 66 refl))) (empty)) (leaf (edge (fin 124 refl) (fin 98 refl)))) (node (edge (fin 125 refl) (fin 52 refl)) (node (edge (fin 125 refl) (fin 43 refl)) (leaf (edge (fin 125 refl) (fin 31 refl))) (empty)) (leaf (edge (fin 125 refl) (fin 65 refl))))) (node (edge (fin 126 refl) (fin 44 refl)) (node (edge (fin 126 refl) (fin 10 refl)) (node (edge (fin 125 refl) (fin 98 refl)) (leaf (edge (fin 125 refl) (fin 90 refl))) (empty)) (leaf (edge (fin 126 refl) (fin 30 refl)))) (node (edge (fin 126 refl) (fin 71 refl)) (node (edge (fin 126 refl) (fin 67 refl)) (leaf (edge (fin 126 refl) (fin 53 refl))) (empty)) (leaf (edge (fin 126 refl) (fin 90 refl)))))) (node (edge (fin 128 refl) (fin 32 refl)) (node (edge (fin 127 refl) (fin 59 refl)) (node (edge (fin 127 refl) (fin 39 refl)) (node (edge (fin 127 refl) (fin 34 refl)) (leaf (edge (fin 127 refl) (fin 12 refl))) (empty)) (leaf (edge (fin 127 refl) (fin 48 refl)))) (node (edge (fin 127 refl) (fin 98 refl)) (node (edge (fin 127 refl) (fin 92 refl)) (leaf (edge (fin 127 refl) (fin 68 refl))) (empty)) (leaf (edge (fin 128 refl) (fin 10 refl))))) (node (edge (fin 128 refl) (fin 93 refl)) (node (edge (fin 128 refl) (fin 61 refl)) (node (edge (fin 128 refl) (fin 50 refl)) (leaf (edge (fin 128 refl) (fin 42 refl))) (empty)) (leaf (edge (fin 128 refl) (fin 77 refl)))) (node (edge (fin 129 refl) (fin 9 refl)) (leaf (edge (fin 128 refl) (fin 98 refl))) (leaf (edge (fin 129 refl) (fin 36 refl))))))))) (node (edge (fin 138 refl) (fin 58 refl)) (node (edge (fin 134 refl) (fin 7 refl)) (node (edge (fin 131 refl) (fin 94 refl)) (node (edge (fin 130 refl) (fin 58 refl)) (node (edge (fin 129 refl) (fin 97 refl)) (node (edge (fin 129 refl) (fin 76 refl)) (node (edge (fin 129 refl) (fin 63 refl)) (leaf (edge (fin 129 refl) (fin 51 refl))) (empty)) (leaf (edge (fin 129 refl) (fin 91 refl)))) (node (edge (fin 130 refl) (fin 40 refl)) (node (edge (fin 130 refl) (fin 33 refl)) (leaf (edge (fin 130 refl) (fin 11 refl))) (empty)) (leaf (edge (fin 130 refl) (fin 49 refl))))) (node (edge (fin 131 refl) (fin 37 refl)) (node (edge (fin 130 refl) (fin 97 refl)) (node (edge (fin 130 refl) (fin 94 refl)) (leaf (edge (fin 130 refl) (fin 73 refl))) (empty)) (leaf (edge (fin 131 refl) (fin 8 refl)))) (node (edge (fin 131 refl) (fin 62 refl)) (node (edge (fin 131 refl) (fin 57 refl)) (leaf (edge (fin 131 refl) (fin 38 refl))) (empty)) (leaf (edge (fin 131 refl) (fin 70 refl)))))) (node (edge (fin 133 refl) (fin 4 refl)) (node (edge (fin 132 refl) (fin 55 refl)) (node (edge (fin 132 refl) (fin 35 refl)) (node (edge (fin 132 refl) (fin 8 refl)) (leaf (edge (fin 131 refl) (fin 98 refl))) (empty)) (leaf (edge (fin 132 refl) (fin 45 refl)))) (node (edge (fin 132 refl) (fin 92 refl)) (node (edge (fin 132 refl) (fin 69 refl)) (leaf (edge (fin 132 refl) (fin 64 refl))) (empty)) (leaf (edge (fin 132 refl) (fin 97 refl))))) (node (edge (fin 133 refl) (fin 79 refl)) (node (edge (fin 133 refl) (fin 61 refl)) (node (edge (fin 133 refl) (fin 39 refl)) (leaf (edge (fin 133 refl) (fin 28 refl))) (empty)) (leaf (edge (fin 133 refl) (fin 73 refl)))) (node (edge (fin 133 refl) (fin 121 refl)) (leaf (edge (fin 133 refl) (fin 109 refl))) (leaf (edge (fin 133 refl) (fin 128 refl))))))) (node (edge (fin 136 refl) (fin 38 refl)) (node (edge (fin 135 refl) (fin 30 refl)) (node (edge (fin 134 refl) (fin 81 refl)) (node (edge (fin 134 refl) (fin 67 refl)) (node (edge (fin 134 refl) (fin 41 refl)) (leaf (edge (fin 134 refl) (fin 31 refl))) (empty)) (leaf (edge (fin 134 refl) (fin 70 refl)))) (node (edge (fin 134 refl) (fin 126 refl)) (node (edge (fin 134 refl) (fin 118 refl)) (leaf (edge (fin 134 refl) (fin 109 refl))) (empty)) (leaf (edge (fin 135 refl) (fin 6 refl))))) (node (edge (fin 135 refl) (fin 110 refl)) (node (edge (fin 135 refl) (fin 69 refl)) (node (edge (fin 135 refl) (fin 65 refl)) (leaf (edge (fin 135 refl) (fin 42 refl))) (empty)) (leaf (edge (fin 135 refl) (fin 80 refl)))) (node (edge (fin 136 refl) (fin 3 refl)) (node (edge (fin 135 refl) (fin 125 refl)) (leaf (edge (fin 135 refl) (fin 119 refl))) (empty)) (leaf (edge (fin 136 refl) (fin 35 refl)))))) (node (edge (fin 137 refl) (fin 63 refl)) (node (edge (fin 136 refl) (fin 113 refl)) (node (edge (fin 136 refl) (fin 86 refl)) (node (edge (fin 136 refl) (fin 76 refl)) (leaf (edge (fin 136 refl) (fin 59 refl))) (empty)) (leaf (edge (fin 136 refl) (fin 112 refl)))) (node (edge (fin 137 refl) (fin 29 refl)) (node (edge (fin 137 refl) (fin 5 refl)) (leaf (edge (fin 136 refl) (fin 127 refl))) (empty)) (leaf (edge (fin 137 refl) (fin 40 refl))))) (node (edge (fin 137 refl) (fin 129 refl)) (node (edge (fin 137 refl) (fin 110 refl)) (node (edge (fin 137 refl) (fin 78 refl)) (leaf (edge (fin 137 refl) (fin 68 refl))) (empty)) (leaf (edge (fin 137 refl) (fin 122 refl)))) (node (edge (fin 138 refl) (fin 37 refl)) (leaf (edge (fin 138 refl) (fin 3 refl))) (leaf (edge (fin 138 refl) (fin 45 refl)))))))) (node (edge (fin 142 refl) (fin 111 refl)) (node (edge (fin 140 refl) (fin 83 refl)) (node (edge (fin 139 refl) (fin 71 refl)) (node (edge (fin 138 refl) (fin 130 refl)) (node (edge (fin 138 refl) (fin 111 refl)) (node (edge (fin 138 refl) (fin 82 refl)) (leaf (edge (fin 138 refl) (fin 77 refl))) (empty)) (leaf (edge (fin 138 refl) (fin 114 refl)))) (node (edge (fin 139 refl) (fin 46 refl)) (node (edge (fin 139 refl) (fin 33 refl)) (leaf (edge (fin 139 refl) (fin 5 refl))) (empty)) (leaf (edge (fin 139 refl) (fin 62 refl))))) (node (edge (fin 140 refl) (fin 4 refl)) (node (edge (fin 139 refl) (fin 115 refl)) (node (edge (fin 139 refl) (fin 108 refl)) (leaf (edge (fin 139 refl) (fin 87 refl))) (empty)) (leaf (edge (fin 139 refl) (fin 131 refl)))) (node (edge (fin 140 refl) (fin 64 refl)) (node (edge (fin 140 refl) (fin 47 refl)) (leaf (edge (fin 140 refl) (fin 34 refl))) (empty)) (leaf (edge (fin 140 refl) (fin 72 refl)))))) (node (edge (fin 141 refl) (fin 112 refl)) (node (edge (fin 141 refl) (fin 32 refl)) (node (edge (fin 140 refl) (fin 132 refl)) (node (edge (fin 140 refl) (fin 116 refl)) (leaf (edge (fin 140 refl) (fin 108 refl))) (empty)) (leaf (edge (fin 141 refl) (fin 6 refl)))) (node (edge (fin 141 refl) (fin 75 refl)) (node (edge (fin 141 refl) (fin 60 refl)) (leaf (edge (fin 141 refl) (fin 44 refl))) (empty)) (leaf (edge (fin 141 refl) (fin 84 refl))))) (node (edge (fin 142 refl) (fin 43 refl)) (node (edge (fin 142 refl) (fin 7 refl)) (node (edge (fin 141 refl) (fin 123 refl)) (leaf (edge (fin 141 refl) (fin 120 refl))) (empty)) (leaf (edge (fin 142 refl) (fin 36 refl)))) (node (edge (fin 142 refl) (fin 74 refl)) (leaf (edge (fin 142 refl) (fin 66 refl))) (leaf (edge (fin 142 refl) (fin 85 refl))))))) (node (edge (fin 145 refl) (fin 33 refl)) (node (edge (fin 143 refl) (fin 125 refl)) (node (edge (fin 143 refl) (fin 46 refl)) (node (edge (fin 143 refl) (fin 9 refl)) (node (edge (fin 142 refl) (fin 124 refl)) (leaf (edge (fin 142 refl) (fin 117 refl))) (empty)) (leaf (edge (fin 143 refl) (fin 28 refl)))) (node (edge (fin 143 refl) (fin 78 refl)) (node (edge (fin 143 refl) (fin 77 refl)) (leaf (edge (fin 143 refl) (fin 53 refl))) (empty)) (leaf (edge (fin 143 refl) (fin 103 refl))))) (node (edge (fin 144 refl) (fin 69 refl)) (node (edge (fin 144 refl) (fin 41 refl)) (node (edge (fin 144 refl) (fin 34 refl)) (leaf (edge (fin 144 refl) (fin 11 refl))) (empty)) (leaf (edge (fin 144 refl) (fin 57 refl)))) (node (edge (fin 144 refl) (fin 130 refl)) (node (edge (fin 144 refl) (fin 103 refl)) (leaf (edge (fin 144 refl) (fin 85 refl))) (empty)) (leaf (edge (fin 145 refl) (fin 12 refl)))))) (node (edge (fin 146 refl) (fin 56 refl)) (node (edge (fin 145 refl) (fin 107 refl)) (node (edge (fin 145 refl) (fin 70 refl)) (node (edge (fin 145 refl) (fin 55 refl)) (leaf (edge (fin 145 refl) (fin 42 refl))) (empty)) (leaf (edge (fin 145 refl) (fin 84 refl)))) (node (edge (fin 146 refl) (fin 37 refl)) (node (edge (fin 146 refl) (fin 9 refl)) (leaf (edge (fin 145 refl) (fin 127 refl))) (empty)) (leaf (edge (fin 146 refl) (fin 44 refl))))) (node (edge (fin 147 refl) (fin 8 refl)) (node (edge (fin 146 refl) (fin 104 refl)) (node (edge (fin 146 refl) (fin 80 refl)) (leaf (edge (fin 146 refl) (fin 73 refl))) (empty)) (leaf (edge (fin 146 refl) (fin 129 refl)))) (node (edge (fin 147 refl) (fin 40 refl)) (leaf (edge (fin 147 refl) (fin 32 refl))) (leaf (edge (fin 147 refl) (fin 48 refl))))))))))) (node (edge (fin 180 refl) (fin 20 refl)) (node (edge (fin 165 refl) (fin 74 refl)) (node (edge (fin 156 refl) (fin 142 refl)) (node (edge (fin 152 refl) (fin 50 refl)) (node (edge (fin 150 refl) (fin 10 refl)) (node (edge (fin 148 refl) (fin 106 refl)) (node (edge (fin 148 refl) (fin 36 refl)) (node (edge (fin 147 refl) (fin 132 refl)) (node (edge (fin 147 refl) (fin 105 refl)) (leaf (edge (fin 147 refl) (fin 87 refl))) (empty)) (leaf (edge (fin 148 refl) (fin 8 refl)))) (node (edge (fin 148 refl) (fin 75 refl)) (node (edge (fin 148 refl) (fin 49 refl)) (leaf (edge (fin 148 refl) (fin 39 refl))) (empty)) (leaf (edge (fin 148 refl) (fin 83 refl))))) (node (edge (fin 149 refl) (fin 54 refl)) (node (edge (fin 149 refl) (fin 35 refl)) (node (edge (fin 149 refl) (fin 10 refl)) (leaf (edge (fin 148 refl) (fin 131 refl))) (empty)) (leaf (edge (fin 149 refl) (fin 43 refl)))) (node (edge (fin 149 refl) (fin 104 refl)) (node (edge (fin 149 refl) (fin 81 refl)) (leaf (edge (fin 149 refl) (fin 68 refl))) (empty)) (leaf (edge (fin 149 refl) (fin 128 refl)))))) (node (edge (fin 151 refl) (fin 38 refl)) (node (edge (fin 150 refl) (fin 79 refl)) (node (edge (fin 150 refl) (fin 52 refl)) (node (edge (fin 150 refl) (fin 47 refl)) (leaf (edge (fin 150 refl) (fin 29 refl))) (empty)) (leaf (edge (fin 150 refl) (fin 76 refl)))) (node (edge (fin 151 refl) (fin 11 refl)) (node (edge (fin 150 refl) (fin 126 refl)) (leaf (edge (fin 150 refl) (fin 107 refl))) (empty)) (leaf (edge (fin 151 refl) (fin 30 refl))))) (node (edge (fin 151 refl) (fin 124 refl)) (node (edge (fin 151 refl) (fin 82 refl)) (node (edge (fin 151 refl) (fin 72 refl)) (leaf (edge (fin 151 refl) (fin 51 refl))) (empty)) (leaf (edge (fin 151 refl) (fin 105 refl)))) (node (edge (fin 152 refl) (fin 31 refl)) (leaf (edge (fin 152 refl) (fin 12 refl))) (leaf (edge (fin 152 refl) (fin 45 refl))))))) (node (edge (fin 154 refl) (fin 99 refl)) (node (edge (fin 153 refl) (fin 84 refl)) (node (edge (fin 153 refl) (fin 4 refl)) (node (edge (fin 152 refl) (fin 106 refl)) (node (edge (fin 152 refl) (fin 86 refl)) (leaf (edge (fin 152 refl) (fin 71 refl))) (empty)) (leaf (edge (fin 152 refl) (fin 123 refl)))) (node (edge (fin 153 refl) (fin 63 refl)) (node (edge (fin 153 refl) (fin 57 refl)) (leaf (edge (fin 153 refl) (fin 43 refl))) (empty)) (leaf (edge (fin 153 refl) (fin 71 refl))))) (node (edge (fin 154 refl) (fin 44 refl)) (node (edge (fin 153 refl) (fin 144 refl)) (node (edge (fin 153 refl) (fin 133 refl)) (leaf (edge (fin 153 refl) (fin 100 refl))) (empty)) (leaf (edge (fin 154 refl) (fin 5 refl)))) (node (edge (fin 154 refl) (fin 72 refl)) (node (edge (fin 154 refl) (fin 61 refl)) (leaf (edge (fin 154 refl) (fin 55 refl))) (empty)) (leaf (edge (fin 154 refl) (fin 85 refl)))))) (node (edge (fin 155 refl) (fin 141 refl)) (node (edge (fin 155 refl) (fin 51 refl)) (node (edge (fin 155 refl) (fin 6 refl)) (node (edge (fin 154 refl) (fin 145 refl)) (leaf (edge (fin 154 refl) (fin 137 refl))) (empty)) (leaf (edge (fin 155 refl) (fin 45 refl)))) (node (edge (fin 155 refl) (fin 79 refl)) (node (edge (fin 155 refl) (fin 68 refl)) (leaf (edge (fin 155 refl) (fin 62 refl))) (empty)) (leaf (edge (fin 155 refl) (fin 99 refl))))) (node (edge (fin 156 refl) (fin 64 refl)) (node (edge (fin 156 refl) (fin 38 refl)) (node (edge (fin 156 refl) (fin 7 refl)) (leaf (edge (fin 155 refl) (fin 151 refl))) (empty)) (leaf (edge (fin 156 refl) (fin 50 refl)))) (node (edge (fin 156 refl) (fin 78 refl)) (leaf (edge (fin 156 refl) (fin 73 refl))) (leaf (edge (fin 156 refl) (fin 100 refl)))))))) (node (edge (fin 161 refl) (fin 42 refl)) (node (edge (fin 159 refl) (fin 3 refl)) (node (edge (fin 157 refl) (fin 148 refl)) (node (edge (fin 157 refl) (fin 59 refl)) (node (edge (fin 157 refl) (fin 47 refl)) (node (edge (fin 157 refl) (fin 7 refl)) (leaf (edge (fin 156 refl) (fin 152 refl))) (empty)) (leaf (edge (fin 157 refl) (fin 49 refl)))) (node (edge (fin 157 refl) (fin 99 refl)) (node (edge (fin 157 refl) (fin 80 refl)) (leaf (edge (fin 157 refl) (fin 77 refl))) (empty)) (leaf (edge (fin 157 refl) (fin 134 refl))))) (node (edge (fin 158 refl) (fin 69 refl)) (node (edge (fin 158 refl) (fin 52 refl)) (node (edge (fin 158 refl) (fin 39 refl)) (leaf (edge (fin 158 refl) (fin 5 refl))) (empty)) (leaf (edge (fin 158 refl) (fin 60 refl)))) (node (edge (fin 158 refl) (fin 139 refl)) (node (edge (fin 158 refl) (fin 100 refl)) (leaf (edge (fin 158 refl) (fin 82 refl))) (empty)) (leaf (edge (fin 158 refl) (fin 150 refl)))))) (node (edge (fin 160 refl) (fin 46 refl)) (node (edge (fin 159 refl) (fin 87 refl)) (node (edge (fin 159 refl) (fin 65 refl)) (node (edge (fin 159 refl) (fin 54 refl)) (leaf (edge (fin 159 refl) (fin 41 refl))) (empty)) (leaf (edge (fin 159 refl) (fin 75 refl)))) (node (edge (fin 159 refl) (fin 149 refl)) (node (edge (fin 159 refl) (fin 138 refl)) (leaf (edge (fin 159 refl) (fin 99 refl))) (empty)) (leaf (edge (fin 160 refl) (fin 6 refl))))) (node (edge (fin 160 refl) (fin 100 refl)) (node (edge (fin 160 refl) (fin 76 refl)) (node (edge (fin 160 refl) (fin 58 refl)) (leaf (edge (fin 160 refl) (fin 48 refl))) (empty)) (leaf (edge (fin 160 refl) (fin 81 refl)))) (node (edge (fin 160 refl) (fin 147 refl)) (leaf (edge (fin 160 refl) (fin 135 refl))) (leaf (edge (fin 161 refl) (fin 3 refl))))))) (node (edge (fin 163 refl) (fin 49 refl)) (node (edge (fin 162 refl) (fin 53 refl)) (node (edge (fin 161 refl) (fin 100 refl)) (node (edge (fin 161 refl) (fin 74 refl)) (node (edge (fin 161 refl) (fin 67 refl)) (leaf (edge (fin 161 refl) (fin 56 refl))) (empty)) (leaf (edge (fin 161 refl) (fin 83 refl)))) (node (edge (fin 162 refl) (fin 4 refl)) (node (edge (fin 161 refl) (fin 146 refl)) (leaf (edge (fin 161 refl) (fin 136 refl))) (empty)) (leaf (edge (fin 162 refl) (fin 40 refl))))) (node (edge (fin 162 refl) (fin 140 refl)) (node (edge (fin 162 refl) (fin 86 refl)) (node (edge (fin 162 refl) (fin 70 refl)) (leaf (edge (fin 162 refl) (fin 66 refl))) (empty)) (leaf (edge (fin 162 refl) (fin 99 refl)))) (node (edge (fin 163 refl) (fin 19 refl)) (node (edge (fin 163 refl) (fin 3 refl)) (leaf (edge (fin 162 refl) (fin 143 refl))) (empty)) (leaf (edge (fin 163 refl) (fin 48 refl)))))) (node (edge (fin 164 refl) (fin 75 refl)) (node (edge (fin 163 refl) (fin 154 refl)) (node (edge (fin 163 refl) (fin 89 refl)) (node (edge (fin 163 refl) (fin 72 refl)) (leaf (edge (fin 163 refl) (fin 71 refl))) (empty)) (leaf (edge (fin 163 refl) (fin 153 refl)))) (node (edge (fin 164 refl) (fin 50 refl)) (node (edge (fin 164 refl) (fin 20 refl)) (leaf (edge (fin 164 refl) (fin 4 refl))) (empty)) (leaf (edge (fin 164 refl) (fin 55 refl))))) (node (edge (fin 165 refl) (fin 5 refl)) (node (edge (fin 164 refl) (fin 159 refl)) (node (edge (fin 164 refl) (fin 89 refl)) (leaf (edge (fin 164 refl) (fin 76 refl))) (empty)) (leaf (edge (fin 164 refl) (fin 160 refl)))) (node (edge (fin 165 refl) (fin 51 refl)) (leaf (edge (fin 165 refl) (fin 18 refl))) (leaf (edge (fin 165 refl) (fin 57 refl))))))))) (node (edge (fin 172 refl) (fin 106 refl)) (node (edge (fin 169 refl) (fin 80 refl)) (node (edge (fin 167 refl) (fin 89 refl)) (node (edge (fin 166 refl) (fin 73 refl)) (node (edge (fin 166 refl) (fin 6 refl)) (node (edge (fin 165 refl) (fin 157 refl)) (node (edge (fin 165 refl) (fin 89 refl)) (leaf (edge (fin 165 refl) (fin 77 refl))) (empty)) (leaf (edge (fin 165 refl) (fin 161 refl)))) (node (edge (fin 166 refl) (fin 54 refl)) (node (edge (fin 166 refl) (fin 52 refl)) (leaf (edge (fin 166 refl) (fin 22 refl))) (empty)) (leaf (edge (fin 166 refl) (fin 70 refl))))) (node (edge (fin 167 refl) (fin 21 refl)) (node (edge (fin 166 refl) (fin 162 refl)) (node (edge (fin 166 refl) (fin 156 refl)) (leaf (edge (fin 166 refl) (fin 89 refl))) (empty)) (leaf (edge (fin 167 refl) (fin 7 refl)))) (node (edge (fin 167 refl) (fin 68 refl)) (node (edge (fin 167 refl) (fin 56 refl)) (leaf (edge (fin 167 refl) (fin 53 refl))) (empty)) (leaf (edge (fin 167 refl) (fin 69 refl)))))) (node (edge (fin 168 refl) (fin 104 refl)) (node (edge (fin 168 refl) (fin 41 refl)) (node (edge (fin 168 refl) (fin 8 refl)) (node (edge (fin 167 refl) (fin 158 refl)) (leaf (edge (fin 167 refl) (fin 155 refl))) (empty)) (leaf (edge (fin 168 refl) (fin 19 refl)))) (node (edge (fin 168 refl) (fin 79 refl)) (node (edge (fin 168 refl) (fin 78 refl)) (leaf (edge (fin 168 refl) (fin 42 refl))) (empty)) (leaf (edge (fin 168 refl) (fin 90 refl))))) (node (edge (fin 169 refl) (fin 12 refl)) (node (edge (fin 168 refl) (fin 155 refl)) (node (edge (fin 168 refl) (fin 145 refl)) (leaf (edge (fin 168 refl) (fin 144 refl))) (empty)) (leaf (edge (fin 168 refl) (fin 156 refl)))) (node (edge (fin 169 refl) (fin 40 refl)) (leaf (edge (fin 169 refl) (fin 20 refl))) (leaf (edge (fin 169 refl) (fin 43 refl))))))) (node (edge (fin 171 refl) (fin 10 refl)) (node (edge (fin 170 refl) (fin 39 refl)) (node (edge (fin 169 refl) (fin 149 refl)) (node (edge (fin 169 refl) (fin 103 refl)) (node (edge (fin 169 refl) (fin 91 refl)) (leaf (edge (fin 169 refl) (fin 82 refl))) (empty)) (leaf (edge (fin 169 refl) (fin 147 refl)))) (node (edge (fin 170 refl) (fin 11 refl)) (node (edge (fin 169 refl) (fin 158 refl)) (leaf (edge (fin 169 refl) (fin 157 refl))) (empty)) (leaf (edge (fin 170 refl) (fin 18 refl))))) (node (edge (fin 170 refl) (fin 107 refl)) (node (edge (fin 170 refl) (fin 86 refl)) (node (edge (fin 170 refl) (fin 81 refl)) (leaf (edge (fin 170 refl) (fin 44 refl))) (empty)) (leaf (edge (fin 170 refl) (fin 93 refl)))) (node (edge (fin 170 refl) (fin 160 refl)) (node (edge (fin 170 refl) (fin 148 refl)) (leaf (edge (fin 170 refl) (fin 146 refl))) (empty)) (leaf (edge (fin 170 refl) (fin 162 refl)))))) (node (edge (fin 171 refl) (fin 154 refl)) (node (edge (fin 171 refl) (fin 85 refl)) (node (edge (fin 171 refl) (fin 46 refl)) (node (edge (fin 171 refl) (fin 45 refl)) (leaf (edge (fin 171 refl) (fin 22 refl))) (empty)) (leaf (edge (fin 171 refl) (fin 83 refl)))) (node (edge (fin 171 refl) (fin 143 refl)) (node (edge (fin 171 refl) (fin 105 refl)) (leaf (edge (fin 171 refl) (fin 94 refl))) (empty)) (leaf (edge (fin 171 refl) (fin 152 refl))))) (node (edge (fin 172 refl) (fin 47 refl)) (node (edge (fin 172 refl) (fin 21 refl)) (node (edge (fin 172 refl) (fin 9 refl)) (leaf (edge (fin 171 refl) (fin 161 refl))) (empty)) (leaf (edge (fin 172 refl) (fin 38 refl)))) (node (edge (fin 172 refl) (fin 87 refl)) (leaf (edge (fin 172 refl) (fin 84 refl))) (leaf (edge (fin 172 refl) (fin 92 refl)))))))) (node (edge (fin 176 refl) (fin 35 refl)) (node (edge (fin 174 refl) (fin 81 refl)) (node (edge (fin 173 refl) (fin 82 refl)) (node (edge (fin 173 refl) (fin 8 refl)) (node (edge (fin 172 refl) (fin 153 refl)) (node (edge (fin 172 refl) (fin 151 refl)) (leaf (edge (fin 172 refl) (fin 150 refl))) (empty)) (leaf (edge (fin 172 refl) (fin 159 refl)))) (node (edge (fin 173 refl) (fin 28 refl)) (node (edge (fin 173 refl) (fin 23 refl)) (leaf (edge (fin 173 refl) (fin 22 refl))) (empty)) (leaf (edge (fin 173 refl) (fin 76 refl))))) (node (edge (fin 174 refl) (fin 9 refl)) (node (edge (fin 173 refl) (fin 129 refl)) (node (edge (fin 173 refl) (fin 119 refl)) (leaf (edge (fin 173 refl) (fin 101 refl))) (empty)) (leaf (edge (fin 173 refl) (fin 133 refl)))) (node (edge (fin 174 refl) (fin 33 refl)) (node (edge (fin 174 refl) (fin 26 refl)) (leaf (edge (fin 174 refl) (fin 19 refl))) (empty)) (leaf (edge (fin 174 refl) (fin 74 refl)))))) (node (edge (fin 175 refl) (fin 80 refl)) (node (edge (fin 175 refl) (fin 10 refl)) (node (edge (fin 174 refl) (fin 123 refl)) (node (edge (fin 174 refl) (fin 113 refl)) (leaf (edge (fin 174 refl) (fin 101 refl))) (empty)) (leaf (edge (fin 174 refl) (fin 139 refl)))) (node (edge (fin 175 refl) (fin 34 refl)) (node (edge (fin 175 refl) (fin 23 refl)) (leaf (edge (fin 175 refl) (fin 19 refl))) (empty)) (leaf (edge (fin 175 refl) (fin 75 refl))))) (node (edge (fin 175 refl) (fin 173 refl)) (node (edge (fin 175 refl) (fin 124 refl)) (node (edge (fin 175 refl) (fin 114 refl)) (leaf (edge (fin 175 refl) (fin 102 refl))) (empty)) (leaf (edge (fin 175 refl) (fin 140 refl)))) (node (edge (fin 176 refl) (fin 20 refl)) (leaf (edge (fin 176 refl) (fin 11 refl))) (leaf (edge (fin 176 refl) (fin 24 refl))))))) (node (edge (fin 178 refl) (fin 37 refl)) (node (edge (fin 177 refl) (fin 36 refl)) (node (edge (fin 176 refl) (fin 126 refl)) (node (edge (fin 176 refl) (fin 101 refl)) (node (edge (fin 176 refl) (fin 78 refl)) (leaf (edge (fin 176 refl) (fin 71 refl))) (empty)) (leaf (edge (fin 176 refl) (fin 121 refl)))) (node (edge (fin 177 refl) (fin 18 refl)) (node (edge (fin 177 refl) (fin 10 refl)) (leaf (edge (fin 176 refl) (fin 136 refl))) (empty)) (leaf (edge (fin 177 refl) (fin 25 refl))))) (node (edge (fin 177 refl) (fin 132 refl)) (node (edge (fin 177 refl) (fin 101 refl)) (node (edge (fin 177 refl) (fin 84 refl)) (leaf (edge (fin 177 refl) (fin 69 refl))) (empty)) (leaf (edge (fin 177 refl) (fin 115 refl)))) (node (edge (fin 178 refl) (fin 18 refl)) (node (edge (fin 178 refl) (fin 12 refl)) (leaf (edge (fin 177 refl) (fin 142 refl))) (empty)) (leaf (edge (fin 178 refl) (fin 24 refl)))))) (node (edge (fin 179 refl) (fin 27 refl)) (node (edge (fin 178 refl) (fin 125 refl)) (node (edge (fin 178 refl) (fin 102 refl)) (node (edge (fin 178 refl) (fin 79 refl)) (leaf (edge (fin 178 refl) (fin 72 refl))) (empty)) (leaf (edge (fin 178 refl) (fin 122 refl)))) (node (edge (fin 179 refl) (fin 12 refl)) (node (edge (fin 178 refl) (fin 176 refl)) (leaf (edge (fin 178 refl) (fin 138 refl))) (empty)) (leaf (edge (fin 179 refl) (fin 21 refl))))) (node (edge (fin 179 refl) (fin 117 refl)) (node (edge (fin 179 refl) (fin 83 refl)) (node (edge (fin 179 refl) (fin 73 refl)) (leaf (edge (fin 179 refl) (fin 30 refl))) (empty)) (leaf (edge (fin 179 refl) (fin 101 refl)))) (node (edge (fin 179 refl) (fin 135 refl)) (leaf (edge (fin 179 refl) (fin 130 refl))) (leaf (edge (fin 180 refl) (fin 9 refl)))))))))) (node (edge (fin 194 refl) (fin 163 refl)) (node (edge (fin 187 refl) (fin 86 refl)) (node (edge (fin 183 refl) (fin 114 refl)) (node (edge (fin 181 refl) (fin 174 refl)) (node (edge (fin 181 refl) (fin 8 refl)) (node (edge (fin 180 refl) (fin 102 refl)) (node (edge (fin 180 refl) (fin 70 refl)) (node (edge (fin 180 refl) (fin 32 refl)) (leaf (edge (fin 180 refl) (fin 27 refl))) (empty)) (leaf (edge (fin 180 refl) (fin 85 refl)))) (node (edge (fin 180 refl) (fin 141 refl)) (node (edge (fin 180 refl) (fin 131 refl)) (leaf (edge (fin 180 refl) (fin 116 refl))) (empty)) (leaf (edge (fin 180 refl) (fin 179 refl))))) (node (edge (fin 181 refl) (fin 86 refl)) (node (edge (fin 181 refl) (fin 29 refl)) (node (edge (fin 181 refl) (fin 26 refl)) (leaf (edge (fin 181 refl) (fin 21 refl))) (empty)) (leaf (edge (fin 181 refl) (fin 77 refl)))) (node (edge (fin 181 refl) (fin 128 refl)) (node (edge (fin 181 refl) (fin 118 refl)) (leaf (edge (fin 181 refl) (fin 102 refl))) (empty)) (leaf (edge (fin 181 refl) (fin 137 refl)))))) (node (edge (fin 182 refl) (fin 134 refl)) (node (edge (fin 182 refl) (fin 68 refl)) (node (edge (fin 182 refl) (fin 25 refl)) (node (edge (fin 182 refl) (fin 22 refl)) (leaf (edge (fin 182 refl) (fin 11 refl))) (empty)) (leaf (edge (fin 182 refl) (fin 31 refl)))) (node (edge (fin 182 refl) (fin 120 refl)) (node (edge (fin 182 refl) (fin 102 refl)) (leaf (edge (fin 182 refl) (fin 87 refl))) (empty)) (leaf (edge (fin 182 refl) (fin 127 refl))))) (node (edge (fin 183 refl) (fin 28 refl)) (node (edge (fin 183 refl) (fin 17 refl)) (node (edge (fin 183 refl) (fin 7 refl)) (leaf (edge (fin 182 refl) (fin 177 refl))) (empty)) (leaf (edge (fin 183 refl) (fin 24 refl)))) (node (edge (fin 183 refl) (fin 87 refl)) (leaf (edge (fin 183 refl) (fin 44 refl))) (leaf (edge (fin 183 refl) (fin 95 refl))))))) (node (edge (fin 185 refl) (fin 117 refl)) (node (edge (fin 184 refl) (fin 120 refl)) (node (edge (fin 184 refl) (fin 27 refl)) (node (edge (fin 184 refl) (fin 3 refl)) (node (edge (fin 183 refl) (fin 154 refl)) (leaf (edge (fin 183 refl) (fin 147 refl))) (empty)) (leaf (edge (fin 184 refl) (fin 14 refl)))) (node (edge (fin 184 refl) (fin 79 refl)) (node (edge (fin 184 refl) (fin 40 refl)) (leaf (edge (fin 184 refl) (fin 36 refl))) (empty)) (leaf (edge (fin 184 refl) (fin 95 refl))))) (node (edge (fin 185 refl) (fin 25 refl)) (node (edge (fin 185 refl) (fin 3 refl)) (node (edge (fin 184 refl) (fin 162 refl)) (leaf (edge (fin 184 refl) (fin 150 refl))) (empty)) (leaf (edge (fin 185 refl) (fin 15 refl)))) (node (edge (fin 185 refl) (fin 78 refl)) (node (edge (fin 185 refl) (fin 39 refl)) (leaf (edge (fin 185 refl) (fin 32 refl))) (empty)) (leaf (edge (fin 185 refl) (fin 96 refl)))))) (node (edge (fin 186 refl) (fin 118 refl)) (node (edge (fin 186 refl) (fin 25 refl)) (node (edge (fin 186 refl) (fin 4 refl)) (node (edge (fin 185 refl) (fin 158 refl)) (leaf (edge (fin 185 refl) (fin 143 refl))) (empty)) (leaf (edge (fin 186 refl) (fin 13 refl)))) (node (edge (fin 186 refl) (fin 80 refl)) (node (edge (fin 186 refl) (fin 45 refl)) (leaf (edge (fin 186 refl) (fin 33 refl))) (empty)) (leaf (edge (fin 186 refl) (fin 95 refl))))) (node (edge (fin 187 refl) (fin 16 refl)) (node (edge (fin 186 refl) (fin 185 refl)) (node (edge (fin 186 refl) (fin 155 refl)) (leaf (edge (fin 186 refl) (fin 146 refl))) (empty)) (leaf (edge (fin 187 refl) (fin 5 refl)))) (node (edge (fin 187 refl) (fin 30 refl)) (leaf (edge (fin 187 refl) (fin 23 refl))) (leaf (edge (fin 187 refl) (fin 41 refl)))))))) (node (edge (fin 191 refl) (fin 26 refl)) (node (edge (fin 189 refl) (fin 46 refl)) (node (edge (fin 188 refl) (fin 81 refl)) (node (edge (fin 188 refl) (fin 5 refl)) (node (edge (fin 187 refl) (fin 152 refl)) (node (edge (fin 187 refl) (fin 116 refl)) (leaf (edge (fin 187 refl) (fin 95 refl))) (empty)) (leaf (edge (fin 187 refl) (fin 159 refl)))) (node (edge (fin 188 refl) (fin 34 refl)) (node (edge (fin 188 refl) (fin 27 refl)) (leaf (edge (fin 188 refl) (fin 13 refl))) (empty)) (leaf (edge (fin 188 refl) (fin 38 refl))))) (node (edge (fin 188 refl) (fin 184 refl)) (node (edge (fin 188 refl) (fin 149 refl)) (node (edge (fin 188 refl) (fin 119 refl)) (leaf (edge (fin 188 refl) (fin 96 refl))) (empty)) (leaf (edge (fin 188 refl) (fin 156 refl)))) (node (edge (fin 189 refl) (fin 23 refl)) (node (edge (fin 189 refl) (fin 14 refl)) (leaf (edge (fin 189 refl) (fin 7 refl))) (empty)) (leaf (edge (fin 189 refl) (fin 37 refl)))))) (node (edge (fin 190 refl) (fin 35 refl)) (node (edge (fin 189 refl) (fin 160 refl)) (node (edge (fin 189 refl) (fin 121 refl)) (node (edge (fin 189 refl) (fin 96 refl)) (leaf (edge (fin 189 refl) (fin 84 refl))) (empty)) (leaf (edge (fin 189 refl) (fin 145 refl)))) (node (edge (fin 190 refl) (fin 15 refl)) (node (edge (fin 190 refl) (fin 6 refl)) (leaf (edge (fin 189 refl) (fin 187 refl))) (empty)) (leaf (edge (fin 190 refl) (fin 26 refl))))) (node (edge (fin 190 refl) (fin 144 refl)) (node (edge (fin 190 refl) (fin 95 refl)) (node (edge (fin 190 refl) (fin 85 refl)) (leaf (edge (fin 190 refl) (fin 47 refl))) (empty)) (leaf (edge (fin 190 refl) (fin 122 refl)))) (node (edge (fin 191 refl) (fin 4 refl)) (leaf (edge (fin 190 refl) (fin 157 refl))) (leaf (edge (fin 191 refl) (fin 17 refl))))))) (node (edge (fin 193 refl) (fin 9 refl)) (node (edge (fin 192 refl) (fin 16 refl)) (node (edge (fin 191 refl) (fin 115 refl)) (node (edge (fin 191 refl) (fin 82 refl)) (node (edge (fin 191 refl) (fin 42 refl)) (leaf (edge (fin 191 refl) (fin 31 refl))) (empty)) (leaf (edge (fin 191 refl) (fin 96 refl)))) (node (edge (fin 191 refl) (fin 190 refl)) (node (edge (fin 191 refl) (fin 161 refl)) (leaf (edge (fin 191 refl) (fin 151 refl))) (empty)) (leaf (edge (fin 192 refl) (fin 6 refl))))) (node (edge (fin 192 refl) (fin 96 refl)) (node (edge (fin 192 refl) (fin 43 refl)) (node (edge (fin 192 refl) (fin 29 refl)) (leaf (edge (fin 192 refl) (fin 24 refl))) (empty)) (leaf (edge (fin 192 refl) (fin 83 refl)))) (node (edge (fin 192 refl) (fin 153 refl)) (node (edge (fin 192 refl) (fin 148 refl)) (leaf (edge (fin 192 refl) (fin 113 refl))) (empty)) (leaf (edge (fin 192 refl) (fin 183 refl)))))) (node (edge (fin 193 refl) (fin 191 refl)) (node (edge (fin 193 refl) (fin 68 refl)) (node (edge (fin 193 refl) (fin 49 refl)) (node (edge (fin 193 refl) (fin 23 refl)) (leaf (edge (fin 193 refl) (fin 17 refl))) (empty)) (leaf (edge (fin 193 refl) (fin 64 refl)))) (node (edge (fin 193 refl) (fin 163 refl)) (node (edge (fin 193 refl) (fin 149 refl)) (leaf (edge (fin 193 refl) (fin 107 refl))) (empty)) (leaf (edge (fin 193 refl) (fin 180 refl))))) (node (edge (fin 194 refl) (fin 62 refl)) (node (edge (fin 194 refl) (fin 26 refl)) (node (edge (fin 194 refl) (fin 16 refl)) (leaf (edge (fin 194 refl) (fin 10 refl))) (empty)) (leaf (edge (fin 194 refl) (fin 48 refl)))) (node (edge (fin 194 refl) (fin 103 refl)) (leaf (edge (fin 194 refl) (fin 73 refl))) (leaf (edge (fin 194 refl) (fin 146 refl))))))))) (node (edge (fin 201 refl) (fin 71 refl)) (node (edge (fin 198 refl) (fin 13 refl)) (node (edge (fin 196 refl) (fin 106 refl)) (node (edge (fin 195 refl) (fin 144 refl)) (node (edge (fin 195 refl) (fin 24 refl)) (node (edge (fin 195 refl) (fin 9 refl)) (node (edge (fin 194 refl) (fin 187 refl)) (leaf (edge (fin 194 refl) (fin 177 refl))) (empty)) (leaf (edge (fin 195 refl) (fin 14 refl)))) (node (edge (fin 195 refl) (fin 69 refl)) (node (edge (fin 195 refl) (fin 59 refl)) (leaf (edge (fin 195 refl) (fin 50 refl))) (empty)) (leaf (edge (fin 195 refl) (fin 105 refl))))) (node (edge (fin 196 refl) (fin 15 refl)) (node (edge (fin 195 refl) (fin 184 refl)) (node (edge (fin 195 refl) (fin 174 refl)) (leaf (edge (fin 195 refl) (fin 164 refl))) (empty)) (leaf (edge (fin 196 refl) (fin 10 refl)))) (node (edge (fin 196 refl) (fin 58 refl)) (node (edge (fin 196 refl) (fin 51 refl)) (leaf (edge (fin 196 refl) (fin 24 refl))) (empty)) (leaf (edge (fin 196 refl) (fin 70 refl)))))) (node (edge (fin 197 refl) (fin 61 refl)) (node (edge (fin 196 refl) (fin 195 refl)) (node (edge (fin 196 refl) (fin 175 refl)) (node (edge (fin 196 refl) (fin 165 refl)) (leaf (edge (fin 196 refl) (fin 145 refl))) (empty)) (leaf (edge (fin 196 refl) (fin 185 refl)))) (node (edge (fin 197 refl) (fin 23 refl)) (node (edge (fin 197 refl) (fin 13 refl)) (leaf (edge (fin 197 refl) (fin 11 refl))) (empty)) (leaf (edge (fin 197 refl) (fin 52 refl))))) (node (edge (fin 197 refl) (fin 176 refl)) (node (edge (fin 197 refl) (fin 147 refl)) (node (edge (fin 197 refl) (fin 106 refl)) (leaf (edge (fin 197 refl) (fin 74 refl))) (empty)) (leaf (edge (fin 197 refl) (fin 166 refl)))) (node (edge (fin 197 refl) (fin 193 refl)) (leaf (edge (fin 197 refl) (fin 186 refl))) (leaf (edge (fin 198 refl) (fin 12 refl))))))) (node (edge (fin 199 refl) (fin 179 refl)) (node (edge (fin 198 refl) (fin 194 refl)) (node (edge (fin 198 refl) (fin 105 refl)) (node (edge (fin 198 refl) (fin 63 refl)) (node (edge (fin 198 refl) (fin 53 refl)) (leaf (edge (fin 198 refl) (fin 26 refl))) (empty)) (leaf (edge (fin 198 refl) (fin 75 refl)))) (node (edge (fin 198 refl) (fin 178 refl)) (node (edge (fin 198 refl) (fin 167 refl)) (leaf (edge (fin 198 refl) (fin 148 refl))) (empty)) (leaf (edge (fin 198 refl) (fin 188 refl))))) (node (edge (fin 199 refl) (fin 66 refl)) (node (edge (fin 199 refl) (fin 25 refl)) (node (edge (fin 199 refl) (fin 17 refl)) (leaf (edge (fin 199 refl) (fin 12 refl))) (empty)) (leaf (edge (fin 199 refl) (fin 57 refl)))) (node (edge (fin 199 refl) (fin 150 refl)) (node (edge (fin 199 refl) (fin 104 refl)) (leaf (edge (fin 199 refl) (fin 76 refl))) (empty)) (leaf (edge (fin 199 refl) (fin 165 refl)))))) (node (edge (fin 200 refl) (fin 166 refl)) (node (edge (fin 200 refl) (fin 54 refl)) (node (edge (fin 200 refl) (fin 14 refl)) (node (edge (fin 200 refl) (fin 8 refl)) (leaf (edge (fin 199 refl) (fin 183 refl))) (empty)) (leaf (edge (fin 200 refl) (fin 25 refl)))) (node (edge (fin 200 refl) (fin 103 refl)) (node (edge (fin 200 refl) (fin 72 refl)) (leaf (edge (fin 200 refl) (fin 67 refl))) (empty)) (leaf (edge (fin 200 refl) (fin 151 refl))))) (node (edge (fin 201 refl) (fin 15 refl)) (node (edge (fin 200 refl) (fin 199 refl)) (node (edge (fin 200 refl) (fin 189 refl)) (leaf (edge (fin 200 refl) (fin 181 refl))) (empty)) (leaf (edge (fin 201 refl) (fin 8 refl)))) (node (edge (fin 201 refl) (fin 56 refl)) (leaf (edge (fin 201 refl) (fin 27 refl))) (leaf (edge (fin 201 refl) (fin 65 refl)))))))) (node (edge (fin 204 refl) (fin 138 refl)) (node (edge (fin 203 refl) (fin 28 refl)) (node (edge (fin 202 refl) (fin 60 refl)) (node (edge (fin 201 refl) (fin 190 refl)) (node (edge (fin 201 refl) (fin 167 refl)) (node (edge (fin 201 refl) (fin 152 refl)) (leaf (edge (fin 201 refl) (fin 107 refl))) (empty)) (leaf (edge (fin 201 refl) (fin 173 refl)))) (node (edge (fin 202 refl) (fin 27 refl)) (node (edge (fin 202 refl) (fin 16 refl)) (leaf (edge (fin 202 refl) (fin 11 refl))) (empty)) (leaf (edge (fin 202 refl) (fin 55 refl))))) (node (edge (fin 202 refl) (fin 182 refl)) (node (edge (fin 202 refl) (fin 143 refl)) (node (edge (fin 202 refl) (fin 104 refl)) (leaf (edge (fin 202 refl) (fin 77 refl))) (empty)) (leaf (edge (fin 202 refl) (fin 164 refl)))) (node (edge (fin 203 refl) (fin 3 refl)) (node (edge (fin 202 refl) (fin 201 refl)) (leaf (edge (fin 202 refl) (fin 192 refl))) (empty)) (leaf (edge (fin 203 refl) (fin 13 refl)))))) (node (edge (fin 204 refl) (fin 6 refl)) (node (edge (fin 203 refl) (fin 123 refl)) (node (edge (fin 203 refl) (fin 70 refl)) (node (edge (fin 203 refl) (fin 69 refl)) (leaf (edge (fin 203 refl) (fin 29 refl))) (empty)) (leaf (edge (fin 203 refl) (fin 108 refl)))) (node (edge (fin 203 refl) (fin 135 refl)) (node (edge (fin 203 refl) (fin 134 refl)) (leaf (edge (fin 203 refl) (fin 124 refl))) (empty)) (leaf (edge (fin 203 refl) (fin 163 refl))))) (node (edge (fin 204 refl) (fin 77 refl)) (node (edge (fin 204 refl) (fin 36 refl)) (node (edge (fin 204 refl) (fin 34 refl)) (leaf (edge (fin 204 refl) (fin 17 refl))) (empty)) (leaf (edge (fin 204 refl) (fin 71 refl)))) (node (edge (fin 204 refl) (fin 127 refl)) (leaf (edge (fin 204 refl) (fin 109 refl))) (leaf (edge (fin 204 refl) (fin 129 refl))))))) (node (edge (fin 206 refl) (fin 76 refl)) (node (edge (fin 205 refl) (fin 126 refl)) (node (edge (fin 205 refl) (fin 30 refl)) (node (edge (fin 205 refl) (fin 4 refl)) (node (edge (fin 204 refl) (fin 166 refl)) (leaf (edge (fin 204 refl) (fin 139 refl))) (empty)) (leaf (edge (fin 205 refl) (fin 15 refl)))) (node (edge (fin 205 refl) (fin 74 refl)) (node (edge (fin 205 refl) (fin 68 refl)) (leaf (edge (fin 205 refl) (fin 37 refl))) (empty)) (leaf (edge (fin 205 refl) (fin 112 refl))))) (node (edge (fin 206 refl) (fin 7 refl)) (node (edge (fin 205 refl) (fin 142 refl)) (node (edge (fin 205 refl) (fin 137 refl)) (leaf (edge (fin 205 refl) (fin 131 refl))) (empty)) (leaf (edge (fin 205 refl) (fin 164 refl)))) (node (edge (fin 206 refl) (fin 33 refl)) (node (edge (fin 206 refl) (fin 32 refl)) (leaf (edge (fin 206 refl) (fin 16 refl))) (empty)) (leaf (edge (fin 206 refl) (fin 72 refl)))))) (node (edge (fin 207 refl) (fin 35 refl)) (node (edge (fin 206 refl) (fin 140 refl)) (node (edge (fin 206 refl) (fin 130 refl)) (node (edge (fin 206 refl) (fin 128 refl)) (leaf (edge (fin 206 refl) (fin 110 refl))) (empty)) (leaf (edge (fin 206 refl) (fin 136 refl)))) (node (edge (fin 207 refl) (fin 14 refl)) (node (edge (fin 207 refl) (fin 5 refl)) (leaf (edge (fin 206 refl) (fin 167 refl))) (empty)) (leaf (edge (fin 207 refl) (fin 31 refl))))) (node (edge (fin 207 refl) (fin 132 refl)) (node (edge (fin 207 refl) (fin 111 refl)) (node (edge (fin 207 refl) (fin 75 refl)) (leaf (edge (fin 207 refl) (fin 73 refl))) (empty)) (leaf (edge (fin 207 refl) (fin 125 refl)))) (node (edge (fin 207 refl) (fin 141 refl)) (leaf (edge (fin 207 refl) (fin 133 refl))) (leaf (edge (fin 207 refl) (fin 165 refl)))))))))))
Require Import Coq.Init.Nat.
Inductive Tree (A : Set) : Set :=
| empty : Tree A
| leaf : A -> Tree A
| node : A -> Tree A -> Tree A -> Tree A.
Arguments empty {_}.
Arguments leaf {_} _.
Arguments node {_} _ _ _.
Structure Fin (n : nat) : Type := fin {
val : nat ;
lt : true = (val <? n)%nat
}.
Arguments val {_} _.
Structure Edge (n : nat) : Type := edge {
fst : Fin n ;
snd : Fin (val fst)
}.
Arguments edge {_} _ _.
Notation "'F[' i ',' j ']'" := (fin i j eq_refl) (at level 5).
Definition test1 := node (edge F[10,5] (fin 5 2 eq_refl)) empty (leaf (edge (fin 10 3 eq_refl) (fin 3 1 eq_refl))).
Definition test5 := node (edge F[666,147] F[147,74]) (node (edge F[666,110] F[110,2]) (node (edge F[666,85] F[85,13]) (node (edge F[666,60] F[60,36]) (node (edge F[666,43] F[43,33]) (node (edge F[666,29] F[29,20]) (node (edge F[666,8] F[8,3]) (node (edge F[666,4] F[4,0]) (node (edge F[666,2] F[2,1]) (node (edge F[666,2] F[2,0]) (leaf (edge F[666,1] F[1,0])) (empty)) (leaf (edge F[666,3] F[3,0]))) (node (edge F[666,7] F[7,0]) (node (edge F[666,6] F[6,0]) (leaf (edge F[666,5] F[5,0])) (empty)) (leaf (edge F[666,8] F[8,0])))) (node (edge F[666,11] F[11,0]) (node (edge F[666,10] F[10,0]) (node (edge F[666,9] F[9,7]) (leaf (edge F[666,9] F[9,0])) (empty)) (leaf (edge F[666,10] F[10,6]))) (node (edge F[666,12] F[12,4]) (node (edge F[666,12] F[12,0]) (leaf (edge F[666,11] F[11,5])) (empty)) (leaf (edge F[666,28] F[28,18]))))) (node (edge F[666,38] F[38,28]) (node (edge F[666,34] F[34,21]) (node (edge F[666,32] F[32,18]) (node (edge F[666,31] F[31,19]) (leaf (edge F[666,30] F[30,19])) (empty)) (leaf (edge F[666,33] F[33,22]))) (node (edge F[666,37] F[37,22]) (node (edge F[666,36] F[36,20]) (leaf (edge F[666,35] F[35,21])) (empty)) (leaf (edge F[666,38] F[38,18])))) (node (edge F[666,41] F[41,18]) (node (edge F[666,40] F[40,19]) (node (edge F[666,39] F[39,30]) (leaf (edge F[666,39] F[39,19])) (empty)) (leaf (edge F[666,40] F[40,31]))) (node (edge F[666,42] F[42,36]) (node (edge F[666,42] F[42,20]) (leaf (edge F[666,41] F[41,32])) (empty)) (leaf (edge F[666,43] F[43,22])))))) (node (edge F[666,52] F[52,41]) (node (edge F[666,48] F[48,47]) (node (edge F[666,46] F[46,21]) (node (edge F[666,45] F[45,20]) (node (edge F[666,44] F[44,34]) (leaf (edge F[666,44] F[44,21])) (empty)) (leaf (edge F[666,45] F[45,29]))) (node (edge F[666,47] F[47,37]) (node (edge F[666,47] F[47,22]) (leaf (edge F[666,46] F[46,35])) (empty)) (leaf (edge F[666,48] F[48,27])))) (node (edge F[666,50] F[50,49]) (node (edge F[666,50] F[50,25]) (node (edge F[666,49] F[49,46]) (leaf (edge F[666,49] F[49,25])) (empty)) (leaf (edge F[666,50] F[50,44]))) (node (edge F[666,51] F[51,48]) (node (edge F[666,51] F[51,43]) (leaf (edge F[666,51] F[51,27])) (empty)) (leaf (edge F[666,52] F[52,26]))))) (node (edge F[666,56] F[56,54]) (node (edge F[666,55] F[55,26]) (node (edge F[666,54] F[54,24]) (node (edge F[666,53] F[53,42]) (leaf (edge F[666,53] F[53,23])) (empty)) (leaf (edge F[666,54] F[54,39]))) (node (edge F[666,56] F[56,24]) (node (edge F[666,55] F[55,52]) (leaf (edge F[666,55] F[55,38])) (empty)) (leaf (edge F[666,56] F[56,40])))) (node (edge F[666,58] F[58,28]) (node (edge F[666,57] F[57,53]) (node (edge F[666,57] F[57,45]) (leaf (edge F[666,57] F[57,23])) (empty)) (leaf (edge F[666,58] F[58,26]))) (node (edge F[666,59] F[59,29]) (leaf (edge F[666,59] F[59,23])) (leaf (edge F[666,60] F[60,23]))))))) (node (edge F[666,74] F[74,34]) (node (edge F[666,68] F[68,14]) (node (edge F[666,64] F[64,62]) (node (edge F[666,62] F[62,31]) (node (edge F[666,61] F[61,37]) (node (edge F[666,61] F[61,27]) (leaf (edge F[666,60] F[60,59])) (empty)) (leaf (edge F[666,62] F[62,24]))) (node (edge F[666,64] F[64,24]) (node (edge F[666,63] F[63,35]) (leaf (edge F[666,63] F[63,25])) (empty)) (leaf (edge F[666,64] F[64,30])))) (node (edge F[666,66] F[66,32]) (node (edge F[666,65] F[65,63]) (node (edge F[666,65] F[65,34]) (leaf (edge F[666,65] F[65,25])) (empty)) (leaf (edge F[666,66] F[66,26]))) (node (edge F[666,67] F[67,33]) (node (edge F[666,67] F[67,27]) (leaf (edge F[666,66] F[66,58])) (empty)) (leaf (edge F[666,67] F[67,61]))))) (node (edge F[666,71] F[71,32]) (node (edge F[666,69] F[69,61]) (node (edge F[666,69] F[69,17]) (node (edge F[666,68] F[68,58]) (leaf (edge F[666,68] F[68,28])) (empty)) (leaf (edge F[666,69] F[69,37]))) (node (edge F[666,70] F[70,63]) (node (edge F[666,70] F[70,35]) (leaf (edge F[666,70] F[70,16])) (empty)) (leaf (edge F[666,71] F[71,14])))) (node (edge F[666,73] F[73,15]) (node (edge F[666,72] F[72,36]) (node (edge F[666,72] F[72,15]) (leaf (edge F[666,71] F[71,66])) (empty)) (leaf (edge F[666,72] F[72,60]))) (node (edge F[666,73] F[73,59]) (leaf (edge F[666,73] F[73,29])) (leaf (edge F[666,74] F[74,16])))))) (node (edge F[666,80] F[80,38]) (node (edge F[666,77] F[77,64]) (node (edge F[666,76] F[76,13]) (node (edge F[666,75] F[75,33]) (node (edge F[666,75] F[75,17]) (leaf (edge F[666,74] F[74,65])) (empty)) (leaf (edge F[666,75] F[75,67]))) (node (edge F[666,77] F[77,13]) (node (edge F[666,76] F[76,62]) (leaf (edge F[666,76] F[76,31])) (empty)) (leaf (edge F[666,77] F[77,30])))) (node (edge F[666,79] F[79,16]) (node (edge F[666,78] F[78,48]) (node (edge F[666,78] F[78,47]) (leaf (edge F[666,78] F[78,17])) (empty)) (leaf (edge F[666,78] F[78,75]))) (node (edge F[666,79] F[79,74]) (node (edge F[666,79] F[79,49]) (leaf (edge F[666,79] F[79,46])) (empty)) (leaf (edge F[666,80] F[80,14]))))) (node (edge F[666,82] F[82,70]) (node (edge F[666,81] F[81,57]) (node (edge F[666,81] F[81,15]) (node (edge F[666,80] F[80,71]) (leaf (edge F[666,80] F[80,55])) (empty)) (leaf (edge F[666,81] F[81,45]))) (node (edge F[666,82] F[82,44]) (node (edge F[666,82] F[82,16]) (leaf (edge F[666,81] F[81,72])) (empty)) (leaf (edge F[666,82] F[82,50])))) (node (edge F[666,84] F[84,13]) (node (edge F[666,83] F[83,52]) (node (edge F[666,83] F[83,41]) (leaf (edge F[666,83] F[83,14])) (empty)) (leaf (edge F[666,83] F[83,68]))) (node (edge F[666,84] F[84,56]) (leaf (edge F[666,84] F[84,40])) (leaf (edge F[666,84] F[84,77])))))))) (node (edge F[666,97] F[97,96]) (node (edge F[666,92] F[92,9]) (node (edge F[666,89] F[89,19]) (node (edge F[666,87] F[87,53]) (node (edge F[666,86] F[86,43]) (node (edge F[666,85] F[85,76]) (node (edge F[666,85] F[85,54]) (leaf (edge F[666,85] F[85,39])) (empty)) (leaf (edge F[666,86] F[86,17]))) (node (edge F[666,87] F[87,15]) (node (edge F[666,86] F[86,69]) (leaf (edge F[666,86] F[86,51])) (empty)) (leaf (edge F[666,87] F[87,42])))) (node (edge F[666,88] F[88,15]) (node (edge F[666,88] F[88,13]) (node (edge F[666,88] F[88,1]) (leaf (edge F[666,87] F[87,73])) (empty)) (leaf (edge F[666,88] F[88,14]))) (node (edge F[666,89] F[89,1]) (node (edge F[666,88] F[88,17]) (leaf (edge F[666,88] F[88,16])) (empty)) (leaf (edge F[666,89] F[89,18]))))) (node (edge F[666,90] F[90,59]) (node (edge F[666,90] F[90,8]) (node (edge F[666,89] F[89,22]) (node (edge F[666,89] F[89,21]) (leaf (edge F[666,89] F[89,20])) (empty)) (leaf (edge F[666,89] F[89,88]))) (node (edge F[666,90] F[90,44]) (node (edge F[666,90] F[90,43]) (leaf (edge F[666,90] F[90,13])) (empty)) (leaf (edge F[666,90] F[90,58])))) (node (edge F[666,91] F[91,46]) (node (edge F[666,91] F[91,15]) (node (edge F[666,91] F[91,12]) (leaf (edge F[666,90] F[90,88])) (empty)) (leaf (edge F[666,91] F[91,41]))) (node (edge F[666,91] F[91,64]) (leaf (edge F[666,91] F[91,61])) (leaf (edge F[666,91] F[91,88])))))) (node (edge F[666,94] F[94,88]) (node (edge F[666,93] F[93,47]) (node (edge F[666,92] F[92,67]) (node (edge F[666,92] F[92,45]) (node (edge F[666,92] F[92,39]) (leaf (edge F[666,92] F[92,16])) (empty)) (leaf (edge F[666,92] F[92,66]))) (node (edge F[666,93] F[93,14]) (node (edge F[666,93] F[93,11]) (leaf (edge F[666,92] F[92,88])) (empty)) (leaf (edge F[666,93] F[93,42])))) (node (edge F[666,94] F[94,17]) (node (edge F[666,93] F[93,88]) (node (edge F[666,93] F[93,63]) (leaf (edge F[666,93] F[93,62])) (empty)) (leaf (edge F[666,94] F[94,10]))) (node (edge F[666,94] F[94,60]) (node (edge F[666,94] F[94,40]) (leaf (edge F[666,94] F[94,38])) (empty)) (leaf (edge F[666,94] F[94,65]))))) (node (edge F[666,96] F[96,32]) (node (edge F[666,95] F[95,35]) (node (edge F[666,95] F[95,30]) (node (edge F[666,95] F[95,28]) (leaf (edge F[666,95] F[95,1])) (empty)) (leaf (edge F[666,95] F[95,33]))) (node (edge F[666,96] F[96,29]) (node (edge F[666,96] F[96,1]) (leaf (edge F[666,95] F[95,36])) (empty)) (leaf (edge F[666,96] F[96,31])))) (node (edge F[666,97] F[97,51]) (node (edge F[666,97] F[97,1]) (node (edge F[666,96] F[96,37]) (leaf (edge F[666,96] F[96,34])) (empty)) (leaf (edge F[666,97] F[97,49]))) (node (edge F[666,97] F[97,54]) (leaf (edge F[666,97] F[97,53])) (leaf (edge F[666,97] F[97,55]))))))) (node (edge F[666,103] F[103,67]) (node (edge F[666,101] F[101,1]) (node (edge F[666,99] F[99,61]) (node (edge F[666,98] F[98,56]) (node (edge F[666,98] F[98,50]) (node (edge F[666,98] F[98,48]) (leaf (edge F[666,98] F[98,1])) (empty)) (leaf (edge F[666,98] F[98,52]))) (node (edge F[666,99] F[99,1]) (node (edge F[666,98] F[98,95]) (leaf (edge F[666,98] F[98,57])) (empty)) (leaf (edge F[666,99] F[99,59])))) (node (edge F[666,100] F[100,58]) (node (edge F[666,99] F[99,66]) (node (edge F[666,99] F[99,65]) (leaf (edge F[666,99] F[99,62])) (empty)) (leaf (edge F[666,100] F[100,1]))) (node (edge F[666,100] F[100,64]) (node (edge F[666,100] F[100,63]) (leaf (edge F[666,100] F[100,60])) (empty)) (leaf (edge F[666,100] F[100,67]))))) (node (edge F[666,102] F[102,85]) (node (edge F[666,101] F[101,84]) (node (edge F[666,101] F[101,82]) (node (edge F[666,101] F[101,81]) (leaf (edge F[666,101] F[101,78])) (empty)) (leaf (edge F[666,101] F[101,83]))) (node (edge F[666,102] F[102,79]) (node (edge F[666,102] F[102,1]) (leaf (edge F[666,101] F[101,99])) (empty)) (leaf (edge F[666,102] F[102,80])))) (node (edge F[666,103] F[103,20]) (node (edge F[666,102] F[102,100]) (node (edge F[666,102] F[102,87]) (leaf (edge F[666,102] F[102,86])) (empty)) (leaf (edge F[666,103] F[103,2]))) (node (edge F[666,103] F[103,34]) (leaf (edge F[666,103] F[103,28])) (leaf (edge F[666,103] F[103,62])))))) (node (edge F[666,107] F[107,18]) (node (edge F[666,105] F[105,32]) (node (edge F[666,104] F[104,60]) (node (edge F[666,104] F[104,35]) (node (edge F[666,104] F[104,19]) (leaf (edge F[666,104] F[104,2])) (empty)) (leaf (edge F[666,104] F[104,37]))) (node (edge F[666,105] F[105,22]) (node (edge F[666,105] F[105,2]) (leaf (edge F[666,104] F[104,66])) (empty)) (leaf (edge F[666,105] F[105,30])))) (node (edge F[666,106] F[106,31]) (node (edge F[666,106] F[106,2]) (node (edge F[666,105] F[105,63]) (leaf (edge F[666,105] F[105,59])) (empty)) (leaf (edge F[666,106] F[106,21]))) (node (edge F[666,106] F[106,61]) (node (edge F[666,106] F[106,58]) (leaf (edge F[666,106] F[106,36])) (empty)) (leaf (edge F[666,107] F[107,2]))))) (node (edge F[666,108] F[108,87]) (node (edge F[666,108] F[108,2]) (node (edge F[666,107] F[107,64]) (node (edge F[666,107] F[107,33]) (leaf (edge F[666,107] F[107,29])) (empty)) (leaf (edge F[666,107] F[107,65]))) (node (edge F[666,108] F[108,51]) (node (edge F[666,108] F[108,50]) (leaf (edge F[666,108] F[108,13])) (empty)) (leaf (edge F[666,108] F[108,83])))) (node (edge F[666,109] F[109,56]) (node (edge F[666,109] F[109,17]) (node (edge F[666,109] F[109,2]) (leaf (edge F[666,108] F[108,104])) (empty)) (leaf (edge F[666,109] F[109,55]))) (node (edge F[666,109] F[109,81]) (leaf (edge F[666,109] F[109,79])) (leaf (edge F[666,109] F[109,105]))))))))) (node (edge F[666,129] F[129,41]) (node (edge F[666,119] F[119,112]) (node (edge F[666,115] F[115,27]) (node (edge F[666,112] F[112,103]) (node (edge F[666,111] F[111,53]) (node (edge F[666,110] F[110,80]) (node (edge F[666,110] F[110,57]) (node (edge F[666,110] F[110,54]) (leaf (edge F[666,110] F[110,16])) (empty)) (leaf (edge F[666,110] F[110,78]))) (node (edge F[666,111] F[111,14]) (node (edge F[666,111] F[111,2]) (leaf (edge F[666,110] F[110,106])) (empty)) (leaf (edge F[666,111] F[111,48])))) (node (edge F[666,112] F[112,15]) (node (edge F[666,111] F[111,107]) (node (edge F[666,111] F[111,85]) (leaf (edge F[666,111] F[111,82])) (empty)) (leaf (edge F[666,112] F[112,2]))) (node (edge F[666,112] F[112,84]) (node (edge F[666,112] F[112,52]) (leaf (edge F[666,112] F[112,49])) (empty)) (leaf (edge F[666,112] F[112,86]))))) (node (edge F[666,114] F[114,19]) (node (edge F[666,113] F[113,53]) (node (edge F[666,113] F[113,25]) (node (edge F[666,113] F[113,19]) (leaf (edge F[666,113] F[113,6])) (empty)) (leaf (edge F[666,113] F[113,38]))) (node (edge F[666,113] F[113,111]) (node (edge F[666,113] F[113,91]) (leaf (edge F[666,113] F[113,61])) (empty)) (leaf (edge F[666,114] F[114,7])))) (node (edge F[666,114] F[114,93]) (node (edge F[666,114] F[114,52]) (node (edge F[666,114] F[114,45]) (leaf (edge F[666,114] F[114,27])) (empty)) (leaf (edge F[666,114] F[114,63]))) (node (edge F[666,115] F[115,4]) (leaf (edge F[666,114] F[114,112])) (leaf (edge F[666,115] F[115,18])))))) (node (edge F[666,117] F[117,55]) (node (edge F[666,116] F[116,47]) (node (edge F[666,115] F[115,110]) (node (edge F[666,115] F[115,59]) (node (edge F[666,115] F[115,54]) (leaf (edge F[666,115] F[115,46])) (empty)) (leaf (edge F[666,115] F[115,90]))) (node (edge F[666,116] F[116,20]) (node (edge F[666,116] F[116,5]) (leaf (edge F[666,115] F[115,114])) (empty)) (leaf (edge F[666,116] F[116,25])))) (node (edge F[666,116] F[116,113]) (node (edge F[666,116] F[116,90]) (node (edge F[666,116] F[116,58]) (leaf (edge F[666,116] F[116,56])) (empty)) (leaf (edge F[666,116] F[116,109]))) (node (edge F[666,117] F[117,23]) (node (edge F[666,117] F[117,21]) (leaf (edge F[666,117] F[117,3])) (empty)) (leaf (edge F[666,117] F[117,43]))))) (node (edge F[666,118] F[118,94]) (node (edge F[666,118] F[118,21]) (node (edge F[666,117] F[117,109]) (node (edge F[666,117] F[117,93]) (leaf (edge F[666,117] F[117,62])) (empty)) (leaf (edge F[666,118] F[118,4]))) (node (edge F[666,118] F[118,48]) (node (edge F[666,118] F[118,41]) (leaf (edge F[666,118] F[118,24])) (empty)) (leaf (edge F[666,118] F[118,60])))) (node (edge F[666,119] F[119,42]) (node (edge F[666,119] F[119,22]) (node (edge F[666,119] F[119,5]) (leaf (edge F[666,118] F[118,111])) (empty)) (leaf (edge F[666,119] F[119,24]))) (node (edge F[666,119] F[119,66]) (leaf (edge F[666,119] F[119,49])) (leaf (edge F[666,119] F[119,92]))))))) (node (edge F[666,124] F[124,56]) (node (edge F[666,122] F[122,18]) (node (edge F[666,121] F[121,7]) (node (edge F[666,120] F[120,44]) (node (edge F[666,120] F[120,22]) (node (edge F[666,120] F[120,3]) (leaf (edge F[666,119] F[119,118])) (empty)) (leaf (edge F[666,120] F[120,26]))) (node (edge F[666,120] F[120,91]) (node (edge F[666,120] F[120,64]) (leaf (edge F[666,120] F[120,57])) (empty)) (leaf (edge F[666,120] F[120,110])))) (node (edge F[666,121] F[121,65]) (node (edge F[666,121] F[121,39]) (node (edge F[666,121] F[121,26]) (leaf (edge F[666,121] F[121,20])) (empty)) (leaf (edge F[666,121] F[121,51]))) (node (edge F[666,121] F[121,120]) (node (edge F[666,121] F[121,108]) (leaf (edge F[666,121] F[121,94])) (empty)) (leaf (edge F[666,122] F[122,6]))))) (node (edge F[666,123] F[123,47]) (node (edge F[666,122] F[122,92]) (node (edge F[666,122] F[122,50]) (node (edge F[666,122] F[122,40]) (leaf (edge F[666,122] F[122,23])) (empty)) (leaf (edge F[666,122] F[122,67]))) (node (edge F[666,123] F[123,12]) (node (edge F[666,122] F[122,117]) (leaf (edge F[666,122] F[122,108])) (empty)) (leaf (edge F[666,123] F[123,28])))) (node (edge F[666,123] F[123,97]) (node (edge F[666,123] F[123,74]) (node (edge F[666,123] F[123,60]) (leaf (edge F[666,123] F[123,54])) (empty)) (leaf (edge F[666,123] F[123,93]))) (node (edge F[666,124] F[124,29]) (leaf (edge F[666,124] F[124,11])) (leaf (edge F[666,124] F[124,46])))))) (node (edge F[666,126] F[126,97]) (node (edge F[666,125] F[125,72]) (node (edge F[666,125] F[125,9]) (node (edge F[666,124] F[124,91]) (node (edge F[666,124] F[124,75]) (leaf (edge F[666,124] F[124,66])) (empty)) (leaf (edge F[666,124] F[124,98]))) (node (edge F[666,125] F[125,52]) (node (edge F[666,125] F[125,43]) (leaf (edge F[666,125] F[125,31])) (empty)) (leaf (edge F[666,125] F[125,65])))) (node (edge F[666,126] F[126,44]) (node (edge F[666,126] F[126,10]) (node (edge F[666,125] F[125,98]) (leaf (edge F[666,125] F[125,90])) (empty)) (leaf (edge F[666,126] F[126,30]))) (node (edge F[666,126] F[126,71]) (node (edge F[666,126] F[126,67]) (leaf (edge F[666,126] F[126,53])) (empty)) (leaf (edge F[666,126] F[126,90]))))) (node (edge F[666,128] F[128,32]) (node (edge F[666,127] F[127,59]) (node (edge F[666,127] F[127,39]) (node (edge F[666,127] F[127,34]) (leaf (edge F[666,127] F[127,12])) (empty)) (leaf (edge F[666,127] F[127,48]))) (node (edge F[666,127] F[127,98]) (node (edge F[666,127] F[127,92]) (leaf (edge F[666,127] F[127,68])) (empty)) (leaf (edge F[666,128] F[128,10])))) (node (edge F[666,128] F[128,93]) (node (edge F[666,128] F[128,61]) (node (edge F[666,128] F[128,50]) (leaf (edge F[666,128] F[128,42])) (empty)) (leaf (edge F[666,128] F[128,77]))) (node (edge F[666,129] F[129,9]) (leaf (edge F[666,128] F[128,98])) (leaf (edge F[666,129] F[129,36])))))))) (node (edge F[666,138] F[138,58]) (node (edge F[666,134] F[134,7]) (node (edge F[666,131] F[131,94]) (node (edge F[666,130] F[130,58]) (node (edge F[666,129] F[129,97]) (node (edge F[666,129] F[129,76]) (node (edge F[666,129] F[129,63]) (leaf (edge F[666,129] F[129,51])) (empty)) (leaf (edge F[666,129] F[129,91]))) (node (edge F[666,130] F[130,40]) (node (edge F[666,130] F[130,33]) (leaf (edge F[666,130] F[130,11])) (empty)) (leaf (edge F[666,130] F[130,49])))) (node (edge F[666,131] F[131,37]) (node (edge F[666,130] F[130,97]) (node (edge F[666,130] F[130,94]) (leaf (edge F[666,130] F[130,73])) (empty)) (leaf (edge F[666,131] F[131,8]))) (node (edge F[666,131] F[131,62]) (node (edge F[666,131] F[131,57]) (leaf (edge F[666,131] F[131,38])) (empty)) (leaf (edge F[666,131] F[131,70]))))) (node (edge F[666,133] F[133,4]) (node (edge F[666,132] F[132,55]) (node (edge F[666,132] F[132,35]) (node (edge F[666,132] F[132,8]) (leaf (edge F[666,131] F[131,98])) (empty)) (leaf (edge F[666,132] F[132,45]))) (node (edge F[666,132] F[132,92]) (node (edge F[666,132] F[132,69]) (leaf (edge F[666,132] F[132,64])) (empty)) (leaf (edge F[666,132] F[132,97])))) (node (edge F[666,133] F[133,79]) (node (edge F[666,133] F[133,61]) (node (edge F[666,133] F[133,39]) (leaf (edge F[666,133] F[133,28])) (empty)) (leaf (edge F[666,133] F[133,73]))) (node (edge F[666,133] F[133,121]) (leaf (edge F[666,133] F[133,109])) (leaf (edge F[666,133] F[133,128])))))) (node (edge F[666,136] F[136,38]) (node (edge F[666,135] F[135,30]) (node (edge F[666,134] F[134,81]) (node (edge F[666,134] F[134,67]) (node (edge F[666,134] F[134,41]) (leaf (edge F[666,134] F[134,31])) (empty)) (leaf (edge F[666,134] F[134,70]))) (node (edge F[666,134] F[134,126]) (node (edge F[666,134] F[134,118]) (leaf (edge F[666,134] F[134,109])) (empty)) (leaf (edge F[666,135] F[135,6])))) (node (edge F[666,135] F[135,110]) (node (edge F[666,135] F[135,69]) (node (edge F[666,135] F[135,65]) (leaf (edge F[666,135] F[135,42])) (empty)) (leaf (edge F[666,135] F[135,80]))) (node (edge F[666,136] F[136,3]) (node (edge F[666,135] F[135,125]) (leaf (edge F[666,135] F[135,119])) (empty)) (leaf (edge F[666,136] F[136,35]))))) (node (edge F[666,137] F[137,63]) (node (edge F[666,136] F[136,113]) (node (edge F[666,136] F[136,86]) (node (edge F[666,136] F[136,76]) (leaf (edge F[666,136] F[136,59])) (empty)) (leaf (edge F[666,136] F[136,112]))) (node (edge F[666,137] F[137,29]) (node (edge F[666,137] F[137,5]) (leaf (edge F[666,136] F[136,127])) (empty)) (leaf (edge F[666,137] F[137,40])))) (node (edge F[666,137] F[137,129]) (node (edge F[666,137] F[137,110]) (node (edge F[666,137] F[137,78]) (leaf (edge F[666,137] F[137,68])) (empty)) (leaf (edge F[666,137] F[137,122]))) (node (edge F[666,138] F[138,37]) (leaf (edge F[666,138] F[138,3])) (leaf (edge F[666,138] F[138,45]))))))) (node (edge F[666,142] F[142,111]) (node (edge F[666,140] F[140,83]) (node (edge F[666,139] F[139,71]) (node (edge F[666,138] F[138,130]) (node (edge F[666,138] F[138,111]) (node (edge F[666,138] F[138,82]) (leaf (edge F[666,138] F[138,77])) (empty)) (leaf (edge F[666,138] F[138,114]))) (node (edge F[666,139] F[139,46]) (node (edge F[666,139] F[139,33]) (leaf (edge F[666,139] F[139,5])) (empty)) (leaf (edge F[666,139] F[139,62])))) (node (edge F[666,140] F[140,4]) (node (edge F[666,139] F[139,115]) (node (edge F[666,139] F[139,108]) (leaf (edge F[666,139] F[139,87])) (empty)) (leaf (edge F[666,139] F[139,131]))) (node (edge F[666,140] F[140,64]) (node (edge F[666,140] F[140,47]) (leaf (edge F[666,140] F[140,34])) (empty)) (leaf (edge F[666,140] F[140,72]))))) (node (edge F[666,141] F[141,112]) (node (edge F[666,141] F[141,32]) (node (edge F[666,140] F[140,132]) (node (edge F[666,140] F[140,116]) (leaf (edge F[666,140] F[140,108])) (empty)) (leaf (edge F[666,141] F[141,6]))) (node (edge F[666,141] F[141,75]) (node (edge F[666,141] F[141,60]) (leaf (edge F[666,141] F[141,44])) (empty)) (leaf (edge F[666,141] F[141,84])))) (node (edge F[666,142] F[142,43]) (node (edge F[666,142] F[142,7]) (node (edge F[666,141] F[141,123]) (leaf (edge F[666,141] F[141,120])) (empty)) (leaf (edge F[666,142] F[142,36]))) (node (edge F[666,142] F[142,74]) (leaf (edge F[666,142] F[142,66])) (leaf (edge F[666,142] F[142,85])))))) (node (edge F[666,145] F[145,33]) (node (edge F[666,143] F[143,125]) (node (edge F[666,143] F[143,46]) (node (edge F[666,143] F[143,9]) (node (edge F[666,142] F[142,124]) (leaf (edge F[666,142] F[142,117])) (empty)) (leaf (edge F[666,143] F[143,28]))) (node (edge F[666,143] F[143,78]) (node (edge F[666,143] F[143,77]) (leaf (edge F[666,143] F[143,53])) (empty)) (leaf (edge F[666,143] F[143,103])))) (node (edge F[666,144] F[144,69]) (node (edge F[666,144] F[144,41]) (node (edge F[666,144] F[144,34]) (leaf (edge F[666,144] F[144,11])) (empty)) (leaf (edge F[666,144] F[144,57]))) (node (edge F[666,144] F[144,130]) (node (edge F[666,144] F[144,103]) (leaf (edge F[666,144] F[144,85])) (empty)) (leaf (edge F[666,145] F[145,12]))))) (node (edge F[666,146] F[146,56]) (node (edge F[666,145] F[145,107]) (node (edge F[666,145] F[145,70]) (node (edge F[666,145] F[145,55]) (leaf (edge F[666,145] F[145,42])) (empty)) (leaf (edge F[666,145] F[145,84]))) (node (edge F[666,146] F[146,37]) (node (edge F[666,146] F[146,9]) (leaf (edge F[666,145] F[145,127])) (empty)) (leaf (edge F[666,146] F[146,44])))) (node (edge F[666,147] F[147,8]) (node (edge F[666,146] F[146,104]) (node (edge F[666,146] F[146,80]) (leaf (edge F[666,146] F[146,73])) (empty)) (leaf (edge F[666,146] F[146,129]))) (node (edge F[666,147] F[147,40]) (leaf (edge F[666,147] F[147,32])) (leaf (edge F[666,147] F[147,48])))))))))) (node (edge F[666,180] F[180,20]) (node (edge F[666,165] F[165,74]) (node (edge F[666,156] F[156,142]) (node (edge F[666,152] F[152,50]) (node (edge F[666,150] F[150,10]) (node (edge F[666,148] F[148,106]) (node (edge F[666,148] F[148,36]) (node (edge F[666,147] F[147,132]) (node (edge F[666,147] F[147,105]) (leaf (edge F[666,147] F[147,87])) (empty)) (leaf (edge F[666,148] F[148,8]))) (node (edge F[666,148] F[148,75]) (node (edge F[666,148] F[148,49]) (leaf (edge F[666,148] F[148,39])) (empty)) (leaf (edge F[666,148] F[148,83])))) (node (edge F[666,149] F[149,54]) (node (edge F[666,149] F[149,35]) (node (edge F[666,149] F[149,10]) (leaf (edge F[666,148] F[148,131])) (empty)) (leaf (edge F[666,149] F[149,43]))) (node (edge F[666,149] F[149,104]) (node (edge F[666,149] F[149,81]) (leaf (edge F[666,149] F[149,68])) (empty)) (leaf (edge F[666,149] F[149,128]))))) (node (edge F[666,151] F[151,38]) (node (edge F[666,150] F[150,79]) (node (edge F[666,150] F[150,52]) (node (edge F[666,150] F[150,47]) (leaf (edge F[666,150] F[150,29])) (empty)) (leaf (edge F[666,150] F[150,76]))) (node (edge F[666,151] F[151,11]) (node (edge F[666,150] F[150,126]) (leaf (edge F[666,150] F[150,107])) (empty)) (leaf (edge F[666,151] F[151,30])))) (node (edge F[666,151] F[151,124]) (node (edge F[666,151] F[151,82]) (node (edge F[666,151] F[151,72]) (leaf (edge F[666,151] F[151,51])) (empty)) (leaf (edge F[666,151] F[151,105]))) (node (edge F[666,152] F[152,31]) (leaf (edge F[666,152] F[152,12])) (leaf (edge F[666,152] F[152,45])))))) (node (edge F[666,154] F[154,99]) (node (edge F[666,153] F[153,84]) (node (edge F[666,153] F[153,4]) (node (edge F[666,152] F[152,106]) (node (edge F[666,152] F[152,86]) (leaf (edge F[666,152] F[152,71])) (empty)) (leaf (edge F[666,152] F[152,123]))) (node (edge F[666,153] F[153,63]) (node (edge F[666,153] F[153,57]) (leaf (edge F[666,153] F[153,43])) (empty)) (leaf (edge F[666,153] F[153,71])))) (node (edge F[666,154] F[154,44]) (node (edge F[666,153] F[153,144]) (node (edge F[666,153] F[153,133]) (leaf (edge F[666,153] F[153,100])) (empty)) (leaf (edge F[666,154] F[154,5]))) (node (edge F[666,154] F[154,72]) (node (edge F[666,154] F[154,61]) (leaf (edge F[666,154] F[154,55])) (empty)) (leaf (edge F[666,154] F[154,85]))))) (node (edge F[666,155] F[155,141]) (node (edge F[666,155] F[155,51]) (node (edge F[666,155] F[155,6]) (node (edge F[666,154] F[154,145]) (leaf (edge F[666,154] F[154,137])) (empty)) (leaf (edge F[666,155] F[155,45]))) (node (edge F[666,155] F[155,79]) (node (edge F[666,155] F[155,68]) (leaf (edge F[666,155] F[155,62])) (empty)) (leaf (edge F[666,155] F[155,99])))) (node (edge F[666,156] F[156,64]) (node (edge F[666,156] F[156,38]) (node (edge F[666,156] F[156,7]) (leaf (edge F[666,155] F[155,151])) (empty)) (leaf (edge F[666,156] F[156,50]))) (node (edge F[666,156] F[156,78]) (leaf (edge F[666,156] F[156,73])) (leaf (edge F[666,156] F[156,100]))))))) (node (edge F[666,161] F[161,42]) (node (edge F[666,159] F[159,3]) (node (edge F[666,157] F[157,148]) (node (edge F[666,157] F[157,59]) (node (edge F[666,157] F[157,47]) (node (edge F[666,157] F[157,7]) (leaf (edge F[666,156] F[156,152])) (empty)) (leaf (edge F[666,157] F[157,49]))) (node (edge F[666,157] F[157,99]) (node (edge F[666,157] F[157,80]) (leaf (edge F[666,157] F[157,77])) (empty)) (leaf (edge F[666,157] F[157,134])))) (node (edge F[666,158] F[158,69]) (node (edge F[666,158] F[158,52]) (node (edge F[666,158] F[158,39]) (leaf (edge F[666,158] F[158,5])) (empty)) (leaf (edge F[666,158] F[158,60]))) (node (edge F[666,158] F[158,139]) (node (edge F[666,158] F[158,100]) (leaf (edge F[666,158] F[158,82])) (empty)) (leaf (edge F[666,158] F[158,150]))))) (node (edge F[666,160] F[160,46]) (node (edge F[666,159] F[159,87]) (node (edge F[666,159] F[159,65]) (node (edge F[666,159] F[159,54]) (leaf (edge F[666,159] F[159,41])) (empty)) (leaf (edge F[666,159] F[159,75]))) (node (edge F[666,159] F[159,149]) (node (edge F[666,159] F[159,138]) (leaf (edge F[666,159] F[159,99])) (empty)) (leaf (edge F[666,160] F[160,6])))) (node (edge F[666,160] F[160,100]) (node (edge F[666,160] F[160,76]) (node (edge F[666,160] F[160,58]) (leaf (edge F[666,160] F[160,48])) (empty)) (leaf (edge F[666,160] F[160,81]))) (node (edge F[666,160] F[160,147]) (leaf (edge F[666,160] F[160,135])) (leaf (edge F[666,161] F[161,3])))))) (node (edge F[666,163] F[163,49]) (node (edge F[666,162] F[162,53]) (node (edge F[666,161] F[161,100]) (node (edge F[666,161] F[161,74]) (node (edge F[666,161] F[161,67]) (leaf (edge F[666,161] F[161,56])) (empty)) (leaf (edge F[666,161] F[161,83]))) (node (edge F[666,162] F[162,4]) (node (edge F[666,161] F[161,146]) (leaf (edge F[666,161] F[161,136])) (empty)) (leaf (edge F[666,162] F[162,40])))) (node (edge F[666,162] F[162,140]) (node (edge F[666,162] F[162,86]) (node (edge F[666,162] F[162,70]) (leaf (edge F[666,162] F[162,66])) (empty)) (leaf (edge F[666,162] F[162,99]))) (node (edge F[666,163] F[163,19]) (node (edge F[666,163] F[163,3]) (leaf (edge F[666,162] F[162,143])) (empty)) (leaf (edge F[666,163] F[163,48]))))) (node (edge F[666,164] F[164,75]) (node (edge F[666,163] F[163,154]) (node (edge F[666,163] F[163,89]) (node (edge F[666,163] F[163,72]) (leaf (edge F[666,163] F[163,71])) (empty)) (leaf (edge F[666,163] F[163,153]))) (node (edge F[666,164] F[164,50]) (node (edge F[666,164] F[164,20]) (leaf (edge F[666,164] F[164,4])) (empty)) (leaf (edge F[666,164] F[164,55])))) (node (edge F[666,165] F[165,5]) (node (edge F[666,164] F[164,159]) (node (edge F[666,164] F[164,89]) (leaf (edge F[666,164] F[164,76])) (empty)) (leaf (edge F[666,164] F[164,160]))) (node (edge F[666,165] F[165,51]) (leaf (edge F[666,165] F[165,18])) (leaf (edge F[666,165] F[165,57])))))))) (node (edge F[666,172] F[172,106]) (node (edge F[666,169] F[169,80]) (node (edge F[666,167] F[167,89]) (node (edge F[666,166] F[166,73]) (node (edge F[666,166] F[166,6]) (node (edge F[666,165] F[165,157]) (node (edge F[666,165] F[165,89]) (leaf (edge F[666,165] F[165,77])) (empty)) (leaf (edge F[666,165] F[165,161]))) (node (edge F[666,166] F[166,54]) (node (edge F[666,166] F[166,52]) (leaf (edge F[666,166] F[166,22])) (empty)) (leaf (edge F[666,166] F[166,70])))) (node (edge F[666,167] F[167,21]) (node (edge F[666,166] F[166,162]) (node (edge F[666,166] F[166,156]) (leaf (edge F[666,166] F[166,89])) (empty)) (leaf (edge F[666,167] F[167,7]))) (node (edge F[666,167] F[167,68]) (node (edge F[666,167] F[167,56]) (leaf (edge F[666,167] F[167,53])) (empty)) (leaf (edge F[666,167] F[167,69]))))) (node (edge F[666,168] F[168,104]) (node (edge F[666,168] F[168,41]) (node (edge F[666,168] F[168,8]) (node (edge F[666,167] F[167,158]) (leaf (edge F[666,167] F[167,155])) (empty)) (leaf (edge F[666,168] F[168,19]))) (node (edge F[666,168] F[168,79]) (node (edge F[666,168] F[168,78]) (leaf (edge F[666,168] F[168,42])) (empty)) (leaf (edge F[666,168] F[168,90])))) (node (edge F[666,169] F[169,12]) (node (edge F[666,168] F[168,155]) (node (edge F[666,168] F[168,145]) (leaf (edge F[666,168] F[168,144])) (empty)) (leaf (edge F[666,168] F[168,156]))) (node (edge F[666,169] F[169,40]) (leaf (edge F[666,169] F[169,20])) (leaf (edge F[666,169] F[169,43])))))) (node (edge F[666,171] F[171,10]) (node (edge F[666,170] F[170,39]) (node (edge F[666,169] F[169,149]) (node (edge F[666,169] F[169,103]) (node (edge F[666,169] F[169,91]) (leaf (edge F[666,169] F[169,82])) (empty)) (leaf (edge F[666,169] F[169,147]))) (node (edge F[666,170] F[170,11]) (node (edge F[666,169] F[169,158]) (leaf (edge F[666,169] F[169,157])) (empty)) (leaf (edge F[666,170] F[170,18])))) (node (edge F[666,170] F[170,107]) (node (edge F[666,170] F[170,86]) (node (edge F[666,170] F[170,81]) (leaf (edge F[666,170] F[170,44])) (empty)) (leaf (edge F[666,170] F[170,93]))) (node (edge F[666,170] F[170,160]) (node (edge F[666,170] F[170,148]) (leaf (edge F[666,170] F[170,146])) (empty)) (leaf (edge F[666,170] F[170,162]))))) (node (edge F[666,171] F[171,154]) (node (edge F[666,171] F[171,85]) (node (edge F[666,171] F[171,46]) (node (edge F[666,171] F[171,45]) (leaf (edge F[666,171] F[171,22])) (empty)) (leaf (edge F[666,171] F[171,83]))) (node (edge F[666,171] F[171,143]) (node (edge F[666,171] F[171,105]) (leaf (edge F[666,171] F[171,94])) (empty)) (leaf (edge F[666,171] F[171,152])))) (node (edge F[666,172] F[172,47]) (node (edge F[666,172] F[172,21]) (node (edge F[666,172] F[172,9]) (leaf (edge F[666,171] F[171,161])) (empty)) (leaf (edge F[666,172] F[172,38]))) (node (edge F[666,172] F[172,87]) (leaf (edge F[666,172] F[172,84])) (leaf (edge F[666,172] F[172,92]))))))) (node (edge F[666,176] F[176,35]) (node (edge F[666,174] F[174,81]) (node (edge F[666,173] F[173,82]) (node (edge F[666,173] F[173,8]) (node (edge F[666,172] F[172,153]) (node (edge F[666,172] F[172,151]) (leaf (edge F[666,172] F[172,150])) (empty)) (leaf (edge F[666,172] F[172,159]))) (node (edge F[666,173] F[173,28]) (node (edge F[666,173] F[173,23]) (leaf (edge F[666,173] F[173,22])) (empty)) (leaf (edge F[666,173] F[173,76])))) (node (edge F[666,174] F[174,9]) (node (edge F[666,173] F[173,129]) (node (edge F[666,173] F[173,119]) (leaf (edge F[666,173] F[173,101])) (empty)) (leaf (edge F[666,173] F[173,133]))) (node (edge F[666,174] F[174,33]) (node (edge F[666,174] F[174,26]) (leaf (edge F[666,174] F[174,19])) (empty)) (leaf (edge F[666,174] F[174,74]))))) (node (edge F[666,175] F[175,80]) (node (edge F[666,175] F[175,10]) (node (edge F[666,174] F[174,123]) (node (edge F[666,174] F[174,113]) (leaf (edge F[666,174] F[174,101])) (empty)) (leaf (edge F[666,174] F[174,139]))) (node (edge F[666,175] F[175,34]) (node (edge F[666,175] F[175,23]) (leaf (edge F[666,175] F[175,19])) (empty)) (leaf (edge F[666,175] F[175,75])))) (node (edge F[666,175] F[175,173]) (node (edge F[666,175] F[175,124]) (node (edge F[666,175] F[175,114]) (leaf (edge F[666,175] F[175,102])) (empty)) (leaf (edge F[666,175] F[175,140]))) (node (edge F[666,176] F[176,20]) (leaf (edge F[666,176] F[176,11])) (leaf (edge F[666,176] F[176,24])))))) (node (edge F[666,178] F[178,37]) (node (edge F[666,177] F[177,36]) (node (edge F[666,176] F[176,126]) (node (edge F[666,176] F[176,101]) (node (edge F[666,176] F[176,78]) (leaf (edge F[666,176] F[176,71])) (empty)) (leaf (edge F[666,176] F[176,121]))) (node (edge F[666,177] F[177,18]) (node (edge F[666,177] F[177,10]) (leaf (edge F[666,176] F[176,136])) (empty)) (leaf (edge F[666,177] F[177,25])))) (node (edge F[666,177] F[177,132]) (node (edge F[666,177] F[177,101]) (node (edge F[666,177] F[177,84]) (leaf (edge F[666,177] F[177,69])) (empty)) (leaf (edge F[666,177] F[177,115]))) (node (edge F[666,178] F[178,18]) (node (edge F[666,178] F[178,12]) (leaf (edge F[666,177] F[177,142])) (empty)) (leaf (edge F[666,178] F[178,24]))))) (node (edge F[666,179] F[179,27]) (node (edge F[666,178] F[178,125]) (node (edge F[666,178] F[178,102]) (node (edge F[666,178] F[178,79]) (leaf (edge F[666,178] F[178,72])) (empty)) (leaf (edge F[666,178] F[178,122]))) (node (edge F[666,179] F[179,12]) (node (edge F[666,178] F[178,176]) (leaf (edge F[666,178] F[178,138])) (empty)) (leaf (edge F[666,179] F[179,21])))) (node (edge F[666,179] F[179,117]) (node (edge F[666,179] F[179,83]) (node (edge F[666,179] F[179,73]) (leaf (edge F[666,179] F[179,30])) (empty)) (leaf (edge F[666,179] F[179,101]))) (node (edge F[666,179] F[179,135]) (leaf (edge F[666,179] F[179,130])) (leaf (edge F[666,180] F[180,9]))))))))) (node (edge F[666,194] F[194,163]) (node (edge F[666,187] F[187,86]) (node (edge F[666,183] F[183,114]) (node (edge F[666,181] F[181,174]) (node (edge F[666,181] F[181,8]) (node (edge F[666,180] F[180,102]) (node (edge F[666,180] F[180,70]) (node (edge F[666,180] F[180,32]) (leaf (edge F[666,180] F[180,27])) (empty)) (leaf (edge F[666,180] F[180,85]))) (node (edge F[666,180] F[180,141]) (node (edge F[666,180] F[180,131]) (leaf (edge F[666,180] F[180,116])) (empty)) (leaf (edge F[666,180] F[180,179])))) (node (edge F[666,181] F[181,86]) (node (edge F[666,181] F[181,29]) (node (edge F[666,181] F[181,26]) (leaf (edge F[666,181] F[181,21])) (empty)) (leaf (edge F[666,181] F[181,77]))) (node (edge F[666,181] F[181,128]) (node (edge F[666,181] F[181,118]) (leaf (edge F[666,181] F[181,102])) (empty)) (leaf (edge F[666,181] F[181,137]))))) (node (edge F[666,182] F[182,134]) (node (edge F[666,182] F[182,68]) (node (edge F[666,182] F[182,25]) (node (edge F[666,182] F[182,22]) (leaf (edge F[666,182] F[182,11])) (empty)) (leaf (edge F[666,182] F[182,31]))) (node (edge F[666,182] F[182,120]) (node (edge F[666,182] F[182,102]) (leaf (edge F[666,182] F[182,87])) (empty)) (leaf (edge F[666,182] F[182,127])))) (node (edge F[666,183] F[183,28]) (node (edge F[666,183] F[183,17]) (node (edge F[666,183] F[183,7]) (leaf (edge F[666,182] F[182,177])) (empty)) (leaf (edge F[666,183] F[183,24]))) (node (edge F[666,183] F[183,87]) (leaf (edge F[666,183] F[183,44])) (leaf (edge F[666,183] F[183,95])))))) (node (edge F[666,185] F[185,117]) (node (edge F[666,184] F[184,120]) (node (edge F[666,184] F[184,27]) (node (edge F[666,184] F[184,3]) (node (edge F[666,183] F[183,154]) (leaf (edge F[666,183] F[183,147])) (empty)) (leaf (edge F[666,184] F[184,14]))) (node (edge F[666,184] F[184,79]) (node (edge F[666,184] F[184,40]) (leaf (edge F[666,184] F[184,36])) (empty)) (leaf (edge F[666,184] F[184,95])))) (node (edge F[666,185] F[185,25]) (node (edge F[666,185] F[185,3]) (node (edge F[666,184] F[184,162]) (leaf (edge F[666,184] F[184,150])) (empty)) (leaf (edge F[666,185] F[185,15]))) (node (edge F[666,185] F[185,78]) (node (edge F[666,185] F[185,39]) (leaf (edge F[666,185] F[185,32])) (empty)) (leaf (edge F[666,185] F[185,96]))))) (node (edge F[666,186] F[186,118]) (node (edge F[666,186] F[186,25]) (node (edge F[666,186] F[186,4]) (node (edge F[666,185] F[185,158]) (leaf (edge F[666,185] F[185,143])) (empty)) (leaf (edge F[666,186] F[186,13]))) (node (edge F[666,186] F[186,80]) (node (edge F[666,186] F[186,45]) (leaf (edge F[666,186] F[186,33])) (empty)) (leaf (edge F[666,186] F[186,95])))) (node (edge F[666,187] F[187,16]) (node (edge F[666,186] F[186,185]) (node (edge F[666,186] F[186,155]) (leaf (edge F[666,186] F[186,146])) (empty)) (leaf (edge F[666,187] F[187,5]))) (node (edge F[666,187] F[187,30]) (leaf (edge F[666,187] F[187,23])) (leaf (edge F[666,187] F[187,41]))))))) (node (edge F[666,191] F[191,26]) (node (edge F[666,189] F[189,46]) (node (edge F[666,188] F[188,81]) (node (edge F[666,188] F[188,5]) (node (edge F[666,187] F[187,152]) (node (edge F[666,187] F[187,116]) (leaf (edge F[666,187] F[187,95])) (empty)) (leaf (edge F[666,187] F[187,159]))) (node (edge F[666,188] F[188,34]) (node (edge F[666,188] F[188,27]) (leaf (edge F[666,188] F[188,13])) (empty)) (leaf (edge F[666,188] F[188,38])))) (node (edge F[666,188] F[188,184]) (node (edge F[666,188] F[188,149]) (node (edge F[666,188] F[188,119]) (leaf (edge F[666,188] F[188,96])) (empty)) (leaf (edge F[666,188] F[188,156]))) (node (edge F[666,189] F[189,23]) (node (edge F[666,189] F[189,14]) (leaf (edge F[666,189] F[189,7])) (empty)) (leaf (edge F[666,189] F[189,37]))))) (node (edge F[666,190] F[190,35]) (node (edge F[666,189] F[189,160]) (node (edge F[666,189] F[189,121]) (node (edge F[666,189] F[189,96]) (leaf (edge F[666,189] F[189,84])) (empty)) (leaf (edge F[666,189] F[189,145]))) (node (edge F[666,190] F[190,15]) (node (edge F[666,190] F[190,6]) (leaf (edge F[666,189] F[189,187])) (empty)) (leaf (edge F[666,190] F[190,26])))) (node (edge F[666,190] F[190,144]) (node (edge F[666,190] F[190,95]) (node (edge F[666,190] F[190,85]) (leaf (edge F[666,190] F[190,47])) (empty)) (leaf (edge F[666,190] F[190,122]))) (node (edge F[666,191] F[191,4]) (leaf (edge F[666,190] F[190,157])) (leaf (edge F[666,191] F[191,17])))))) (node (edge F[666,193] F[193,9]) (node (edge F[666,192] F[192,16]) (node (edge F[666,191] F[191,115]) (node (edge F[666,191] F[191,82]) (node (edge F[666,191] F[191,42]) (leaf (edge F[666,191] F[191,31])) (empty)) (leaf (edge F[666,191] F[191,96]))) (node (edge F[666,191] F[191,190]) (node (edge F[666,191] F[191,161]) (leaf (edge F[666,191] F[191,151])) (empty)) (leaf (edge F[666,192] F[192,6])))) (node (edge F[666,192] F[192,96]) (node (edge F[666,192] F[192,43]) (node (edge F[666,192] F[192,29]) (leaf (edge F[666,192] F[192,24])) (empty)) (leaf (edge F[666,192] F[192,83]))) (node (edge F[666,192] F[192,153]) (node (edge F[666,192] F[192,148]) (leaf (edge F[666,192] F[192,113])) (empty)) (leaf (edge F[666,192] F[192,183]))))) (node (edge F[666,193] F[193,191]) (node (edge F[666,193] F[193,68]) (node (edge F[666,193] F[193,49]) (node (edge F[666,193] F[193,23]) (leaf (edge F[666,193] F[193,17])) (empty)) (leaf (edge F[666,193] F[193,64]))) (node (edge F[666,193] F[193,163]) (node (edge F[666,193] F[193,149]) (leaf (edge F[666,193] F[193,107])) (empty)) (leaf (edge F[666,193] F[193,180])))) (node (edge F[666,194] F[194,62]) (node (edge F[666,194] F[194,26]) (node (edge F[666,194] F[194,16]) (leaf (edge F[666,194] F[194,10])) (empty)) (leaf (edge F[666,194] F[194,48]))) (node (edge F[666,194] F[194,103]) (leaf (edge F[666,194] F[194,73])) (leaf (edge F[666,194] F[194,146])))))))) (node (edge F[666,201] F[201,71]) (node (edge F[666,198] F[198,13]) (node (edge F[666,196] F[196,106]) (node (edge F[666,195] F[195,144]) (node (edge F[666,195] F[195,24]) (node (edge F[666,195] F[195,9]) (node (edge F[666,194] F[194,187]) (leaf (edge F[666,194] F[194,177])) (empty)) (leaf (edge F[666,195] F[195,14]))) (node (edge F[666,195] F[195,69]) (node (edge F[666,195] F[195,59]) (leaf (edge F[666,195] F[195,50])) (empty)) (leaf (edge F[666,195] F[195,105])))) (node (edge F[666,196] F[196,15]) (node (edge F[666,195] F[195,184]) (node (edge F[666,195] F[195,174]) (leaf (edge F[666,195] F[195,164])) (empty)) (leaf (edge F[666,196] F[196,10]))) (node (edge F[666,196] F[196,58]) (node (edge F[666,196] F[196,51]) (leaf (edge F[666,196] F[196,24])) (empty)) (leaf (edge F[666,196] F[196,70]))))) (node (edge F[666,197] F[197,61]) (node (edge F[666,196] F[196,195]) (node (edge F[666,196] F[196,175]) (node (edge F[666,196] F[196,165]) (leaf (edge F[666,196] F[196,145])) (empty)) (leaf (edge F[666,196] F[196,185]))) (node (edge F[666,197] F[197,23]) (node (edge F[666,197] F[197,13]) (leaf (edge F[666,197] F[197,11])) (empty)) (leaf (edge F[666,197] F[197,52])))) (node (edge F[666,197] F[197,176]) (node (edge F[666,197] F[197,147]) (node (edge F[666,197] F[197,106]) (leaf (edge F[666,197] F[197,74])) (empty)) (leaf (edge F[666,197] F[197,166]))) (node (edge F[666,197] F[197,193]) (leaf (edge F[666,197] F[197,186])) (leaf (edge F[666,198] F[198,12])))))) (node (edge F[666,199] F[199,179]) (node (edge F[666,198] F[198,194]) (node (edge F[666,198] F[198,105]) (node (edge F[666,198] F[198,63]) (node (edge F[666,198] F[198,53]) (leaf (edge F[666,198] F[198,26])) (empty)) (leaf (edge F[666,198] F[198,75]))) (node (edge F[666,198] F[198,178]) (node (edge F[666,198] F[198,167]) (leaf (edge F[666,198] F[198,148])) (empty)) (leaf (edge F[666,198] F[198,188])))) (node (edge F[666,199] F[199,66]) (node (edge F[666,199] F[199,25]) (node (edge F[666,199] F[199,17]) (leaf (edge F[666,199] F[199,12])) (empty)) (leaf (edge F[666,199] F[199,57]))) (node (edge F[666,199] F[199,150]) (node (edge F[666,199] F[199,104]) (leaf (edge F[666,199] F[199,76])) (empty)) (leaf (edge F[666,199] F[199,165]))))) (node (edge F[666,200] F[200,166]) (node (edge F[666,200] F[200,54]) (node (edge F[666,200] F[200,14]) (node (edge F[666,200] F[200,8]) (leaf (edge F[666,199] F[199,183])) (empty)) (leaf (edge F[666,200] F[200,25]))) (node (edge F[666,200] F[200,103]) (node (edge F[666,200] F[200,72]) (leaf (edge F[666,200] F[200,67])) (empty)) (leaf (edge F[666,200] F[200,151])))) (node (edge F[666,201] F[201,15]) (node (edge F[666,200] F[200,199]) (node (edge F[666,200] F[200,189]) (leaf (edge F[666,200] F[200,181])) (empty)) (leaf (edge F[666,201] F[201,8]))) (node (edge F[666,201] F[201,56]) (leaf (edge F[666,201] F[201,27])) (leaf (edge F[666,201] F[201,65]))))))) (node (edge F[666,204] F[204,138]) (node (edge F[666,203] F[203,28]) (node (edge F[666,202] F[202,60]) (node (edge F[666,201] F[201,190]) (node (edge F[666,201] F[201,167]) (node (edge F[666,201] F[201,152]) (leaf (edge F[666,201] F[201,107])) (empty)) (leaf (edge F[666,201] F[201,173]))) (node (edge F[666,202] F[202,27]) (node (edge F[666,202] F[202,16]) (leaf (edge F[666,202] F[202,11])) (empty)) (leaf (edge F[666,202] F[202,55])))) (node (edge F[666,202] F[202,182]) (node (edge F[666,202] F[202,143]) (node (edge F[666,202] F[202,104]) (leaf (edge F[666,202] F[202,77])) (empty)) (leaf (edge F[666,202] F[202,164]))) (node (edge F[666,203] F[203,3]) (node (edge F[666,202] F[202,201]) (leaf (edge F[666,202] F[202,192])) (empty)) (leaf (edge F[666,203] F[203,13]))))) (node (edge F[666,204] F[204,6]) (node (edge F[666,203] F[203,123]) (node (edge F[666,203] F[203,70]) (node (edge F[666,203] F[203,69]) (leaf (edge F[666,203] F[203,29])) (empty)) (leaf (edge F[666,203] F[203,108]))) (node (edge F[666,203] F[203,135]) (node (edge F[666,203] F[203,134]) (leaf (edge F[666,203] F[203,124])) (empty)) (leaf (edge F[666,203] F[203,163])))) (node (edge F[666,204] F[204,77]) (node (edge F[666,204] F[204,36]) (node (edge F[666,204] F[204,34]) (leaf (edge F[666,204] F[204,17])) (empty)) (leaf (edge F[666,204] F[204,71]))) (node (edge F[666,204] F[204,127]) (leaf (edge F[666,204] F[204,109])) (leaf (edge F[666,204] F[204,129])))))) (node (edge F[666,206] F[206,76]) (node (edge F[666,205] F[205,126]) (node (edge F[666,205] F[205,30]) (node (edge F[666,205] F[205,4]) (node (edge F[666,204] F[204,166]) (leaf (edge F[666,204] F[204,139])) (empty)) (leaf (edge F[666,205] F[205,15]))) (node (edge F[666,205] F[205,74]) (node (edge F[666,205] F[205,68]) (leaf (edge F[666,205] F[205,37])) (empty)) (leaf (edge F[666,205] F[205,112])))) (node (edge F[666,206] F[206,7]) (node (edge F[666,205] F[205,142]) (node (edge F[666,205] F[205,137]) (leaf (edge F[666,205] F[205,131])) (empty)) (leaf (edge F[666,205] F[205,164]))) (node (edge F[666,206] F[206,33]) (node (edge F[666,206] F[206,32]) (leaf (edge F[666,206] F[206,16])) (empty)) (leaf (edge F[666,206] F[206,72]))))) (node (edge F[666,207] F[207,35]) (node (edge F[666,206] F[206,140]) (node (edge F[666,206] F[206,130]) (node (edge F[666,206] F[206,128]) (leaf (edge F[666,206] F[206,110])) (empty)) (leaf (edge F[666,206] F[206,136]))) (node (edge F[666,207] F[207,14]) (node (edge F[666,207] F[207,5]) (leaf (edge F[666,206] F[206,167])) (empty)) (leaf (edge F[666,207] F[207,31])))) (node (edge F[666,207] F[207,132]) (node (edge F[666,207] F[207,111]) (node (edge F[666,207] F[207,75]) (leaf (edge F[666,207] F[207,73])) (empty)) (leaf (edge F[666,207] F[207,125]))) (node (edge F[666,207] F[207,141]) (leaf (edge F[666,207] F[207,133])) (leaf (edge F[666,207] F[207,165])))))))))).
structure Fine (n : Nat) : Type :=
fine::
val : Nat
lt : ↑ (val < n) = true
structure Edge (n : Nat) : Type :=
edge::
fst : Fine n
snd : Fine fst.val
inductive Tree (α : Type) : Type
| empty : Tree α
| leaf : α → Tree α
| node : α → Tree α → Tree α → Tree α
def test1 : Tree (Edge 100) := .node (.edge (.fine 5 rfl) (.fine 2 rfl)) .empty (.leaf (.edge (.fine 3 rfl) (.fine 1 rfl)))
def test2 : Tree (Edge 666) := .node (.edge (.fine 147 rfl) (.fine 74 rfl)) (.node (.edge (.fine 110 rfl) (.fine 2 rfl)) (.node (.edge (.fine 85 rfl) (.fine 13 rfl)) (.node (.edge (.fine 60 rfl) (.fine 36 rfl)) (.node (.edge (.fine 43 rfl) (.fine 33 rfl)) (.node (.edge (.fine 29 rfl) (.fine 20 rfl)) (.node (.edge (.fine 8 rfl) (.fine 3 rfl)) (.node (.edge (.fine 4 rfl) (.fine 0 rfl)) (.node (.edge (.fine 2 rfl) (.fine 1 rfl)) (.node (.edge (.fine 2 rfl) (.fine 0 rfl)) (.leaf (.edge (.fine 1 rfl) (.fine 0 rfl))) (.empty)) (.leaf (.edge (.fine 3 rfl) (.fine 0 rfl)))) (.node (.edge (.fine 7 rfl) (.fine 0 rfl)) (.node (.edge (.fine 6 rfl) (.fine 0 rfl)) (.leaf (.edge (.fine 5 rfl) (.fine 0 rfl))) (.empty)) (.leaf (.edge (.fine 8 rfl) (.fine 0 rfl))))) (.node (.edge (.fine 11 rfl) (.fine 0 rfl)) (.node (.edge (.fine 10 rfl) (.fine 0 rfl)) (.node (.edge (.fine 9 rfl) (.fine 7 rfl)) (.leaf (.edge (.fine 9 rfl) (.fine 0 rfl))) (.empty)) (.leaf (.edge (.fine 10 rfl) (.fine 6 rfl)))) (.node (.edge (.fine 12 rfl) (.fine 4 rfl)) (.node (.edge (.fine 12 rfl) (.fine 0 rfl)) (.leaf (.edge (.fine 11 rfl) (.fine 5 rfl))) (.empty)) (.leaf (.edge (.fine 28 rfl) (.fine 18 rfl)))))) (.node (.edge (.fine 38 rfl) (.fine 28 rfl)) (.node (.edge (.fine 34 rfl) (.fine 21 rfl)) (.node (.edge (.fine 32 rfl) (.fine 18 rfl)) (.node (.edge (.fine 31 rfl) (.fine 19 rfl)) (.leaf (.edge (.fine 30 rfl) (.fine 19 rfl))) (.empty)) (.leaf (.edge (.fine 33 rfl) (.fine 22 rfl)))) (.node (.edge (.fine 37 rfl) (.fine 22 rfl)) (.node (.edge (.fine 36 rfl) (.fine 20 rfl)) (.leaf (.edge (.fine 35 rfl) (.fine 21 rfl))) (.empty)) (.leaf (.edge (.fine 38 rfl) (.fine 18 rfl))))) (.node (.edge (.fine 41 rfl) (.fine 18 rfl)) (.node (.edge (.fine 40 rfl) (.fine 19 rfl)) (.node (.edge (.fine 39 rfl) (.fine 30 rfl)) (.leaf (.edge (.fine 39 rfl) (.fine 19 rfl))) (.empty)) (.leaf (.edge (.fine 40 rfl) (.fine 31 rfl)))) (.node (.edge (.fine 42 rfl) (.fine 36 rfl)) (.node (.edge (.fine 42 rfl) (.fine 20 rfl)) (.leaf (.edge (.fine 41 rfl) (.fine 32 rfl))) (.empty)) (.leaf (.edge (.fine 43 rfl) (.fine 22 rfl))))))) (.node (.edge (.fine 52 rfl) (.fine 41 rfl)) (.node (.edge (.fine 48 rfl) (.fine 47 rfl)) (.node (.edge (.fine 46 rfl) (.fine 21 rfl)) (.node (.edge (.fine 45 rfl) (.fine 20 rfl)) (.node (.edge (.fine 44 rfl) (.fine 34 rfl)) (.leaf (.edge (.fine 44 rfl) (.fine 21 rfl))) (.empty)) (.leaf (.edge (.fine 45 rfl) (.fine 29 rfl)))) (.node (.edge (.fine 47 rfl) (.fine 37 rfl)) (.node (.edge (.fine 47 rfl) (.fine 22 rfl)) (.leaf (.edge (.fine 46 rfl) (.fine 35 rfl))) (.empty)) (.leaf (.edge (.fine 48 rfl) (.fine 27 rfl))))) (.node (.edge (.fine 50 rfl) (.fine 49 rfl)) (.node (.edge (.fine 50 rfl) (.fine 25 rfl)) (.node (.edge (.fine 49 rfl) (.fine 46 rfl)) (.leaf (.edge (.fine 49 rfl) (.fine 25 rfl))) (.empty)) (.leaf (.edge (.fine 50 rfl) (.fine 44 rfl)))) (.node (.edge (.fine 51 rfl) (.fine 48 rfl)) (.node (.edge (.fine 51 rfl) (.fine 43 rfl)) (.leaf (.edge (.fine 51 rfl) (.fine 27 rfl))) (.empty)) (.leaf (.edge (.fine 52 rfl) (.fine 26 rfl)))))) (.node (.edge (.fine 56 rfl) (.fine 54 rfl)) (.node (.edge (.fine 55 rfl) (.fine 26 rfl)) (.node (.edge (.fine 54 rfl) (.fine 24 rfl)) (.node (.edge (.fine 53 rfl) (.fine 42 rfl)) (.leaf (.edge (.fine 53 rfl) (.fine 23 rfl))) (.empty)) (.leaf (.edge (.fine 54 rfl) (.fine 39 rfl)))) (.node (.edge (.fine 56 rfl) (.fine 24 rfl)) (.node (.edge (.fine 55 rfl) (.fine 52 rfl)) (.leaf (.edge (.fine 55 rfl) (.fine 38 rfl))) (.empty)) (.leaf (.edge (.fine 56 rfl) (.fine 40 rfl))))) (.node (.edge (.fine 58 rfl) (.fine 28 rfl)) (.node (.edge (.fine 57 rfl) (.fine 53 rfl)) (.node (.edge (.fine 57 rfl) (.fine 45 rfl)) (.leaf (.edge (.fine 57 rfl) (.fine 23 rfl))) (.empty)) (.leaf (.edge (.fine 58 rfl) (.fine 26 rfl)))) (.node (.edge (.fine 59 rfl) (.fine 29 rfl)) (.leaf (.edge (.fine 59 rfl) (.fine 23 rfl))) (.leaf (.edge (.fine 60 rfl) (.fine 23 rfl)))))))) (.node (.edge (.fine 74 rfl) (.fine 34 rfl)) (.node (.edge (.fine 68 rfl) (.fine 14 rfl)) (.node (.edge (.fine 64 rfl) (.fine 62 rfl)) (.node (.edge (.fine 62 rfl) (.fine 31 rfl)) (.node (.edge (.fine 61 rfl) (.fine 37 rfl)) (.node (.edge (.fine 61 rfl) (.fine 27 rfl)) (.leaf (.edge (.fine 60 rfl) (.fine 59 rfl))) (.empty)) (.leaf (.edge (.fine 62 rfl) (.fine 24 rfl)))) (.node (.edge (.fine 64 rfl) (.fine 24 rfl)) (.node (.edge (.fine 63 rfl) (.fine 35 rfl)) (.leaf (.edge (.fine 63 rfl) (.fine 25 rfl))) (.empty)) (.leaf (.edge (.fine 64 rfl) (.fine 30 rfl))))) (.node (.edge (.fine 66 rfl) (.fine 32 rfl)) (.node (.edge (.fine 65 rfl) (.fine 63 rfl)) (.node (.edge (.fine 65 rfl) (.fine 34 rfl)) (.leaf (.edge (.fine 65 rfl) (.fine 25 rfl))) (.empty)) (.leaf (.edge (.fine 66 rfl) (.fine 26 rfl)))) (.node (.edge (.fine 67 rfl) (.fine 33 rfl)) (.node (.edge (.fine 67 rfl) (.fine 27 rfl)) (.leaf (.edge (.fine 66 rfl) (.fine 58 rfl))) (.empty)) (.leaf (.edge (.fine 67 rfl) (.fine 61 rfl)))))) (.node (.edge (.fine 71 rfl) (.fine 32 rfl)) (.node (.edge (.fine 69 rfl) (.fine 61 rfl)) (.node (.edge (.fine 69 rfl) (.fine 17 rfl)) (.node (.edge (.fine 68 rfl) (.fine 58 rfl)) (.leaf (.edge (.fine 68 rfl) (.fine 28 rfl))) (.empty)) (.leaf (.edge (.fine 69 rfl) (.fine 37 rfl)))) (.node (.edge (.fine 70 rfl) (.fine 63 rfl)) (.node (.edge (.fine 70 rfl) (.fine 35 rfl)) (.leaf (.edge (.fine 70 rfl) (.fine 16 rfl))) (.empty)) (.leaf (.edge (.fine 71 rfl) (.fine 14 rfl))))) (.node (.edge (.fine 73 rfl) (.fine 15 rfl)) (.node (.edge (.fine 72 rfl) (.fine 36 rfl)) (.node (.edge (.fine 72 rfl) (.fine 15 rfl)) (.leaf (.edge (.fine 71 rfl) (.fine 66 rfl))) (.empty)) (.leaf (.edge (.fine 72 rfl) (.fine 60 rfl)))) (.node (.edge (.fine 73 rfl) (.fine 59 rfl)) (.leaf (.edge (.fine 73 rfl) (.fine 29 rfl))) (.leaf (.edge (.fine 74 rfl) (.fine 16 rfl))))))) (.node (.edge (.fine 80 rfl) (.fine 38 rfl)) (.node (.edge (.fine 77 rfl) (.fine 64 rfl)) (.node (.edge (.fine 76 rfl) (.fine 13 rfl)) (.node (.edge (.fine 75 rfl) (.fine 33 rfl)) (.node (.edge (.fine 75 rfl) (.fine 17 rfl)) (.leaf (.edge (.fine 74 rfl) (.fine 65 rfl))) (.empty)) (.leaf (.edge (.fine 75 rfl) (.fine 67 rfl)))) (.node (.edge (.fine 77 rfl) (.fine 13 rfl)) (.node (.edge (.fine 76 rfl) (.fine 62 rfl)) (.leaf (.edge (.fine 76 rfl) (.fine 31 rfl))) (.empty)) (.leaf (.edge (.fine 77 rfl) (.fine 30 rfl))))) (.node (.edge (.fine 79 rfl) (.fine 16 rfl)) (.node (.edge (.fine 78 rfl) (.fine 48 rfl)) (.node (.edge (.fine 78 rfl) (.fine 47 rfl)) (.leaf (.edge (.fine 78 rfl) (.fine 17 rfl))) (.empty)) (.leaf (.edge (.fine 78 rfl) (.fine 75 rfl)))) (.node (.edge (.fine 79 rfl) (.fine 74 rfl)) (.node (.edge (.fine 79 rfl) (.fine 49 rfl)) (.leaf (.edge (.fine 79 rfl) (.fine 46 rfl))) (.empty)) (.leaf (.edge (.fine 80 rfl) (.fine 14 rfl)))))) (.node (.edge (.fine 82 rfl) (.fine 70 rfl)) (.node (.edge (.fine 81 rfl) (.fine 57 rfl)) (.node (.edge (.fine 81 rfl) (.fine 15 rfl)) (.node (.edge (.fine 80 rfl) (.fine 71 rfl)) (.leaf (.edge (.fine 80 rfl) (.fine 55 rfl))) (.empty)) (.leaf (.edge (.fine 81 rfl) (.fine 45 rfl)))) (.node (.edge (.fine 82 rfl) (.fine 44 rfl)) (.node (.edge (.fine 82 rfl) (.fine 16 rfl)) (.leaf (.edge (.fine 81 rfl) (.fine 72 rfl))) (.empty)) (.leaf (.edge (.fine 82 rfl) (.fine 50 rfl))))) (.node (.edge (.fine 84 rfl) (.fine 13 rfl)) (.node (.edge (.fine 83 rfl) (.fine 52 rfl)) (.node (.edge (.fine 83 rfl) (.fine 41 rfl)) (.leaf (.edge (.fine 83 rfl) (.fine 14 rfl))) (.empty)) (.leaf (.edge (.fine 83 rfl) (.fine 68 rfl)))) (.node (.edge (.fine 84 rfl) (.fine 56 rfl)) (.leaf (.edge (.fine 84 rfl) (.fine 40 rfl))) (.leaf (.edge (.fine 84 rfl) (.fine 77 rfl))))))))) (.node (.edge (.fine 97 rfl) (.fine 96 rfl)) (.node (.edge (.fine 92 rfl) (.fine 9 rfl)) (.node (.edge (.fine 89 rfl) (.fine 19 rfl)) (.node (.edge (.fine 87 rfl) (.fine 53 rfl)) (.node (.edge (.fine 86 rfl) (.fine 43 rfl)) (.node (.edge (.fine 85 rfl) (.fine 76 rfl)) (.node (.edge (.fine 85 rfl) (.fine 54 rfl)) (.leaf (.edge (.fine 85 rfl) (.fine 39 rfl))) (.empty)) (.leaf (.edge (.fine 86 rfl) (.fine 17 rfl)))) (.node (.edge (.fine 87 rfl) (.fine 15 rfl)) (.node (.edge (.fine 86 rfl) (.fine 69 rfl)) (.leaf (.edge (.fine 86 rfl) (.fine 51 rfl))) (.empty)) (.leaf (.edge (.fine 87 rfl) (.fine 42 rfl))))) (.node (.edge (.fine 88 rfl) (.fine 15 rfl)) (.node (.edge (.fine 88 rfl) (.fine 13 rfl)) (.node (.edge (.fine 88 rfl) (.fine 1 rfl)) (.leaf (.edge (.fine 87 rfl) (.fine 73 rfl))) (.empty)) (.leaf (.edge (.fine 88 rfl) (.fine 14 rfl)))) (.node (.edge (.fine 89 rfl) (.fine 1 rfl)) (.node (.edge (.fine 88 rfl) (.fine 17 rfl)) (.leaf (.edge (.fine 88 rfl) (.fine 16 rfl))) (.empty)) (.leaf (.edge (.fine 89 rfl) (.fine 18 rfl)))))) (.node (.edge (.fine 90 rfl) (.fine 59 rfl)) (.node (.edge (.fine 90 rfl) (.fine 8 rfl)) (.node (.edge (.fine 89 rfl) (.fine 22 rfl)) (.node (.edge (.fine 89 rfl) (.fine 21 rfl)) (.leaf (.edge (.fine 89 rfl) (.fine 20 rfl))) (.empty)) (.leaf (.edge (.fine 89 rfl) (.fine 88 rfl)))) (.node (.edge (.fine 90 rfl) (.fine 44 rfl)) (.node (.edge (.fine 90 rfl) (.fine 43 rfl)) (.leaf (.edge (.fine 90 rfl) (.fine 13 rfl))) (.empty)) (.leaf (.edge (.fine 90 rfl) (.fine 58 rfl))))) (.node (.edge (.fine 91 rfl) (.fine 46 rfl)) (.node (.edge (.fine 91 rfl) (.fine 15 rfl)) (.node (.edge (.fine 91 rfl) (.fine 12 rfl)) (.leaf (.edge (.fine 90 rfl) (.fine 88 rfl))) (.empty)) (.leaf (.edge (.fine 91 rfl) (.fine 41 rfl)))) (.node (.edge (.fine 91 rfl) (.fine 64 rfl)) (.leaf (.edge (.fine 91 rfl) (.fine 61 rfl))) (.leaf (.edge (.fine 91 rfl) (.fine 88 rfl))))))) (.node (.edge (.fine 94 rfl) (.fine 88 rfl)) (.node (.edge (.fine 93 rfl) (.fine 47 rfl)) (.node (.edge (.fine 92 rfl) (.fine 67 rfl)) (.node (.edge (.fine 92 rfl) (.fine 45 rfl)) (.node (.edge (.fine 92 rfl) (.fine 39 rfl)) (.leaf (.edge (.fine 92 rfl) (.fine 16 rfl))) (.empty)) (.leaf (.edge (.fine 92 rfl) (.fine 66 rfl)))) (.node (.edge (.fine 93 rfl) (.fine 14 rfl)) (.node (.edge (.fine 93 rfl) (.fine 11 rfl)) (.leaf (.edge (.fine 92 rfl) (.fine 88 rfl))) (.empty)) (.leaf (.edge (.fine 93 rfl) (.fine 42 rfl))))) (.node (.edge (.fine 94 rfl) (.fine 17 rfl)) (.node (.edge (.fine 93 rfl) (.fine 88 rfl)) (.node (.edge (.fine 93 rfl) (.fine 63 rfl)) (.leaf (.edge (.fine 93 rfl) (.fine 62 rfl))) (.empty)) (.leaf (.edge (.fine 94 rfl) (.fine 10 rfl)))) (.node (.edge (.fine 94 rfl) (.fine 60 rfl)) (.node (.edge (.fine 94 rfl) (.fine 40 rfl)) (.leaf (.edge (.fine 94 rfl) (.fine 38 rfl))) (.empty)) (.leaf (.edge (.fine 94 rfl) (.fine 65 rfl)))))) (.node (.edge (.fine 96 rfl) (.fine 32 rfl)) (.node (.edge (.fine 95 rfl) (.fine 35 rfl)) (.node (.edge (.fine 95 rfl) (.fine 30 rfl)) (.node (.edge (.fine 95 rfl) (.fine 28 rfl)) (.leaf (.edge (.fine 95 rfl) (.fine 1 rfl))) (.empty)) (.leaf (.edge (.fine 95 rfl) (.fine 33 rfl)))) (.node (.edge (.fine 96 rfl) (.fine 29 rfl)) (.node (.edge (.fine 96 rfl) (.fine 1 rfl)) (.leaf (.edge (.fine 95 rfl) (.fine 36 rfl))) (.empty)) (.leaf (.edge (.fine 96 rfl) (.fine 31 rfl))))) (.node (.edge (.fine 97 rfl) (.fine 51 rfl)) (.node (.edge (.fine 97 rfl) (.fine 1 rfl)) (.node (.edge (.fine 96 rfl) (.fine 37 rfl)) (.leaf (.edge (.fine 96 rfl) (.fine 34 rfl))) (.empty)) (.leaf (.edge (.fine 97 rfl) (.fine 49 rfl)))) (.node (.edge (.fine 97 rfl) (.fine 54 rfl)) (.leaf (.edge (.fine 97 rfl) (.fine 53 rfl))) (.leaf (.edge (.fine 97 rfl) (.fine 55 rfl)))))))) (.node (.edge (.fine 103 rfl) (.fine 67 rfl)) (.node (.edge (.fine 101 rfl) (.fine 1 rfl)) (.node (.edge (.fine 99 rfl) (.fine 61 rfl)) (.node (.edge (.fine 98 rfl) (.fine 56 rfl)) (.node (.edge (.fine 98 rfl) (.fine 50 rfl)) (.node (.edge (.fine 98 rfl) (.fine 48 rfl)) (.leaf (.edge (.fine 98 rfl) (.fine 1 rfl))) (.empty)) (.leaf (.edge (.fine 98 rfl) (.fine 52 rfl)))) (.node (.edge (.fine 99 rfl) (.fine 1 rfl)) (.node (.edge (.fine 98 rfl) (.fine 95 rfl)) (.leaf (.edge (.fine 98 rfl) (.fine 57 rfl))) (.empty)) (.leaf (.edge (.fine 99 rfl) (.fine 59 rfl))))) (.node (.edge (.fine 100 rfl) (.fine 58 rfl)) (.node (.edge (.fine 99 rfl) (.fine 66 rfl)) (.node (.edge (.fine 99 rfl) (.fine 65 rfl)) (.leaf (.edge (.fine 99 rfl) (.fine 62 rfl))) (.empty)) (.leaf (.edge (.fine 100 rfl) (.fine 1 rfl)))) (.node (.edge (.fine 100 rfl) (.fine 64 rfl)) (.node (.edge (.fine 100 rfl) (.fine 63 rfl)) (.leaf (.edge (.fine 100 rfl) (.fine 60 rfl))) (.empty)) (.leaf (.edge (.fine 100 rfl) (.fine 67 rfl)))))) (.node (.edge (.fine 102 rfl) (.fine 85 rfl)) (.node (.edge (.fine 101 rfl) (.fine 84 rfl)) (.node (.edge (.fine 101 rfl) (.fine 82 rfl)) (.node (.edge (.fine 101 rfl) (.fine 81 rfl)) (.leaf (.edge (.fine 101 rfl) (.fine 78 rfl))) (.empty)) (.leaf (.edge (.fine 101 rfl) (.fine 83 rfl)))) (.node (.edge (.fine 102 rfl) (.fine 79 rfl)) (.node (.edge (.fine 102 rfl) (.fine 1 rfl)) (.leaf (.edge (.fine 101 rfl) (.fine 99 rfl))) (.empty)) (.leaf (.edge (.fine 102 rfl) (.fine 80 rfl))))) (.node (.edge (.fine 103 rfl) (.fine 20 rfl)) (.node (.edge (.fine 102 rfl) (.fine 100 rfl)) (.node (.edge (.fine 102 rfl) (.fine 87 rfl)) (.leaf (.edge (.fine 102 rfl) (.fine 86 rfl))) (.empty)) (.leaf (.edge (.fine 103 rfl) (.fine 2 rfl)))) (.node (.edge (.fine 103 rfl) (.fine 34 rfl)) (.leaf (.edge (.fine 103 rfl) (.fine 28 rfl))) (.leaf (.edge (.fine 103 rfl) (.fine 62 rfl))))))) (.node (.edge (.fine 107 rfl) (.fine 18 rfl)) (.node (.edge (.fine 105 rfl) (.fine 32 rfl)) (.node (.edge (.fine 104 rfl) (.fine 60 rfl)) (.node (.edge (.fine 104 rfl) (.fine 35 rfl)) (.node (.edge (.fine 104 rfl) (.fine 19 rfl)) (.leaf (.edge (.fine 104 rfl) (.fine 2 rfl))) (.empty)) (.leaf (.edge (.fine 104 rfl) (.fine 37 rfl)))) (.node (.edge (.fine 105 rfl) (.fine 22 rfl)) (.node (.edge (.fine 105 rfl) (.fine 2 rfl)) (.leaf (.edge (.fine 104 rfl) (.fine 66 rfl))) (.empty)) (.leaf (.edge (.fine 105 rfl) (.fine 30 rfl))))) (.node (.edge (.fine 106 rfl) (.fine 31 rfl)) (.node (.edge (.fine 106 rfl) (.fine 2 rfl)) (.node (.edge (.fine 105 rfl) (.fine 63 rfl)) (.leaf (.edge (.fine 105 rfl) (.fine 59 rfl))) (.empty)) (.leaf (.edge (.fine 106 rfl) (.fine 21 rfl)))) (.node (.edge (.fine 106 rfl) (.fine 61 rfl)) (.node (.edge (.fine 106 rfl) (.fine 58 rfl)) (.leaf (.edge (.fine 106 rfl) (.fine 36 rfl))) (.empty)) (.leaf (.edge (.fine 107 rfl) (.fine 2 rfl)))))) (.node (.edge (.fine 108 rfl) (.fine 87 rfl)) (.node (.edge (.fine 108 rfl) (.fine 2 rfl)) (.node (.edge (.fine 107 rfl) (.fine 64 rfl)) (.node (.edge (.fine 107 rfl) (.fine 33 rfl)) (.leaf (.edge (.fine 107 rfl) (.fine 29 rfl))) (.empty)) (.leaf (.edge (.fine 107 rfl) (.fine 65 rfl)))) (.node (.edge (.fine 108 rfl) (.fine 51 rfl)) (.node (.edge (.fine 108 rfl) (.fine 50 rfl)) (.leaf (.edge (.fine 108 rfl) (.fine 13 rfl))) (.empty)) (.leaf (.edge (.fine 108 rfl) (.fine 83 rfl))))) (.node (.edge (.fine 109 rfl) (.fine 56 rfl)) (.node (.edge (.fine 109 rfl) (.fine 17 rfl)) (.node (.edge (.fine 109 rfl) (.fine 2 rfl)) (.leaf (.edge (.fine 108 rfl) (.fine 104 rfl))) (.empty)) (.leaf (.edge (.fine 109 rfl) (.fine 55 rfl)))) (.node (.edge (.fine 109 rfl) (.fine 81 rfl)) (.leaf (.edge (.fine 109 rfl) (.fine 79 rfl))) (.leaf (.edge (.fine 109 rfl) (.fine 105 rfl)))))))))) (.node (.edge (.fine 129 rfl) (.fine 41 rfl)) (.node (.edge (.fine 119 rfl) (.fine 112 rfl)) (.node (.edge (.fine 115 rfl) (.fine 27 rfl)) (.node (.edge (.fine 112 rfl) (.fine 103 rfl)) (.node (.edge (.fine 111 rfl) (.fine 53 rfl)) (.node (.edge (.fine 110 rfl) (.fine 80 rfl)) (.node (.edge (.fine 110 rfl) (.fine 57 rfl)) (.node (.edge (.fine 110 rfl) (.fine 54 rfl)) (.leaf (.edge (.fine 110 rfl) (.fine 16 rfl))) (.empty)) (.leaf (.edge (.fine 110 rfl) (.fine 78 rfl)))) (.node (.edge (.fine 111 rfl) (.fine 14 rfl)) (.node (.edge (.fine 111 rfl) (.fine 2 rfl)) (.leaf (.edge (.fine 110 rfl) (.fine 106 rfl))) (.empty)) (.leaf (.edge (.fine 111 rfl) (.fine 48 rfl))))) (.node (.edge (.fine 112 rfl) (.fine 15 rfl)) (.node (.edge (.fine 111 rfl) (.fine 107 rfl)) (.node (.edge (.fine 111 rfl) (.fine 85 rfl)) (.leaf (.edge (.fine 111 rfl) (.fine 82 rfl))) (.empty)) (.leaf (.edge (.fine 112 rfl) (.fine 2 rfl)))) (.node (.edge (.fine 112 rfl) (.fine 84 rfl)) (.node (.edge (.fine 112 rfl) (.fine 52 rfl)) (.leaf (.edge (.fine 112 rfl) (.fine 49 rfl))) (.empty)) (.leaf (.edge (.fine 112 rfl) (.fine 86 rfl)))))) (.node (.edge (.fine 114 rfl) (.fine 19 rfl)) (.node (.edge (.fine 113 rfl) (.fine 53 rfl)) (.node (.edge (.fine 113 rfl) (.fine 25 rfl)) (.node (.edge (.fine 113 rfl) (.fine 19 rfl)) (.leaf (.edge (.fine 113 rfl) (.fine 6 rfl))) (.empty)) (.leaf (.edge (.fine 113 rfl) (.fine 38 rfl)))) (.node (.edge (.fine 113 rfl) (.fine 111 rfl)) (.node (.edge (.fine 113 rfl) (.fine 91 rfl)) (.leaf (.edge (.fine 113 rfl) (.fine 61 rfl))) (.empty)) (.leaf (.edge (.fine 114 rfl) (.fine 7 rfl))))) (.node (.edge (.fine 114 rfl) (.fine 93 rfl)) (.node (.edge (.fine 114 rfl) (.fine 52 rfl)) (.node (.edge (.fine 114 rfl) (.fine 45 rfl)) (.leaf (.edge (.fine 114 rfl) (.fine 27 rfl))) (.empty)) (.leaf (.edge (.fine 114 rfl) (.fine 63 rfl)))) (.node (.edge (.fine 115 rfl) (.fine 4 rfl)) (.leaf (.edge (.fine 114 rfl) (.fine 112 rfl))) (.leaf (.edge (.fine 115 rfl) (.fine 18 rfl))))))) (.node (.edge (.fine 117 rfl) (.fine 55 rfl)) (.node (.edge (.fine 116 rfl) (.fine 47 rfl)) (.node (.edge (.fine 115 rfl) (.fine 110 rfl)) (.node (.edge (.fine 115 rfl) (.fine 59 rfl)) (.node (.edge (.fine 115 rfl) (.fine 54 rfl)) (.leaf (.edge (.fine 115 rfl) (.fine 46 rfl))) (.empty)) (.leaf (.edge (.fine 115 rfl) (.fine 90 rfl)))) (.node (.edge (.fine 116 rfl) (.fine 20 rfl)) (.node (.edge (.fine 116 rfl) (.fine 5 rfl)) (.leaf (.edge (.fine 115 rfl) (.fine 114 rfl))) (.empty)) (.leaf (.edge (.fine 116 rfl) (.fine 25 rfl))))) (.node (.edge (.fine 116 rfl) (.fine 113 rfl)) (.node (.edge (.fine 116 rfl) (.fine 90 rfl)) (.node (.edge (.fine 116 rfl) (.fine 58 rfl)) (.leaf (.edge (.fine 116 rfl) (.fine 56 rfl))) (.empty)) (.leaf (.edge (.fine 116 rfl) (.fine 109 rfl)))) (.node (.edge (.fine 117 rfl) (.fine 23 rfl)) (.node (.edge (.fine 117 rfl) (.fine 21 rfl)) (.leaf (.edge (.fine 117 rfl) (.fine 3 rfl))) (.empty)) (.leaf (.edge (.fine 117 rfl) (.fine 43 rfl)))))) (.node (.edge (.fine 118 rfl) (.fine 94 rfl)) (.node (.edge (.fine 118 rfl) (.fine 21 rfl)) (.node (.edge (.fine 117 rfl) (.fine 109 rfl)) (.node (.edge (.fine 117 rfl) (.fine 93 rfl)) (.leaf (.edge (.fine 117 rfl) (.fine 62 rfl))) (.empty)) (.leaf (.edge (.fine 118 rfl) (.fine 4 rfl)))) (.node (.edge (.fine 118 rfl) (.fine 48 rfl)) (.node (.edge (.fine 118 rfl) (.fine 41 rfl)) (.leaf (.edge (.fine 118 rfl) (.fine 24 rfl))) (.empty)) (.leaf (.edge (.fine 118 rfl) (.fine 60 rfl))))) (.node (.edge (.fine 119 rfl) (.fine 42 rfl)) (.node (.edge (.fine 119 rfl) (.fine 22 rfl)) (.node (.edge (.fine 119 rfl) (.fine 5 rfl)) (.leaf (.edge (.fine 118 rfl) (.fine 111 rfl))) (.empty)) (.leaf (.edge (.fine 119 rfl) (.fine 24 rfl)))) (.node (.edge (.fine 119 rfl) (.fine 66 rfl)) (.leaf (.edge (.fine 119 rfl) (.fine 49 rfl))) (.leaf (.edge (.fine 119 rfl) (.fine 92 rfl)))))))) (.node (.edge (.fine 124 rfl) (.fine 56 rfl)) (.node (.edge (.fine 122 rfl) (.fine 18 rfl)) (.node (.edge (.fine 121 rfl) (.fine 7 rfl)) (.node (.edge (.fine 120 rfl) (.fine 44 rfl)) (.node (.edge (.fine 120 rfl) (.fine 22 rfl)) (.node (.edge (.fine 120 rfl) (.fine 3 rfl)) (.leaf (.edge (.fine 119 rfl) (.fine 118 rfl))) (.empty)) (.leaf (.edge (.fine 120 rfl) (.fine 26 rfl)))) (.node (.edge (.fine 120 rfl) (.fine 91 rfl)) (.node (.edge (.fine 120 rfl) (.fine 64 rfl)) (.leaf (.edge (.fine 120 rfl) (.fine 57 rfl))) (.empty)) (.leaf (.edge (.fine 120 rfl) (.fine 110 rfl))))) (.node (.edge (.fine 121 rfl) (.fine 65 rfl)) (.node (.edge (.fine 121 rfl) (.fine 39 rfl)) (.node (.edge (.fine 121 rfl) (.fine 26 rfl)) (.leaf (.edge (.fine 121 rfl) (.fine 20 rfl))) (.empty)) (.leaf (.edge (.fine 121 rfl) (.fine 51 rfl)))) (.node (.edge (.fine 121 rfl) (.fine 120 rfl)) (.node (.edge (.fine 121 rfl) (.fine 108 rfl)) (.leaf (.edge (.fine 121 rfl) (.fine 94 rfl))) (.empty)) (.leaf (.edge (.fine 122 rfl) (.fine 6 rfl)))))) (.node (.edge (.fine 123 rfl) (.fine 47 rfl)) (.node (.edge (.fine 122 rfl) (.fine 92 rfl)) (.node (.edge (.fine 122 rfl) (.fine 50 rfl)) (.node (.edge (.fine 122 rfl) (.fine 40 rfl)) (.leaf (.edge (.fine 122 rfl) (.fine 23 rfl))) (.empty)) (.leaf (.edge (.fine 122 rfl) (.fine 67 rfl)))) (.node (.edge (.fine 123 rfl) (.fine 12 rfl)) (.node (.edge (.fine 122 rfl) (.fine 117 rfl)) (.leaf (.edge (.fine 122 rfl) (.fine 108 rfl))) (.empty)) (.leaf (.edge (.fine 123 rfl) (.fine 28 rfl))))) (.node (.edge (.fine 123 rfl) (.fine 97 rfl)) (.node (.edge (.fine 123 rfl) (.fine 74 rfl)) (.node (.edge (.fine 123 rfl) (.fine 60 rfl)) (.leaf (.edge (.fine 123 rfl) (.fine 54 rfl))) (.empty)) (.leaf (.edge (.fine 123 rfl) (.fine 93 rfl)))) (.node (.edge (.fine 124 rfl) (.fine 29 rfl)) (.leaf (.edge (.fine 124 rfl) (.fine 11 rfl))) (.leaf (.edge (.fine 124 rfl) (.fine 46 rfl))))))) (.node (.edge (.fine 126 rfl) (.fine 97 rfl)) (.node (.edge (.fine 125 rfl) (.fine 72 rfl)) (.node (.edge (.fine 125 rfl) (.fine 9 rfl)) (.node (.edge (.fine 124 rfl) (.fine 91 rfl)) (.node (.edge (.fine 124 rfl) (.fine 75 rfl)) (.leaf (.edge (.fine 124 rfl) (.fine 66 rfl))) (.empty)) (.leaf (.edge (.fine 124 rfl) (.fine 98 rfl)))) (.node (.edge (.fine 125 rfl) (.fine 52 rfl)) (.node (.edge (.fine 125 rfl) (.fine 43 rfl)) (.leaf (.edge (.fine 125 rfl) (.fine 31 rfl))) (.empty)) (.leaf (.edge (.fine 125 rfl) (.fine 65 rfl))))) (.node (.edge (.fine 126 rfl) (.fine 44 rfl)) (.node (.edge (.fine 126 rfl) (.fine 10 rfl)) (.node (.edge (.fine 125 rfl) (.fine 98 rfl)) (.leaf (.edge (.fine 125 rfl) (.fine 90 rfl))) (.empty)) (.leaf (.edge (.fine 126 rfl) (.fine 30 rfl)))) (.node (.edge (.fine 126 rfl) (.fine 71 rfl)) (.node (.edge (.fine 126 rfl) (.fine 67 rfl)) (.leaf (.edge (.fine 126 rfl) (.fine 53 rfl))) (.empty)) (.leaf (.edge (.fine 126 rfl) (.fine 90 rfl)))))) (.node (.edge (.fine 128 rfl) (.fine 32 rfl)) (.node (.edge (.fine 127 rfl) (.fine 59 rfl)) (.node (.edge (.fine 127 rfl) (.fine 39 rfl)) (.node (.edge (.fine 127 rfl) (.fine 34 rfl)) (.leaf (.edge (.fine 127 rfl) (.fine 12 rfl))) (.empty)) (.leaf (.edge (.fine 127 rfl) (.fine 48 rfl)))) (.node (.edge (.fine 127 rfl) (.fine 98 rfl)) (.node (.edge (.fine 127 rfl) (.fine 92 rfl)) (.leaf (.edge (.fine 127 rfl) (.fine 68 rfl))) (.empty)) (.leaf (.edge (.fine 128 rfl) (.fine 10 rfl))))) (.node (.edge (.fine 128 rfl) (.fine 93 rfl)) (.node (.edge (.fine 128 rfl) (.fine 61 rfl)) (.node (.edge (.fine 128 rfl) (.fine 50 rfl)) (.leaf (.edge (.fine 128 rfl) (.fine 42 rfl))) (.empty)) (.leaf (.edge (.fine 128 rfl) (.fine 77 rfl)))) (.node (.edge (.fine 129 rfl) (.fine 9 rfl)) (.leaf (.edge (.fine 128 rfl) (.fine 98 rfl))) (.leaf (.edge (.fine 129 rfl) (.fine 36 rfl))))))))) (.node (.edge (.fine 138 rfl) (.fine 58 rfl)) (.node (.edge (.fine 134 rfl) (.fine 7 rfl)) (.node (.edge (.fine 131 rfl) (.fine 94 rfl)) (.node (.edge (.fine 130 rfl) (.fine 58 rfl)) (.node (.edge (.fine 129 rfl) (.fine 97 rfl)) (.node (.edge (.fine 129 rfl) (.fine 76 rfl)) (.node (.edge (.fine 129 rfl) (.fine 63 rfl)) (.leaf (.edge (.fine 129 rfl) (.fine 51 rfl))) (.empty)) (.leaf (.edge (.fine 129 rfl) (.fine 91 rfl)))) (.node (.edge (.fine 130 rfl) (.fine 40 rfl)) (.node (.edge (.fine 130 rfl) (.fine 33 rfl)) (.leaf (.edge (.fine 130 rfl) (.fine 11 rfl))) (.empty)) (.leaf (.edge (.fine 130 rfl) (.fine 49 rfl))))) (.node (.edge (.fine 131 rfl) (.fine 37 rfl)) (.node (.edge (.fine 130 rfl) (.fine 97 rfl)) (.node (.edge (.fine 130 rfl) (.fine 94 rfl)) (.leaf (.edge (.fine 130 rfl) (.fine 73 rfl))) (.empty)) (.leaf (.edge (.fine 131 rfl) (.fine 8 rfl)))) (.node (.edge (.fine 131 rfl) (.fine 62 rfl)) (.node (.edge (.fine 131 rfl) (.fine 57 rfl)) (.leaf (.edge (.fine 131 rfl) (.fine 38 rfl))) (.empty)) (.leaf (.edge (.fine 131 rfl) (.fine 70 rfl)))))) (.node (.edge (.fine 133 rfl) (.fine 4 rfl)) (.node (.edge (.fine 132 rfl) (.fine 55 rfl)) (.node (.edge (.fine 132 rfl) (.fine 35 rfl)) (.node (.edge (.fine 132 rfl) (.fine 8 rfl)) (.leaf (.edge (.fine 131 rfl) (.fine 98 rfl))) (.empty)) (.leaf (.edge (.fine 132 rfl) (.fine 45 rfl)))) (.node (.edge (.fine 132 rfl) (.fine 92 rfl)) (.node (.edge (.fine 132 rfl) (.fine 69 rfl)) (.leaf (.edge (.fine 132 rfl) (.fine 64 rfl))) (.empty)) (.leaf (.edge (.fine 132 rfl) (.fine 97 rfl))))) (.node (.edge (.fine 133 rfl) (.fine 79 rfl)) (.node (.edge (.fine 133 rfl) (.fine 61 rfl)) (.node (.edge (.fine 133 rfl) (.fine 39 rfl)) (.leaf (.edge (.fine 133 rfl) (.fine 28 rfl))) (.empty)) (.leaf (.edge (.fine 133 rfl) (.fine 73 rfl)))) (.node (.edge (.fine 133 rfl) (.fine 121 rfl)) (.leaf (.edge (.fine 133 rfl) (.fine 109 rfl))) (.leaf (.edge (.fine 133 rfl) (.fine 128 rfl))))))) (.node (.edge (.fine 136 rfl) (.fine 38 rfl)) (.node (.edge (.fine 135 rfl) (.fine 30 rfl)) (.node (.edge (.fine 134 rfl) (.fine 81 rfl)) (.node (.edge (.fine 134 rfl) (.fine 67 rfl)) (.node (.edge (.fine 134 rfl) (.fine 41 rfl)) (.leaf (.edge (.fine 134 rfl) (.fine 31 rfl))) (.empty)) (.leaf (.edge (.fine 134 rfl) (.fine 70 rfl)))) (.node (.edge (.fine 134 rfl) (.fine 126 rfl)) (.node (.edge (.fine 134 rfl) (.fine 118 rfl)) (.leaf (.edge (.fine 134 rfl) (.fine 109 rfl))) (.empty)) (.leaf (.edge (.fine 135 rfl) (.fine 6 rfl))))) (.node (.edge (.fine 135 rfl) (.fine 110 rfl)) (.node (.edge (.fine 135 rfl) (.fine 69 rfl)) (.node (.edge (.fine 135 rfl) (.fine 65 rfl)) (.leaf (.edge (.fine 135 rfl) (.fine 42 rfl))) (.empty)) (.leaf (.edge (.fine 135 rfl) (.fine 80 rfl)))) (.node (.edge (.fine 136 rfl) (.fine 3 rfl)) (.node (.edge (.fine 135 rfl) (.fine 125 rfl)) (.leaf (.edge (.fine 135 rfl) (.fine 119 rfl))) (.empty)) (.leaf (.edge (.fine 136 rfl) (.fine 35 rfl)))))) (.node (.edge (.fine 137 rfl) (.fine 63 rfl)) (.node (.edge (.fine 136 rfl) (.fine 113 rfl)) (.node (.edge (.fine 136 rfl) (.fine 86 rfl)) (.node (.edge (.fine 136 rfl) (.fine 76 rfl)) (.leaf (.edge (.fine 136 rfl) (.fine 59 rfl))) (.empty)) (.leaf (.edge (.fine 136 rfl) (.fine 112 rfl)))) (.node (.edge (.fine 137 rfl) (.fine 29 rfl)) (.node (.edge (.fine 137 rfl) (.fine 5 rfl)) (.leaf (.edge (.fine 136 rfl) (.fine 127 rfl))) (.empty)) (.leaf (.edge (.fine 137 rfl) (.fine 40 rfl))))) (.node (.edge (.fine 137 rfl) (.fine 129 rfl)) (.node (.edge (.fine 137 rfl) (.fine 110 rfl)) (.node (.edge (.fine 137 rfl) (.fine 78 rfl)) (.leaf (.edge (.fine 137 rfl) (.fine 68 rfl))) (.empty)) (.leaf (.edge (.fine 137 rfl) (.fine 122 rfl)))) (.node (.edge (.fine 138 rfl) (.fine 37 rfl)) (.leaf (.edge (.fine 138 rfl) (.fine 3 rfl))) (.leaf (.edge (.fine 138 rfl) (.fine 45 rfl)))))))) (.node (.edge (.fine 142 rfl) (.fine 111 rfl)) (.node (.edge (.fine 140 rfl) (.fine 83 rfl)) (.node (.edge (.fine 139 rfl) (.fine 71 rfl)) (.node (.edge (.fine 138 rfl) (.fine 130 rfl)) (.node (.edge (.fine 138 rfl) (.fine 111 rfl)) (.node (.edge (.fine 138 rfl) (.fine 82 rfl)) (.leaf (.edge (.fine 138 rfl) (.fine 77 rfl))) (.empty)) (.leaf (.edge (.fine 138 rfl) (.fine 114 rfl)))) (.node (.edge (.fine 139 rfl) (.fine 46 rfl)) (.node (.edge (.fine 139 rfl) (.fine 33 rfl)) (.leaf (.edge (.fine 139 rfl) (.fine 5 rfl))) (.empty)) (.leaf (.edge (.fine 139 rfl) (.fine 62 rfl))))) (.node (.edge (.fine 140 rfl) (.fine 4 rfl)) (.node (.edge (.fine 139 rfl) (.fine 115 rfl)) (.node (.edge (.fine 139 rfl) (.fine 108 rfl)) (.leaf (.edge (.fine 139 rfl) (.fine 87 rfl))) (.empty)) (.leaf (.edge (.fine 139 rfl) (.fine 131 rfl)))) (.node (.edge (.fine 140 rfl) (.fine 64 rfl)) (.node (.edge (.fine 140 rfl) (.fine 47 rfl)) (.leaf (.edge (.fine 140 rfl) (.fine 34 rfl))) (.empty)) (.leaf (.edge (.fine 140 rfl) (.fine 72 rfl)))))) (.node (.edge (.fine 141 rfl) (.fine 112 rfl)) (.node (.edge (.fine 141 rfl) (.fine 32 rfl)) (.node (.edge (.fine 140 rfl) (.fine 132 rfl)) (.node (.edge (.fine 140 rfl) (.fine 116 rfl)) (.leaf (.edge (.fine 140 rfl) (.fine 108 rfl))) (.empty)) (.leaf (.edge (.fine 141 rfl) (.fine 6 rfl)))) (.node (.edge (.fine 141 rfl) (.fine 75 rfl)) (.node (.edge (.fine 141 rfl) (.fine 60 rfl)) (.leaf (.edge (.fine 141 rfl) (.fine 44 rfl))) (.empty)) (.leaf (.edge (.fine 141 rfl) (.fine 84 rfl))))) (.node (.edge (.fine 142 rfl) (.fine 43 rfl)) (.node (.edge (.fine 142 rfl) (.fine 7 rfl)) (.node (.edge (.fine 141 rfl) (.fine 123 rfl)) (.leaf (.edge (.fine 141 rfl) (.fine 120 rfl))) (.empty)) (.leaf (.edge (.fine 142 rfl) (.fine 36 rfl)))) (.node (.edge (.fine 142 rfl) (.fine 74 rfl)) (.leaf (.edge (.fine 142 rfl) (.fine 66 rfl))) (.leaf (.edge (.fine 142 rfl) (.fine 85 rfl))))))) (.node (.edge (.fine 145 rfl) (.fine 33 rfl)) (.node (.edge (.fine 143 rfl) (.fine 125 rfl)) (.node (.edge (.fine 143 rfl) (.fine 46 rfl)) (.node (.edge (.fine 143 rfl) (.fine 9 rfl)) (.node (.edge (.fine 142 rfl) (.fine 124 rfl)) (.leaf (.edge (.fine 142 rfl) (.fine 117 rfl))) (.empty)) (.leaf (.edge (.fine 143 rfl) (.fine 28 rfl)))) (.node (.edge (.fine 143 rfl) (.fine 78 rfl)) (.node (.edge (.fine 143 rfl) (.fine 77 rfl)) (.leaf (.edge (.fine 143 rfl) (.fine 53 rfl))) (.empty)) (.leaf (.edge (.fine 143 rfl) (.fine 103 rfl))))) (.node (.edge (.fine 144 rfl) (.fine 69 rfl)) (.node (.edge (.fine 144 rfl) (.fine 41 rfl)) (.node (.edge (.fine 144 rfl) (.fine 34 rfl)) (.leaf (.edge (.fine 144 rfl) (.fine 11 rfl))) (.empty)) (.leaf (.edge (.fine 144 rfl) (.fine 57 rfl)))) (.node (.edge (.fine 144 rfl) (.fine 130 rfl)) (.node (.edge (.fine 144 rfl) (.fine 103 rfl)) (.leaf (.edge (.fine 144 rfl) (.fine 85 rfl))) (.empty)) (.leaf (.edge (.fine 145 rfl) (.fine 12 rfl)))))) (.node (.edge (.fine 146 rfl) (.fine 56 rfl)) (.node (.edge (.fine 145 rfl) (.fine 107 rfl)) (.node (.edge (.fine 145 rfl) (.fine 70 rfl)) (.node (.edge (.fine 145 rfl) (.fine 55 rfl)) (.leaf (.edge (.fine 145 rfl) (.fine 42 rfl))) (.empty)) (.leaf (.edge (.fine 145 rfl) (.fine 84 rfl)))) (.node (.edge (.fine 146 rfl) (.fine 37 rfl)) (.node (.edge (.fine 146 rfl) (.fine 9 rfl)) (.leaf (.edge (.fine 145 rfl) (.fine 127 rfl))) (.empty)) (.leaf (.edge (.fine 146 rfl) (.fine 44 rfl))))) (.node (.edge (.fine 147 rfl) (.fine 8 rfl)) (.node (.edge (.fine 146 rfl) (.fine 104 rfl)) (.node (.edge (.fine 146 rfl) (.fine 80 rfl)) (.leaf (.edge (.fine 146 rfl) (.fine 73 rfl))) (.empty)) (.leaf (.edge (.fine 146 rfl) (.fine 129 rfl)))) (.node (.edge (.fine 147 rfl) (.fine 40 rfl)) (.leaf (.edge (.fine 147 rfl) (.fine 32 rfl))) (.leaf (.edge (.fine 147 rfl) (.fine 48 rfl))))))))))) (.node (.edge (.fine 180 rfl) (.fine 20 rfl)) (.node (.edge (.fine 165 rfl) (.fine 74 rfl)) (.node (.edge (.fine 156 rfl) (.fine 142 rfl)) (.node (.edge (.fine 152 rfl) (.fine 50 rfl)) (.node (.edge (.fine 150 rfl) (.fine 10 rfl)) (.node (.edge (.fine 148 rfl) (.fine 106 rfl)) (.node (.edge (.fine 148 rfl) (.fine 36 rfl)) (.node (.edge (.fine 147 rfl) (.fine 132 rfl)) (.node (.edge (.fine 147 rfl) (.fine 105 rfl)) (.leaf (.edge (.fine 147 rfl) (.fine 87 rfl))) (.empty)) (.leaf (.edge (.fine 148 rfl) (.fine 8 rfl)))) (.node (.edge (.fine 148 rfl) (.fine 75 rfl)) (.node (.edge (.fine 148 rfl) (.fine 49 rfl)) (.leaf (.edge (.fine 148 rfl) (.fine 39 rfl))) (.empty)) (.leaf (.edge (.fine 148 rfl) (.fine 83 rfl))))) (.node (.edge (.fine 149 rfl) (.fine 54 rfl)) (.node (.edge (.fine 149 rfl) (.fine 35 rfl)) (.node (.edge (.fine 149 rfl) (.fine 10 rfl)) (.leaf (.edge (.fine 148 rfl) (.fine 131 rfl))) (.empty)) (.leaf (.edge (.fine 149 rfl) (.fine 43 rfl)))) (.node (.edge (.fine 149 rfl) (.fine 104 rfl)) (.node (.edge (.fine 149 rfl) (.fine 81 rfl)) (.leaf (.edge (.fine 149 rfl) (.fine 68 rfl))) (.empty)) (.leaf (.edge (.fine 149 rfl) (.fine 128 rfl)))))) (.node (.edge (.fine 151 rfl) (.fine 38 rfl)) (.node (.edge (.fine 150 rfl) (.fine 79 rfl)) (.node (.edge (.fine 150 rfl) (.fine 52 rfl)) (.node (.edge (.fine 150 rfl) (.fine 47 rfl)) (.leaf (.edge (.fine 150 rfl) (.fine 29 rfl))) (.empty)) (.leaf (.edge (.fine 150 rfl) (.fine 76 rfl)))) (.node (.edge (.fine 151 rfl) (.fine 11 rfl)) (.node (.edge (.fine 150 rfl) (.fine 126 rfl)) (.leaf (.edge (.fine 150 rfl) (.fine 107 rfl))) (.empty)) (.leaf (.edge (.fine 151 rfl) (.fine 30 rfl))))) (.node (.edge (.fine 151 rfl) (.fine 124 rfl)) (.node (.edge (.fine 151 rfl) (.fine 82 rfl)) (.node (.edge (.fine 151 rfl) (.fine 72 rfl)) (.leaf (.edge (.fine 151 rfl) (.fine 51 rfl))) (.empty)) (.leaf (.edge (.fine 151 rfl) (.fine 105 rfl)))) (.node (.edge (.fine 152 rfl) (.fine 31 rfl)) (.leaf (.edge (.fine 152 rfl) (.fine 12 rfl))) (.leaf (.edge (.fine 152 rfl) (.fine 45 rfl))))))) (.node (.edge (.fine 154 rfl) (.fine 99 rfl)) (.node (.edge (.fine 153 rfl) (.fine 84 rfl)) (.node (.edge (.fine 153 rfl) (.fine 4 rfl)) (.node (.edge (.fine 152 rfl) (.fine 106 rfl)) (.node (.edge (.fine 152 rfl) (.fine 86 rfl)) (.leaf (.edge (.fine 152 rfl) (.fine 71 rfl))) (.empty)) (.leaf (.edge (.fine 152 rfl) (.fine 123 rfl)))) (.node (.edge (.fine 153 rfl) (.fine 63 rfl)) (.node (.edge (.fine 153 rfl) (.fine 57 rfl)) (.leaf (.edge (.fine 153 rfl) (.fine 43 rfl))) (.empty)) (.leaf (.edge (.fine 153 rfl) (.fine 71 rfl))))) (.node (.edge (.fine 154 rfl) (.fine 44 rfl)) (.node (.edge (.fine 153 rfl) (.fine 144 rfl)) (.node (.edge (.fine 153 rfl) (.fine 133 rfl)) (.leaf (.edge (.fine 153 rfl) (.fine 100 rfl))) (.empty)) (.leaf (.edge (.fine 154 rfl) (.fine 5 rfl)))) (.node (.edge (.fine 154 rfl) (.fine 72 rfl)) (.node (.edge (.fine 154 rfl) (.fine 61 rfl)) (.leaf (.edge (.fine 154 rfl) (.fine 55 rfl))) (.empty)) (.leaf (.edge (.fine 154 rfl) (.fine 85 rfl)))))) (.node (.edge (.fine 155 rfl) (.fine 141 rfl)) (.node (.edge (.fine 155 rfl) (.fine 51 rfl)) (.node (.edge (.fine 155 rfl) (.fine 6 rfl)) (.node (.edge (.fine 154 rfl) (.fine 145 rfl)) (.leaf (.edge (.fine 154 rfl) (.fine 137 rfl))) (.empty)) (.leaf (.edge (.fine 155 rfl) (.fine 45 rfl)))) (.node (.edge (.fine 155 rfl) (.fine 79 rfl)) (.node (.edge (.fine 155 rfl) (.fine 68 rfl)) (.leaf (.edge (.fine 155 rfl) (.fine 62 rfl))) (.empty)) (.leaf (.edge (.fine 155 rfl) (.fine 99 rfl))))) (.node (.edge (.fine 156 rfl) (.fine 64 rfl)) (.node (.edge (.fine 156 rfl) (.fine 38 rfl)) (.node (.edge (.fine 156 rfl) (.fine 7 rfl)) (.leaf (.edge (.fine 155 rfl) (.fine 151 rfl))) (.empty)) (.leaf (.edge (.fine 156 rfl) (.fine 50 rfl)))) (.node (.edge (.fine 156 rfl) (.fine 78 rfl)) (.leaf (.edge (.fine 156 rfl) (.fine 73 rfl))) (.leaf (.edge (.fine 156 rfl) (.fine 100 rfl)))))))) (.node (.edge (.fine 161 rfl) (.fine 42 rfl)) (.node (.edge (.fine 159 rfl) (.fine 3 rfl)) (.node (.edge (.fine 157 rfl) (.fine 148 rfl)) (.node (.edge (.fine 157 rfl) (.fine 59 rfl)) (.node (.edge (.fine 157 rfl) (.fine 47 rfl)) (.node (.edge (.fine 157 rfl) (.fine 7 rfl)) (.leaf (.edge (.fine 156 rfl) (.fine 152 rfl))) (.empty)) (.leaf (.edge (.fine 157 rfl) (.fine 49 rfl)))) (.node (.edge (.fine 157 rfl) (.fine 99 rfl)) (.node (.edge (.fine 157 rfl) (.fine 80 rfl)) (.leaf (.edge (.fine 157 rfl) (.fine 77 rfl))) (.empty)) (.leaf (.edge (.fine 157 rfl) (.fine 134 rfl))))) (.node (.edge (.fine 158 rfl) (.fine 69 rfl)) (.node (.edge (.fine 158 rfl) (.fine 52 rfl)) (.node (.edge (.fine 158 rfl) (.fine 39 rfl)) (.leaf (.edge (.fine 158 rfl) (.fine 5 rfl))) (.empty)) (.leaf (.edge (.fine 158 rfl) (.fine 60 rfl)))) (.node (.edge (.fine 158 rfl) (.fine 139 rfl)) (.node (.edge (.fine 158 rfl) (.fine 100 rfl)) (.leaf (.edge (.fine 158 rfl) (.fine 82 rfl))) (.empty)) (.leaf (.edge (.fine 158 rfl) (.fine 150 rfl)))))) (.node (.edge (.fine 160 rfl) (.fine 46 rfl)) (.node (.edge (.fine 159 rfl) (.fine 87 rfl)) (.node (.edge (.fine 159 rfl) (.fine 65 rfl)) (.node (.edge (.fine 159 rfl) (.fine 54 rfl)) (.leaf (.edge (.fine 159 rfl) (.fine 41 rfl))) (.empty)) (.leaf (.edge (.fine 159 rfl) (.fine 75 rfl)))) (.node (.edge (.fine 159 rfl) (.fine 149 rfl)) (.node (.edge (.fine 159 rfl) (.fine 138 rfl)) (.leaf (.edge (.fine 159 rfl) (.fine 99 rfl))) (.empty)) (.leaf (.edge (.fine 160 rfl) (.fine 6 rfl))))) (.node (.edge (.fine 160 rfl) (.fine 100 rfl)) (.node (.edge (.fine 160 rfl) (.fine 76 rfl)) (.node (.edge (.fine 160 rfl) (.fine 58 rfl)) (.leaf (.edge (.fine 160 rfl) (.fine 48 rfl))) (.empty)) (.leaf (.edge (.fine 160 rfl) (.fine 81 rfl)))) (.node (.edge (.fine 160 rfl) (.fine 147 rfl)) (.leaf (.edge (.fine 160 rfl) (.fine 135 rfl))) (.leaf (.edge (.fine 161 rfl) (.fine 3 rfl))))))) (.node (.edge (.fine 163 rfl) (.fine 49 rfl)) (.node (.edge (.fine 162 rfl) (.fine 53 rfl)) (.node (.edge (.fine 161 rfl) (.fine 100 rfl)) (.node (.edge (.fine 161 rfl) (.fine 74 rfl)) (.node (.edge (.fine 161 rfl) (.fine 67 rfl)) (.leaf (.edge (.fine 161 rfl) (.fine 56 rfl))) (.empty)) (.leaf (.edge (.fine 161 rfl) (.fine 83 rfl)))) (.node (.edge (.fine 162 rfl) (.fine 4 rfl)) (.node (.edge (.fine 161 rfl) (.fine 146 rfl)) (.leaf (.edge (.fine 161 rfl) (.fine 136 rfl))) (.empty)) (.leaf (.edge (.fine 162 rfl) (.fine 40 rfl))))) (.node (.edge (.fine 162 rfl) (.fine 140 rfl)) (.node (.edge (.fine 162 rfl) (.fine 86 rfl)) (.node (.edge (.fine 162 rfl) (.fine 70 rfl)) (.leaf (.edge (.fine 162 rfl) (.fine 66 rfl))) (.empty)) (.leaf (.edge (.fine 162 rfl) (.fine 99 rfl)))) (.node (.edge (.fine 163 rfl) (.fine 19 rfl)) (.node (.edge (.fine 163 rfl) (.fine 3 rfl)) (.leaf (.edge (.fine 162 rfl) (.fine 143 rfl))) (.empty)) (.leaf (.edge (.fine 163 rfl) (.fine 48 rfl)))))) (.node (.edge (.fine 164 rfl) (.fine 75 rfl)) (.node (.edge (.fine 163 rfl) (.fine 154 rfl)) (.node (.edge (.fine 163 rfl) (.fine 89 rfl)) (.node (.edge (.fine 163 rfl) (.fine 72 rfl)) (.leaf (.edge (.fine 163 rfl) (.fine 71 rfl))) (.empty)) (.leaf (.edge (.fine 163 rfl) (.fine 153 rfl)))) (.node (.edge (.fine 164 rfl) (.fine 50 rfl)) (.node (.edge (.fine 164 rfl) (.fine 20 rfl)) (.leaf (.edge (.fine 164 rfl) (.fine 4 rfl))) (.empty)) (.leaf (.edge (.fine 164 rfl) (.fine 55 rfl))))) (.node (.edge (.fine 165 rfl) (.fine 5 rfl)) (.node (.edge (.fine 164 rfl) (.fine 159 rfl)) (.node (.edge (.fine 164 rfl) (.fine 89 rfl)) (.leaf (.edge (.fine 164 rfl) (.fine 76 rfl))) (.empty)) (.leaf (.edge (.fine 164 rfl) (.fine 160 rfl)))) (.node (.edge (.fine 165 rfl) (.fine 51 rfl)) (.leaf (.edge (.fine 165 rfl) (.fine 18 rfl))) (.leaf (.edge (.fine 165 rfl) (.fine 57 rfl))))))))) (.node (.edge (.fine 172 rfl) (.fine 106 rfl)) (.node (.edge (.fine 169 rfl) (.fine 80 rfl)) (.node (.edge (.fine 167 rfl) (.fine 89 rfl)) (.node (.edge (.fine 166 rfl) (.fine 73 rfl)) (.node (.edge (.fine 166 rfl) (.fine 6 rfl)) (.node (.edge (.fine 165 rfl) (.fine 157 rfl)) (.node (.edge (.fine 165 rfl) (.fine 89 rfl)) (.leaf (.edge (.fine 165 rfl) (.fine 77 rfl))) (.empty)) (.leaf (.edge (.fine 165 rfl) (.fine 161 rfl)))) (.node (.edge (.fine 166 rfl) (.fine 54 rfl)) (.node (.edge (.fine 166 rfl) (.fine 52 rfl)) (.leaf (.edge (.fine 166 rfl) (.fine 22 rfl))) (.empty)) (.leaf (.edge (.fine 166 rfl) (.fine 70 rfl))))) (.node (.edge (.fine 167 rfl) (.fine 21 rfl)) (.node (.edge (.fine 166 rfl) (.fine 162 rfl)) (.node (.edge (.fine 166 rfl) (.fine 156 rfl)) (.leaf (.edge (.fine 166 rfl) (.fine 89 rfl))) (.empty)) (.leaf (.edge (.fine 167 rfl) (.fine 7 rfl)))) (.node (.edge (.fine 167 rfl) (.fine 68 rfl)) (.node (.edge (.fine 167 rfl) (.fine 56 rfl)) (.leaf (.edge (.fine 167 rfl) (.fine 53 rfl))) (.empty)) (.leaf (.edge (.fine 167 rfl) (.fine 69 rfl)))))) (.node (.edge (.fine 168 rfl) (.fine 104 rfl)) (.node (.edge (.fine 168 rfl) (.fine 41 rfl)) (.node (.edge (.fine 168 rfl) (.fine 8 rfl)) (.node (.edge (.fine 167 rfl) (.fine 158 rfl)) (.leaf (.edge (.fine 167 rfl) (.fine 155 rfl))) (.empty)) (.leaf (.edge (.fine 168 rfl) (.fine 19 rfl)))) (.node (.edge (.fine 168 rfl) (.fine 79 rfl)) (.node (.edge (.fine 168 rfl) (.fine 78 rfl)) (.leaf (.edge (.fine 168 rfl) (.fine 42 rfl))) (.empty)) (.leaf (.edge (.fine 168 rfl) (.fine 90 rfl))))) (.node (.edge (.fine 169 rfl) (.fine 12 rfl)) (.node (.edge (.fine 168 rfl) (.fine 155 rfl)) (.node (.edge (.fine 168 rfl) (.fine 145 rfl)) (.leaf (.edge (.fine 168 rfl) (.fine 144 rfl))) (.empty)) (.leaf (.edge (.fine 168 rfl) (.fine 156 rfl)))) (.node (.edge (.fine 169 rfl) (.fine 40 rfl)) (.leaf (.edge (.fine 169 rfl) (.fine 20 rfl))) (.leaf (.edge (.fine 169 rfl) (.fine 43 rfl))))))) (.node (.edge (.fine 171 rfl) (.fine 10 rfl)) (.node (.edge (.fine 170 rfl) (.fine 39 rfl)) (.node (.edge (.fine 169 rfl) (.fine 149 rfl)) (.node (.edge (.fine 169 rfl) (.fine 103 rfl)) (.node (.edge (.fine 169 rfl) (.fine 91 rfl)) (.leaf (.edge (.fine 169 rfl) (.fine 82 rfl))) (.empty)) (.leaf (.edge (.fine 169 rfl) (.fine 147 rfl)))) (.node (.edge (.fine 170 rfl) (.fine 11 rfl)) (.node (.edge (.fine 169 rfl) (.fine 158 rfl)) (.leaf (.edge (.fine 169 rfl) (.fine 157 rfl))) (.empty)) (.leaf (.edge (.fine 170 rfl) (.fine 18 rfl))))) (.node (.edge (.fine 170 rfl) (.fine 107 rfl)) (.node (.edge (.fine 170 rfl) (.fine 86 rfl)) (.node (.edge (.fine 170 rfl) (.fine 81 rfl)) (.leaf (.edge (.fine 170 rfl) (.fine 44 rfl))) (.empty)) (.leaf (.edge (.fine 170 rfl) (.fine 93 rfl)))) (.node (.edge (.fine 170 rfl) (.fine 160 rfl)) (.node (.edge (.fine 170 rfl) (.fine 148 rfl)) (.leaf (.edge (.fine 170 rfl) (.fine 146 rfl))) (.empty)) (.leaf (.edge (.fine 170 rfl) (.fine 162 rfl)))))) (.node (.edge (.fine 171 rfl) (.fine 154 rfl)) (.node (.edge (.fine 171 rfl) (.fine 85 rfl)) (.node (.edge (.fine 171 rfl) (.fine 46 rfl)) (.node (.edge (.fine 171 rfl) (.fine 45 rfl)) (.leaf (.edge (.fine 171 rfl) (.fine 22 rfl))) (.empty)) (.leaf (.edge (.fine 171 rfl) (.fine 83 rfl)))) (.node (.edge (.fine 171 rfl) (.fine 143 rfl)) (.node (.edge (.fine 171 rfl) (.fine 105 rfl)) (.leaf (.edge (.fine 171 rfl) (.fine 94 rfl))) (.empty)) (.leaf (.edge (.fine 171 rfl) (.fine 152 rfl))))) (.node (.edge (.fine 172 rfl) (.fine 47 rfl)) (.node (.edge (.fine 172 rfl) (.fine 21 rfl)) (.node (.edge (.fine 172 rfl) (.fine 9 rfl)) (.leaf (.edge (.fine 171 rfl) (.fine 161 rfl))) (.empty)) (.leaf (.edge (.fine 172 rfl) (.fine 38 rfl)))) (.node (.edge (.fine 172 rfl) (.fine 87 rfl)) (.leaf (.edge (.fine 172 rfl) (.fine 84 rfl))) (.leaf (.edge (.fine 172 rfl) (.fine 92 rfl)))))))) (.node (.edge (.fine 176 rfl) (.fine 35 rfl)) (.node (.edge (.fine 174 rfl) (.fine 81 rfl)) (.node (.edge (.fine 173 rfl) (.fine 82 rfl)) (.node (.edge (.fine 173 rfl) (.fine 8 rfl)) (.node (.edge (.fine 172 rfl) (.fine 153 rfl)) (.node (.edge (.fine 172 rfl) (.fine 151 rfl)) (.leaf (.edge (.fine 172 rfl) (.fine 150 rfl))) (.empty)) (.leaf (.edge (.fine 172 rfl) (.fine 159 rfl)))) (.node (.edge (.fine 173 rfl) (.fine 28 rfl)) (.node (.edge (.fine 173 rfl) (.fine 23 rfl)) (.leaf (.edge (.fine 173 rfl) (.fine 22 rfl))) (.empty)) (.leaf (.edge (.fine 173 rfl) (.fine 76 rfl))))) (.node (.edge (.fine 174 rfl) (.fine 9 rfl)) (.node (.edge (.fine 173 rfl) (.fine 129 rfl)) (.node (.edge (.fine 173 rfl) (.fine 119 rfl)) (.leaf (.edge (.fine 173 rfl) (.fine 101 rfl))) (.empty)) (.leaf (.edge (.fine 173 rfl) (.fine 133 rfl)))) (.node (.edge (.fine 174 rfl) (.fine 33 rfl)) (.node (.edge (.fine 174 rfl) (.fine 26 rfl)) (.leaf (.edge (.fine 174 rfl) (.fine 19 rfl))) (.empty)) (.leaf (.edge (.fine 174 rfl) (.fine 74 rfl)))))) (.node (.edge (.fine 175 rfl) (.fine 80 rfl)) (.node (.edge (.fine 175 rfl) (.fine 10 rfl)) (.node (.edge (.fine 174 rfl) (.fine 123 rfl)) (.node (.edge (.fine 174 rfl) (.fine 113 rfl)) (.leaf (.edge (.fine 174 rfl) (.fine 101 rfl))) (.empty)) (.leaf (.edge (.fine 174 rfl) (.fine 139 rfl)))) (.node (.edge (.fine 175 rfl) (.fine 34 rfl)) (.node (.edge (.fine 175 rfl) (.fine 23 rfl)) (.leaf (.edge (.fine 175 rfl) (.fine 19 rfl))) (.empty)) (.leaf (.edge (.fine 175 rfl) (.fine 75 rfl))))) (.node (.edge (.fine 175 rfl) (.fine 173 rfl)) (.node (.edge (.fine 175 rfl) (.fine 124 rfl)) (.node (.edge (.fine 175 rfl) (.fine 114 rfl)) (.leaf (.edge (.fine 175 rfl) (.fine 102 rfl))) (.empty)) (.leaf (.edge (.fine 175 rfl) (.fine 140 rfl)))) (.node (.edge (.fine 176 rfl) (.fine 20 rfl)) (.leaf (.edge (.fine 176 rfl) (.fine 11 rfl))) (.leaf (.edge (.fine 176 rfl) (.fine 24 rfl))))))) (.node (.edge (.fine 178 rfl) (.fine 37 rfl)) (.node (.edge (.fine 177 rfl) (.fine 36 rfl)) (.node (.edge (.fine 176 rfl) (.fine 126 rfl)) (.node (.edge (.fine 176 rfl) (.fine 101 rfl)) (.node (.edge (.fine 176 rfl) (.fine 78 rfl)) (.leaf (.edge (.fine 176 rfl) (.fine 71 rfl))) (.empty)) (.leaf (.edge (.fine 176 rfl) (.fine 121 rfl)))) (.node (.edge (.fine 177 rfl) (.fine 18 rfl)) (.node (.edge (.fine 177 rfl) (.fine 10 rfl)) (.leaf (.edge (.fine 176 rfl) (.fine 136 rfl))) (.empty)) (.leaf (.edge (.fine 177 rfl) (.fine 25 rfl))))) (.node (.edge (.fine 177 rfl) (.fine 132 rfl)) (.node (.edge (.fine 177 rfl) (.fine 101 rfl)) (.node (.edge (.fine 177 rfl) (.fine 84 rfl)) (.leaf (.edge (.fine 177 rfl) (.fine 69 rfl))) (.empty)) (.leaf (.edge (.fine 177 rfl) (.fine 115 rfl)))) (.node (.edge (.fine 178 rfl) (.fine 18 rfl)) (.node (.edge (.fine 178 rfl) (.fine 12 rfl)) (.leaf (.edge (.fine 177 rfl) (.fine 142 rfl))) (.empty)) (.leaf (.edge (.fine 178 rfl) (.fine 24 rfl)))))) (.node (.edge (.fine 179 rfl) (.fine 27 rfl)) (.node (.edge (.fine 178 rfl) (.fine 125 rfl)) (.node (.edge (.fine 178 rfl) (.fine 102 rfl)) (.node (.edge (.fine 178 rfl) (.fine 79 rfl)) (.leaf (.edge (.fine 178 rfl) (.fine 72 rfl))) (.empty)) (.leaf (.edge (.fine 178 rfl) (.fine 122 rfl)))) (.node (.edge (.fine 179 rfl) (.fine 12 rfl)) (.node (.edge (.fine 178 rfl) (.fine 176 rfl)) (.leaf (.edge (.fine 178 rfl) (.fine 138 rfl))) (.empty)) (.leaf (.edge (.fine 179 rfl) (.fine 21 rfl))))) (.node (.edge (.fine 179 rfl) (.fine 117 rfl)) (.node (.edge (.fine 179 rfl) (.fine 83 rfl)) (.node (.edge (.fine 179 rfl) (.fine 73 rfl)) (.leaf (.edge (.fine 179 rfl) (.fine 30 rfl))) (.empty)) (.leaf (.edge (.fine 179 rfl) (.fine 101 rfl)))) (.node (.edge (.fine 179 rfl) (.fine 135 rfl)) (.leaf (.edge (.fine 179 rfl) (.fine 130 rfl))) (.leaf (.edge (.fine 180 rfl) (.fine 9 rfl)))))))))) (.node (.edge (.fine 194 rfl) (.fine 163 rfl)) (.node (.edge (.fine 187 rfl) (.fine 86 rfl)) (.node (.edge (.fine 183 rfl) (.fine 114 rfl)) (.node (.edge (.fine 181 rfl) (.fine 174 rfl)) (.node (.edge (.fine 181 rfl) (.fine 8 rfl)) (.node (.edge (.fine 180 rfl) (.fine 102 rfl)) (.node (.edge (.fine 180 rfl) (.fine 70 rfl)) (.node (.edge (.fine 180 rfl) (.fine 32 rfl)) (.leaf (.edge (.fine 180 rfl) (.fine 27 rfl))) (.empty)) (.leaf (.edge (.fine 180 rfl) (.fine 85 rfl)))) (.node (.edge (.fine 180 rfl) (.fine 141 rfl)) (.node (.edge (.fine 180 rfl) (.fine 131 rfl)) (.leaf (.edge (.fine 180 rfl) (.fine 116 rfl))) (.empty)) (.leaf (.edge (.fine 180 rfl) (.fine 179 rfl))))) (.node (.edge (.fine 181 rfl) (.fine 86 rfl)) (.node (.edge (.fine 181 rfl) (.fine 29 rfl)) (.node (.edge (.fine 181 rfl) (.fine 26 rfl)) (.leaf (.edge (.fine 181 rfl) (.fine 21 rfl))) (.empty)) (.leaf (.edge (.fine 181 rfl) (.fine 77 rfl)))) (.node (.edge (.fine 181 rfl) (.fine 128 rfl)) (.node (.edge (.fine 181 rfl) (.fine 118 rfl)) (.leaf (.edge (.fine 181 rfl) (.fine 102 rfl))) (.empty)) (.leaf (.edge (.fine 181 rfl) (.fine 137 rfl)))))) (.node (.edge (.fine 182 rfl) (.fine 134 rfl)) (.node (.edge (.fine 182 rfl) (.fine 68 rfl)) (.node (.edge (.fine 182 rfl) (.fine 25 rfl)) (.node (.edge (.fine 182 rfl) (.fine 22 rfl)) (.leaf (.edge (.fine 182 rfl) (.fine 11 rfl))) (.empty)) (.leaf (.edge (.fine 182 rfl) (.fine 31 rfl)))) (.node (.edge (.fine 182 rfl) (.fine 120 rfl)) (.node (.edge (.fine 182 rfl) (.fine 102 rfl)) (.leaf (.edge (.fine 182 rfl) (.fine 87 rfl))) (.empty)) (.leaf (.edge (.fine 182 rfl) (.fine 127 rfl))))) (.node (.edge (.fine 183 rfl) (.fine 28 rfl)) (.node (.edge (.fine 183 rfl) (.fine 17 rfl)) (.node (.edge (.fine 183 rfl) (.fine 7 rfl)) (.leaf (.edge (.fine 182 rfl) (.fine 177 rfl))) (.empty)) (.leaf (.edge (.fine 183 rfl) (.fine 24 rfl)))) (.node (.edge (.fine 183 rfl) (.fine 87 rfl)) (.leaf (.edge (.fine 183 rfl) (.fine 44 rfl))) (.leaf (.edge (.fine 183 rfl) (.fine 95 rfl))))))) (.node (.edge (.fine 185 rfl) (.fine 117 rfl)) (.node (.edge (.fine 184 rfl) (.fine 120 rfl)) (.node (.edge (.fine 184 rfl) (.fine 27 rfl)) (.node (.edge (.fine 184 rfl) (.fine 3 rfl)) (.node (.edge (.fine 183 rfl) (.fine 154 rfl)) (.leaf (.edge (.fine 183 rfl) (.fine 147 rfl))) (.empty)) (.leaf (.edge (.fine 184 rfl) (.fine 14 rfl)))) (.node (.edge (.fine 184 rfl) (.fine 79 rfl)) (.node (.edge (.fine 184 rfl) (.fine 40 rfl)) (.leaf (.edge (.fine 184 rfl) (.fine 36 rfl))) (.empty)) (.leaf (.edge (.fine 184 rfl) (.fine 95 rfl))))) (.node (.edge (.fine 185 rfl) (.fine 25 rfl)) (.node (.edge (.fine 185 rfl) (.fine 3 rfl)) (.node (.edge (.fine 184 rfl) (.fine 162 rfl)) (.leaf (.edge (.fine 184 rfl) (.fine 150 rfl))) (.empty)) (.leaf (.edge (.fine 185 rfl) (.fine 15 rfl)))) (.node (.edge (.fine 185 rfl) (.fine 78 rfl)) (.node (.edge (.fine 185 rfl) (.fine 39 rfl)) (.leaf (.edge (.fine 185 rfl) (.fine 32 rfl))) (.empty)) (.leaf (.edge (.fine 185 rfl) (.fine 96 rfl)))))) (.node (.edge (.fine 186 rfl) (.fine 118 rfl)) (.node (.edge (.fine 186 rfl) (.fine 25 rfl)) (.node (.edge (.fine 186 rfl) (.fine 4 rfl)) (.node (.edge (.fine 185 rfl) (.fine 158 rfl)) (.leaf (.edge (.fine 185 rfl) (.fine 143 rfl))) (.empty)) (.leaf (.edge (.fine 186 rfl) (.fine 13 rfl)))) (.node (.edge (.fine 186 rfl) (.fine 80 rfl)) (.node (.edge (.fine 186 rfl) (.fine 45 rfl)) (.leaf (.edge (.fine 186 rfl) (.fine 33 rfl))) (.empty)) (.leaf (.edge (.fine 186 rfl) (.fine 95 rfl))))) (.node (.edge (.fine 187 rfl) (.fine 16 rfl)) (.node (.edge (.fine 186 rfl) (.fine 185 rfl)) (.node (.edge (.fine 186 rfl) (.fine 155 rfl)) (.leaf (.edge (.fine 186 rfl) (.fine 146 rfl))) (.empty)) (.leaf (.edge (.fine 187 rfl) (.fine 5 rfl)))) (.node (.edge (.fine 187 rfl) (.fine 30 rfl)) (.leaf (.edge (.fine 187 rfl) (.fine 23 rfl))) (.leaf (.edge (.fine 187 rfl) (.fine 41 rfl)))))))) (.node (.edge (.fine 191 rfl) (.fine 26 rfl)) (.node (.edge (.fine 189 rfl) (.fine 46 rfl)) (.node (.edge (.fine 188 rfl) (.fine 81 rfl)) (.node (.edge (.fine 188 rfl) (.fine 5 rfl)) (.node (.edge (.fine 187 rfl) (.fine 152 rfl)) (.node (.edge (.fine 187 rfl) (.fine 116 rfl)) (.leaf (.edge (.fine 187 rfl) (.fine 95 rfl))) (.empty)) (.leaf (.edge (.fine 187 rfl) (.fine 159 rfl)))) (.node (.edge (.fine 188 rfl) (.fine 34 rfl)) (.node (.edge (.fine 188 rfl) (.fine 27 rfl)) (.leaf (.edge (.fine 188 rfl) (.fine 13 rfl))) (.empty)) (.leaf (.edge (.fine 188 rfl) (.fine 38 rfl))))) (.node (.edge (.fine 188 rfl) (.fine 184 rfl)) (.node (.edge (.fine 188 rfl) (.fine 149 rfl)) (.node (.edge (.fine 188 rfl) (.fine 119 rfl)) (.leaf (.edge (.fine 188 rfl) (.fine 96 rfl))) (.empty)) (.leaf (.edge (.fine 188 rfl) (.fine 156 rfl)))) (.node (.edge (.fine 189 rfl) (.fine 23 rfl)) (.node (.edge (.fine 189 rfl) (.fine 14 rfl)) (.leaf (.edge (.fine 189 rfl) (.fine 7 rfl))) (.empty)) (.leaf (.edge (.fine 189 rfl) (.fine 37 rfl)))))) (.node (.edge (.fine 190 rfl) (.fine 35 rfl)) (.node (.edge (.fine 189 rfl) (.fine 160 rfl)) (.node (.edge (.fine 189 rfl) (.fine 121 rfl)) (.node (.edge (.fine 189 rfl) (.fine 96 rfl)) (.leaf (.edge (.fine 189 rfl) (.fine 84 rfl))) (.empty)) (.leaf (.edge (.fine 189 rfl) (.fine 145 rfl)))) (.node (.edge (.fine 190 rfl) (.fine 15 rfl)) (.node (.edge (.fine 190 rfl) (.fine 6 rfl)) (.leaf (.edge (.fine 189 rfl) (.fine 187 rfl))) (.empty)) (.leaf (.edge (.fine 190 rfl) (.fine 26 rfl))))) (.node (.edge (.fine 190 rfl) (.fine 144 rfl)) (.node (.edge (.fine 190 rfl) (.fine 95 rfl)) (.node (.edge (.fine 190 rfl) (.fine 85 rfl)) (.leaf (.edge (.fine 190 rfl) (.fine 47 rfl))) (.empty)) (.leaf (.edge (.fine 190 rfl) (.fine 122 rfl)))) (.node (.edge (.fine 191 rfl) (.fine 4 rfl)) (.leaf (.edge (.fine 190 rfl) (.fine 157 rfl))) (.leaf (.edge (.fine 191 rfl) (.fine 17 rfl))))))) (.node (.edge (.fine 193 rfl) (.fine 9 rfl)) (.node (.edge (.fine 192 rfl) (.fine 16 rfl)) (.node (.edge (.fine 191 rfl) (.fine 115 rfl)) (.node (.edge (.fine 191 rfl) (.fine 82 rfl)) (.node (.edge (.fine 191 rfl) (.fine 42 rfl)) (.leaf (.edge (.fine 191 rfl) (.fine 31 rfl))) (.empty)) (.leaf (.edge (.fine 191 rfl) (.fine 96 rfl)))) (.node (.edge (.fine 191 rfl) (.fine 190 rfl)) (.node (.edge (.fine 191 rfl) (.fine 161 rfl)) (.leaf (.edge (.fine 191 rfl) (.fine 151 rfl))) (.empty)) (.leaf (.edge (.fine 192 rfl) (.fine 6 rfl))))) (.node (.edge (.fine 192 rfl) (.fine 96 rfl)) (.node (.edge (.fine 192 rfl) (.fine 43 rfl)) (.node (.edge (.fine 192 rfl) (.fine 29 rfl)) (.leaf (.edge (.fine 192 rfl) (.fine 24 rfl))) (.empty)) (.leaf (.edge (.fine 192 rfl) (.fine 83 rfl)))) (.node (.edge (.fine 192 rfl) (.fine 153 rfl)) (.node (.edge (.fine 192 rfl) (.fine 148 rfl)) (.leaf (.edge (.fine 192 rfl) (.fine 113 rfl))) (.empty)) (.leaf (.edge (.fine 192 rfl) (.fine 183 rfl)))))) (.node (.edge (.fine 193 rfl) (.fine 191 rfl)) (.node (.edge (.fine 193 rfl) (.fine 68 rfl)) (.node (.edge (.fine 193 rfl) (.fine 49 rfl)) (.node (.edge (.fine 193 rfl) (.fine 23 rfl)) (.leaf (.edge (.fine 193 rfl) (.fine 17 rfl))) (.empty)) (.leaf (.edge (.fine 193 rfl) (.fine 64 rfl)))) (.node (.edge (.fine 193 rfl) (.fine 163 rfl)) (.node (.edge (.fine 193 rfl) (.fine 149 rfl)) (.leaf (.edge (.fine 193 rfl) (.fine 107 rfl))) (.empty)) (.leaf (.edge (.fine 193 rfl) (.fine 180 rfl))))) (.node (.edge (.fine 194 rfl) (.fine 62 rfl)) (.node (.edge (.fine 194 rfl) (.fine 26 rfl)) (.node (.edge (.fine 194 rfl) (.fine 16 rfl)) (.leaf (.edge (.fine 194 rfl) (.fine 10 rfl))) (.empty)) (.leaf (.edge (.fine 194 rfl) (.fine 48 rfl)))) (.node (.edge (.fine 194 rfl) (.fine 103 rfl)) (.leaf (.edge (.fine 194 rfl) (.fine 73 rfl))) (.leaf (.edge (.fine 194 rfl) (.fine 146 rfl))))))))) (.node (.edge (.fine 201 rfl) (.fine 71 rfl)) (.node (.edge (.fine 198 rfl) (.fine 13 rfl)) (.node (.edge (.fine 196 rfl) (.fine 106 rfl)) (.node (.edge (.fine 195 rfl) (.fine 144 rfl)) (.node (.edge (.fine 195 rfl) (.fine 24 rfl)) (.node (.edge (.fine 195 rfl) (.fine 9 rfl)) (.node (.edge (.fine 194 rfl) (.fine 187 rfl)) (.leaf (.edge (.fine 194 rfl) (.fine 177 rfl))) (.empty)) (.leaf (.edge (.fine 195 rfl) (.fine 14 rfl)))) (.node (.edge (.fine 195 rfl) (.fine 69 rfl)) (.node (.edge (.fine 195 rfl) (.fine 59 rfl)) (.leaf (.edge (.fine 195 rfl) (.fine 50 rfl))) (.empty)) (.leaf (.edge (.fine 195 rfl) (.fine 105 rfl))))) (.node (.edge (.fine 196 rfl) (.fine 15 rfl)) (.node (.edge (.fine 195 rfl) (.fine 184 rfl)) (.node (.edge (.fine 195 rfl) (.fine 174 rfl)) (.leaf (.edge (.fine 195 rfl) (.fine 164 rfl))) (.empty)) (.leaf (.edge (.fine 196 rfl) (.fine 10 rfl)))) (.node (.edge (.fine 196 rfl) (.fine 58 rfl)) (.node (.edge (.fine 196 rfl) (.fine 51 rfl)) (.leaf (.edge (.fine 196 rfl) (.fine 24 rfl))) (.empty)) (.leaf (.edge (.fine 196 rfl) (.fine 70 rfl)))))) (.node (.edge (.fine 197 rfl) (.fine 61 rfl)) (.node (.edge (.fine 196 rfl) (.fine 195 rfl)) (.node (.edge (.fine 196 rfl) (.fine 175 rfl)) (.node (.edge (.fine 196 rfl) (.fine 165 rfl)) (.leaf (.edge (.fine 196 rfl) (.fine 145 rfl))) (.empty)) (.leaf (.edge (.fine 196 rfl) (.fine 185 rfl)))) (.node (.edge (.fine 197 rfl) (.fine 23 rfl)) (.node (.edge (.fine 197 rfl) (.fine 13 rfl)) (.leaf (.edge (.fine 197 rfl) (.fine 11 rfl))) (.empty)) (.leaf (.edge (.fine 197 rfl) (.fine 52 rfl))))) (.node (.edge (.fine 197 rfl) (.fine 176 rfl)) (.node (.edge (.fine 197 rfl) (.fine 147 rfl)) (.node (.edge (.fine 197 rfl) (.fine 106 rfl)) (.leaf (.edge (.fine 197 rfl) (.fine 74 rfl))) (.empty)) (.leaf (.edge (.fine 197 rfl) (.fine 166 rfl)))) (.node (.edge (.fine 197 rfl) (.fine 193 rfl)) (.leaf (.edge (.fine 197 rfl) (.fine 186 rfl))) (.leaf (.edge (.fine 198 rfl) (.fine 12 rfl))))))) (.node (.edge (.fine 199 rfl) (.fine 179 rfl)) (.node (.edge (.fine 198 rfl) (.fine 194 rfl)) (.node (.edge (.fine 198 rfl) (.fine 105 rfl)) (.node (.edge (.fine 198 rfl) (.fine 63 rfl)) (.node (.edge (.fine 198 rfl) (.fine 53 rfl)) (.leaf (.edge (.fine 198 rfl) (.fine 26 rfl))) (.empty)) (.leaf (.edge (.fine 198 rfl) (.fine 75 rfl)))) (.node (.edge (.fine 198 rfl) (.fine 178 rfl)) (.node (.edge (.fine 198 rfl) (.fine 167 rfl)) (.leaf (.edge (.fine 198 rfl) (.fine 148 rfl))) (.empty)) (.leaf (.edge (.fine 198 rfl) (.fine 188 rfl))))) (.node (.edge (.fine 199 rfl) (.fine 66 rfl)) (.node (.edge (.fine 199 rfl) (.fine 25 rfl)) (.node (.edge (.fine 199 rfl) (.fine 17 rfl)) (.leaf (.edge (.fine 199 rfl) (.fine 12 rfl))) (.empty)) (.leaf (.edge (.fine 199 rfl) (.fine 57 rfl)))) (.node (.edge (.fine 199 rfl) (.fine 150 rfl)) (.node (.edge (.fine 199 rfl) (.fine 104 rfl)) (.leaf (.edge (.fine 199 rfl) (.fine 76 rfl))) (.empty)) (.leaf (.edge (.fine 199 rfl) (.fine 165 rfl)))))) (.node (.edge (.fine 200 rfl) (.fine 166 rfl)) (.node (.edge (.fine 200 rfl) (.fine 54 rfl)) (.node (.edge (.fine 200 rfl) (.fine 14 rfl)) (.node (.edge (.fine 200 rfl) (.fine 8 rfl)) (.leaf (.edge (.fine 199 rfl) (.fine 183 rfl))) (.empty)) (.leaf (.edge (.fine 200 rfl) (.fine 25 rfl)))) (.node (.edge (.fine 200 rfl) (.fine 103 rfl)) (.node (.edge (.fine 200 rfl) (.fine 72 rfl)) (.leaf (.edge (.fine 200 rfl) (.fine 67 rfl))) (.empty)) (.leaf (.edge (.fine 200 rfl) (.fine 151 rfl))))) (.node (.edge (.fine 201 rfl) (.fine 15 rfl)) (.node (.edge (.fine 200 rfl) (.fine 199 rfl)) (.node (.edge (.fine 200 rfl) (.fine 189 rfl)) (.leaf (.edge (.fine 200 rfl) (.fine 181 rfl))) (.empty)) (.leaf (.edge (.fine 201 rfl) (.fine 8 rfl)))) (.node (.edge (.fine 201 rfl) (.fine 56 rfl)) (.leaf (.edge (.fine 201 rfl) (.fine 27 rfl))) (.leaf (.edge (.fine 201 rfl) (.fine 65 rfl)))))))) (.node (.edge (.fine 204 rfl) (.fine 138 rfl)) (.node (.edge (.fine 203 rfl) (.fine 28 rfl)) (.node (.edge (.fine 202 rfl) (.fine 60 rfl)) (.node (.edge (.fine 201 rfl) (.fine 190 rfl)) (.node (.edge (.fine 201 rfl) (.fine 167 rfl)) (.node (.edge (.fine 201 rfl) (.fine 152 rfl)) (.leaf (.edge (.fine 201 rfl) (.fine 107 rfl))) (.empty)) (.leaf (.edge (.fine 201 rfl) (.fine 173 rfl)))) (.node (.edge (.fine 202 rfl) (.fine 27 rfl)) (.node (.edge (.fine 202 rfl) (.fine 16 rfl)) (.leaf (.edge (.fine 202 rfl) (.fine 11 rfl))) (.empty)) (.leaf (.edge (.fine 202 rfl) (.fine 55 rfl))))) (.node (.edge (.fine 202 rfl) (.fine 182 rfl)) (.node (.edge (.fine 202 rfl) (.fine 143 rfl)) (.node (.edge (.fine 202 rfl) (.fine 104 rfl)) (.leaf (.edge (.fine 202 rfl) (.fine 77 rfl))) (.empty)) (.leaf (.edge (.fine 202 rfl) (.fine 164 rfl)))) (.node (.edge (.fine 203 rfl) (.fine 3 rfl)) (.node (.edge (.fine 202 rfl) (.fine 201 rfl)) (.leaf (.edge (.fine 202 rfl) (.fine 192 rfl))) (.empty)) (.leaf (.edge (.fine 203 rfl) (.fine 13 rfl)))))) (.node (.edge (.fine 204 rfl) (.fine 6 rfl)) (.node (.edge (.fine 203 rfl) (.fine 123 rfl)) (.node (.edge (.fine 203 rfl) (.fine 70 rfl)) (.node (.edge (.fine 203 rfl) (.fine 69 rfl)) (.leaf (.edge (.fine 203 rfl) (.fine 29 rfl))) (.empty)) (.leaf (.edge (.fine 203 rfl) (.fine 108 rfl)))) (.node (.edge (.fine 203 rfl) (.fine 135 rfl)) (.node (.edge (.fine 203 rfl) (.fine 134 rfl)) (.leaf (.edge (.fine 203 rfl) (.fine 124 rfl))) (.empty)) (.leaf (.edge (.fine 203 rfl) (.fine 163 rfl))))) (.node (.edge (.fine 204 rfl) (.fine 77 rfl)) (.node (.edge (.fine 204 rfl) (.fine 36 rfl)) (.node (.edge (.fine 204 rfl) (.fine 34 rfl)) (.leaf (.edge (.fine 204 rfl) (.fine 17 rfl))) (.empty)) (.leaf (.edge (.fine 204 rfl) (.fine 71 rfl)))) (.node (.edge (.fine 204 rfl) (.fine 127 rfl)) (.leaf (.edge (.fine 204 rfl) (.fine 109 rfl))) (.leaf (.edge (.fine 204 rfl) (.fine 129 rfl))))))) (.node (.edge (.fine 206 rfl) (.fine 76 rfl)) (.node (.edge (.fine 205 rfl) (.fine 126 rfl)) (.node (.edge (.fine 205 rfl) (.fine 30 rfl)) (.node (.edge (.fine 205 rfl) (.fine 4 rfl)) (.node (.edge (.fine 204 rfl) (.fine 166 rfl)) (.leaf (.edge (.fine 204 rfl) (.fine 139 rfl))) (.empty)) (.leaf (.edge (.fine 205 rfl) (.fine 15 rfl)))) (.node (.edge (.fine 205 rfl) (.fine 74 rfl)) (.node (.edge (.fine 205 rfl) (.fine 68 rfl)) (.leaf (.edge (.fine 205 rfl) (.fine 37 rfl))) (.empty)) (.leaf (.edge (.fine 205 rfl) (.fine 112 rfl))))) (.node (.edge (.fine 206 rfl) (.fine 7 rfl)) (.node (.edge (.fine 205 rfl) (.fine 142 rfl)) (.node (.edge (.fine 205 rfl) (.fine 137 rfl)) (.leaf (.edge (.fine 205 rfl) (.fine 131 rfl))) (.empty)) (.leaf (.edge (.fine 205 rfl) (.fine 164 rfl)))) (.node (.edge (.fine 206 rfl) (.fine 33 rfl)) (.node (.edge (.fine 206 rfl) (.fine 32 rfl)) (.leaf (.edge (.fine 206 rfl) (.fine 16 rfl))) (.empty)) (.leaf (.edge (.fine 206 rfl) (.fine 72 rfl)))))) (.node (.edge (.fine 207 rfl) (.fine 35 rfl)) (.node (.edge (.fine 206 rfl) (.fine 140 rfl)) (.node (.edge (.fine 206 rfl) (.fine 130 rfl)) (.node (.edge (.fine 206 rfl) (.fine 128 rfl)) (.leaf (.edge (.fine 206 rfl) (.fine 110 rfl))) (.empty)) (.leaf (.edge (.fine 206 rfl) (.fine 136 rfl)))) (.node (.edge (.fine 207 rfl) (.fine 14 rfl)) (.node (.edge (.fine 207 rfl) (.fine 5 rfl)) (.leaf (.edge (.fine 206 rfl) (.fine 167 rfl))) (.empty)) (.leaf (.edge (.fine 207 rfl) (.fine 31 rfl))))) (.node (.edge (.fine 207 rfl) (.fine 132 rfl)) (.node (.edge (.fine 207 rfl) (.fine 111 rfl)) (.node (.edge (.fine 207 rfl) (.fine 75 rfl)) (.leaf (.edge (.fine 207 rfl) (.fine 73 rfl))) (.empty)) (.leaf (.edge (.fine 207 rfl) (.fine 125 rfl)))) (.node (.edge (.fine 207 rfl) (.fine 141 rfl)) (.leaf (.edge (.fine 207 rfl) (.fine 133 rfl))) (.leaf (.edge (.fine 207 rfl) (.fine 165 rfl)))))))))))
structure Edge (n : Nat) : Type :=
edge::
fst : Fin n
snd : Fin fst
-- smart constructor for edges
macro "E[" i:term "," j:term "]" : term =>
`(.edge $i (Fin.mk $j (by trivial)))
inductive Tree (α : Type) : Type
| empty : Tree α
| leaf : α → Tree α
| node : α → Tree α → Tree α → Tree α
def test1 : Tree (Edge 100) := .node E[5,0] .empty (.leaf E[3,1])
def test2 : Tree (Edge 666) := .node E[147,74] (.node E[110,2] (.node E[85,13] (.node E[60,36] (.node E[43,33] (.node E[29,20] (.node E[8,3] (.node E[4,0] (.node E[2,1] (.node E[2,0] (.leaf E[1,0]) (.empty)) (.leaf E[3,0])) (.node E[7,0] (.node E[6,0] (.leaf E[5,0]) (.empty)) (.leaf E[8,0]))) (.node E[11,0] (.node E[10,0] (.node E[9,7] (.leaf E[9,0]) (.empty)) (.leaf E[10,6])) (.node E[12,4] (.node E[12,0] (.leaf E[11,5]) (.empty)) (.leaf E[28,18])))) (.node E[38,28] (.node E[34,21] (.node E[32,18] (.node E[31,19] (.leaf E[30,19]) (.empty)) (.leaf E[33,22])) (.node E[37,22] (.node E[36,20] (.leaf E[35,21]) (.empty)) (.leaf E[38,18]))) (.node E[41,18] (.node E[40,19] (.node E[39,30] (.leaf E[39,19]) (.empty)) (.leaf E[40,31])) (.node E[42,36] (.node E[42,20] (.leaf E[41,32]) (.empty)) (.leaf E[43,22]))))) (.node E[52,41] (.node E[48,47] (.node E[46,21] (.node E[45,20] (.node E[44,34] (.leaf E[44,21]) (.empty)) (.leaf E[45,29])) (.node E[47,37] (.node E[47,22] (.leaf E[46,35]) (.empty)) (.leaf E[48,27]))) (.node E[50,49] (.node E[50,25] (.node E[49,46] (.leaf E[49,25]) (.empty)) (.leaf E[50,44])) (.node E[51,48] (.node E[51,43] (.leaf E[51,27]) (.empty)) (.leaf E[52,26])))) (.node E[56,54] (.node E[55,26] (.node E[54,24] (.node E[53,42] (.leaf E[53,23]) (.empty)) (.leaf E[54,39])) (.node E[56,24] (.node E[55,52] (.leaf E[55,38]) (.empty)) (.leaf E[56,40]))) (.node E[58,28] (.node E[57,53] (.node E[57,45] (.leaf E[57,23]) (.empty)) (.leaf E[58,26])) (.node E[59,29] (.leaf E[59,23]) (.leaf E[60,23])))))) (.node E[74,34] (.node E[68,14] (.node E[64,62] (.node E[62,31] (.node E[61,37] (.node E[61,27] (.leaf E[60,59]) (.empty)) (.leaf E[62,24])) (.node E[64,24] (.node E[63,35] (.leaf E[63,25]) (.empty)) (.leaf E[64,30]))) (.node E[66,32] (.node E[65,63] (.node E[65,34] (.leaf E[65,25]) (.empty)) (.leaf E[66,26])) (.node E[67,33] (.node E[67,27] (.leaf E[66,58]) (.empty)) (.leaf E[67,61])))) (.node E[71,32] (.node E[69,61] (.node E[69,17] (.node E[68,58] (.leaf E[68,28]) (.empty)) (.leaf E[69,37])) (.node E[70,63] (.node E[70,35] (.leaf E[70,16]) (.empty)) (.leaf E[71,14]))) (.node E[73,15] (.node E[72,36] (.node E[72,15] (.leaf E[71,66]) (.empty)) (.leaf E[72,60])) (.node E[73,59] (.leaf E[73,29]) (.leaf E[74,16]))))) (.node E[80,38] (.node E[77,64] (.node E[76,13] (.node E[75,33] (.node E[75,17] (.leaf E[74,65]) (.empty)) (.leaf E[75,67])) (.node E[77,13] (.node E[76,62] (.leaf E[76,31]) (.empty)) (.leaf E[77,30]))) (.node E[79,16] (.node E[78,48] (.node E[78,47] (.leaf E[78,17]) (.empty)) (.leaf E[78,75])) (.node E[79,74] (.node E[79,49] (.leaf E[79,46]) (.empty)) (.leaf E[80,14])))) (.node E[82,70] (.node E[81,57] (.node E[81,15] (.node E[80,71] (.leaf E[80,55]) (.empty)) (.leaf E[81,45])) (.node E[82,44] (.node E[82,16] (.leaf E[81,72]) (.empty)) (.leaf E[82,50]))) (.node E[84,13] (.node E[83,52] (.node E[83,41] (.leaf E[83,14]) (.empty)) (.leaf E[83,68])) (.node E[84,56] (.leaf E[84,40]) (.leaf E[84,77]))))))) (.node E[97,96] (.node E[92,9] (.node E[89,19] (.node E[87,53] (.node E[86,43] (.node E[85,76] (.node E[85,54] (.leaf E[85,39]) (.empty)) (.leaf E[86,17])) (.node E[87,15] (.node E[86,69] (.leaf E[86,51]) (.empty)) (.leaf E[87,42]))) (.node E[88,15] (.node E[88,13] (.node E[88,1] (.leaf E[87,73]) (.empty)) (.leaf E[88,14])) (.node E[89,1] (.node E[88,17] (.leaf E[88,16]) (.empty)) (.leaf E[89,18])))) (.node E[90,59] (.node E[90,8] (.node E[89,22] (.node E[89,21] (.leaf E[89,20]) (.empty)) (.leaf E[89,88])) (.node E[90,44] (.node E[90,43] (.leaf E[90,13]) (.empty)) (.leaf E[90,58]))) (.node E[91,46] (.node E[91,15] (.node E[91,12] (.leaf E[90,88]) (.empty)) (.leaf E[91,41])) (.node E[91,64] (.leaf E[91,61]) (.leaf E[91,88]))))) (.node E[94,88] (.node E[93,47] (.node E[92,67] (.node E[92,45] (.node E[92,39] (.leaf E[92,16]) (.empty)) (.leaf E[92,66])) (.node E[93,14] (.node E[93,11] (.leaf E[92,88]) (.empty)) (.leaf E[93,42]))) (.node E[94,17] (.node E[93,88] (.node E[93,63] (.leaf E[93,62]) (.empty)) (.leaf E[94,10])) (.node E[94,60] (.node E[94,40] (.leaf E[94,38]) (.empty)) (.leaf E[94,65])))) (.node E[96,32] (.node E[95,35] (.node E[95,30] (.node E[95,28] (.leaf E[95,1]) (.empty)) (.leaf E[95,33])) (.node E[96,29] (.node E[96,1] (.leaf E[95,36]) (.empty)) (.leaf E[96,31]))) (.node E[97,51] (.node E[97,1] (.node E[96,37] (.leaf E[96,34]) (.empty)) (.leaf E[97,49])) (.node E[97,54] (.leaf E[97,53]) (.leaf E[97,55])))))) (.node E[103,67] (.node E[101,1] (.node E[99,61] (.node E[98,56] (.node E[98,50] (.node E[98,48] (.leaf E[98,1]) (.empty)) (.leaf E[98,52])) (.node E[99,1] (.node E[98,95] (.leaf E[98,57]) (.empty)) (.leaf E[99,59]))) (.node E[100,58] (.node E[99,66] (.node E[99,65] (.leaf E[99,62]) (.empty)) (.leaf E[100,1])) (.node E[100,64] (.node E[100,63] (.leaf E[100,60]) (.empty)) (.leaf E[100,67])))) (.node E[102,85] (.node E[101,84] (.node E[101,82] (.node E[101,81] (.leaf E[101,78]) (.empty)) (.leaf E[101,83])) (.node E[102,79] (.node E[102,1] (.leaf E[101,99]) (.empty)) (.leaf E[102,80]))) (.node E[103,20] (.node E[102,100] (.node E[102,87] (.leaf E[102,86]) (.empty)) (.leaf E[103,2])) (.node E[103,34] (.leaf E[103,28]) (.leaf E[103,62]))))) (.node E[107,18] (.node E[105,32] (.node E[104,60] (.node E[104,35] (.node E[104,19] (.leaf E[104,2]) (.empty)) (.leaf E[104,37])) (.node E[105,22] (.node E[105,2] (.leaf E[104,66]) (.empty)) (.leaf E[105,30]))) (.node E[106,31] (.node E[106,2] (.node E[105,63] (.leaf E[105,59]) (.empty)) (.leaf E[106,21])) (.node E[106,61] (.node E[106,58] (.leaf E[106,36]) (.empty)) (.leaf E[107,2])))) (.node E[108,87] (.node E[108,2] (.node E[107,64] (.node E[107,33] (.leaf E[107,29]) (.empty)) (.leaf E[107,65])) (.node E[108,51] (.node E[108,50] (.leaf E[108,13]) (.empty)) (.leaf E[108,83]))) (.node E[109,56] (.node E[109,17] (.node E[109,2] (.leaf E[108,104]) (.empty)) (.leaf E[109,55])) (.node E[109,81] (.leaf E[109,79]) (.leaf E[109,105])))))))) (.node E[129,41] (.node E[119,112] (.node E[115,27] (.node E[112,103] (.node E[111,53] (.node E[110,80] (.node E[110,57] (.node E[110,54] (.leaf E[110,16]) (.empty)) (.leaf E[110,78])) (.node E[111,14] (.node E[111,2] (.leaf E[110,106]) (.empty)) (.leaf E[111,48]))) (.node E[112,15] (.node E[111,107] (.node E[111,85] (.leaf E[111,82]) (.empty)) (.leaf E[112,2])) (.node E[112,84] (.node E[112,52] (.leaf E[112,49]) (.empty)) (.leaf E[112,86])))) (.node E[114,19] (.node E[113,53] (.node E[113,25] (.node E[113,19] (.leaf E[113,6]) (.empty)) (.leaf E[113,38])) (.node E[113,111] (.node E[113,91] (.leaf E[113,61]) (.empty)) (.leaf E[114,7]))) (.node E[114,93] (.node E[114,52] (.node E[114,45] (.leaf E[114,27]) (.empty)) (.leaf E[114,63])) (.node E[115,4] (.leaf E[114,112]) (.leaf E[115,18]))))) (.node E[117,55] (.node E[116,47] (.node E[115,110] (.node E[115,59] (.node E[115,54] (.leaf E[115,46]) (.empty)) (.leaf E[115,90])) (.node E[116,20] (.node E[116,5] (.leaf E[115,114]) (.empty)) (.leaf E[116,25]))) (.node E[116,113] (.node E[116,90] (.node E[116,58] (.leaf E[116,56]) (.empty)) (.leaf E[116,109])) (.node E[117,23] (.node E[117,21] (.leaf E[117,3]) (.empty)) (.leaf E[117,43])))) (.node E[118,94] (.node E[118,21] (.node E[117,109] (.node E[117,93] (.leaf E[117,62]) (.empty)) (.leaf E[118,4])) (.node E[118,48] (.node E[118,41] (.leaf E[118,24]) (.empty)) (.leaf E[118,60]))) (.node E[119,42] (.node E[119,22] (.node E[119,5] (.leaf E[118,111]) (.empty)) (.leaf E[119,24])) (.node E[119,66] (.leaf E[119,49]) (.leaf E[119,92])))))) (.node E[124,56] (.node E[122,18] (.node E[121,7] (.node E[120,44] (.node E[120,22] (.node E[120,3] (.leaf E[119,118]) (.empty)) (.leaf E[120,26])) (.node E[120,91] (.node E[120,64] (.leaf E[120,57]) (.empty)) (.leaf E[120,110]))) (.node E[121,65] (.node E[121,39] (.node E[121,26] (.leaf E[121,20]) (.empty)) (.leaf E[121,51])) (.node E[121,120] (.node E[121,108] (.leaf E[121,94]) (.empty)) (.leaf E[122,6])))) (.node E[123,47] (.node E[122,92] (.node E[122,50] (.node E[122,40] (.leaf E[122,23]) (.empty)) (.leaf E[122,67])) (.node E[123,12] (.node E[122,117] (.leaf E[122,108]) (.empty)) (.leaf E[123,28]))) (.node E[123,97] (.node E[123,74] (.node E[123,60] (.leaf E[123,54]) (.empty)) (.leaf E[123,93])) (.node E[124,29] (.leaf E[124,11]) (.leaf E[124,46]))))) (.node E[126,97] (.node E[125,72] (.node E[125,9] (.node E[124,91] (.node E[124,75] (.leaf E[124,66]) (.empty)) (.leaf E[124,98])) (.node E[125,52] (.node E[125,43] (.leaf E[125,31]) (.empty)) (.leaf E[125,65]))) (.node E[126,44] (.node E[126,10] (.node E[125,98] (.leaf E[125,90]) (.empty)) (.leaf E[126,30])) (.node E[126,71] (.node E[126,67] (.leaf E[126,53]) (.empty)) (.leaf E[126,90])))) (.node E[128,32] (.node E[127,59] (.node E[127,39] (.node E[127,34] (.leaf E[127,12]) (.empty)) (.leaf E[127,48])) (.node E[127,98] (.node E[127,92] (.leaf E[127,68]) (.empty)) (.leaf E[128,10]))) (.node E[128,93] (.node E[128,61] (.node E[128,50] (.leaf E[128,42]) (.empty)) (.leaf E[128,77])) (.node E[129,9] (.leaf E[128,98]) (.leaf E[129,36]))))))) (.node E[138,58] (.node E[134,7] (.node E[131,94] (.node E[130,58] (.node E[129,97] (.node E[129,76] (.node E[129,63] (.leaf E[129,51]) (.empty)) (.leaf E[129,91])) (.node E[130,40] (.node E[130,33] (.leaf E[130,11]) (.empty)) (.leaf E[130,49]))) (.node E[131,37] (.node E[130,97] (.node E[130,94] (.leaf E[130,73]) (.empty)) (.leaf E[131,8])) (.node E[131,62] (.node E[131,57] (.leaf E[131,38]) (.empty)) (.leaf E[131,70])))) (.node E[133,4] (.node E[132,55] (.node E[132,35] (.node E[132,8] (.leaf E[131,98]) (.empty)) (.leaf E[132,45])) (.node E[132,92] (.node E[132,69] (.leaf E[132,64]) (.empty)) (.leaf E[132,97]))) (.node E[133,79] (.node E[133,61] (.node E[133,39] (.leaf E[133,28]) (.empty)) (.leaf E[133,73])) (.node E[133,121] (.leaf E[133,109]) (.leaf E[133,128]))))) (.node E[136,38] (.node E[135,30] (.node E[134,81] (.node E[134,67] (.node E[134,41] (.leaf E[134,31]) (.empty)) (.leaf E[134,70])) (.node E[134,126] (.node E[134,118] (.leaf E[134,109]) (.empty)) (.leaf E[135,6]))) (.node E[135,110] (.node E[135,69] (.node E[135,65] (.leaf E[135,42]) (.empty)) (.leaf E[135,80])) (.node E[136,3] (.node E[135,125] (.leaf E[135,119]) (.empty)) (.leaf E[136,35])))) (.node E[137,63] (.node E[136,113] (.node E[136,86] (.node E[136,76] (.leaf E[136,59]) (.empty)) (.leaf E[136,112])) (.node E[137,29] (.node E[137,5] (.leaf E[136,127]) (.empty)) (.leaf E[137,40]))) (.node E[137,129] (.node E[137,110] (.node E[137,78] (.leaf E[137,68]) (.empty)) (.leaf E[137,122])) (.node E[138,37] (.leaf E[138,3]) (.leaf E[138,45])))))) (.node E[142,111] (.node E[140,83] (.node E[139,71] (.node E[138,130] (.node E[138,111] (.node E[138,82] (.leaf E[138,77]) (.empty)) (.leaf E[138,114])) (.node E[139,46] (.node E[139,33] (.leaf E[139,5]) (.empty)) (.leaf E[139,62]))) (.node E[140,4] (.node E[139,115] (.node E[139,108] (.leaf E[139,87]) (.empty)) (.leaf E[139,131])) (.node E[140,64] (.node E[140,47] (.leaf E[140,34]) (.empty)) (.leaf E[140,72])))) (.node E[141,112] (.node E[141,32] (.node E[140,132] (.node E[140,116] (.leaf E[140,108]) (.empty)) (.leaf E[141,6])) (.node E[141,75] (.node E[141,60] (.leaf E[141,44]) (.empty)) (.leaf E[141,84]))) (.node E[142,43] (.node E[142,7] (.node E[141,123] (.leaf E[141,120]) (.empty)) (.leaf E[142,36])) (.node E[142,74] (.leaf E[142,66]) (.leaf E[142,85]))))) (.node E[145,33] (.node E[143,125] (.node E[143,46] (.node E[143,9] (.node E[142,124] (.leaf E[142,117]) (.empty)) (.leaf E[143,28])) (.node E[143,78] (.node E[143,77] (.leaf E[143,53]) (.empty)) (.leaf E[143,103]))) (.node E[144,69] (.node E[144,41] (.node E[144,34] (.leaf E[144,11]) (.empty)) (.leaf E[144,57])) (.node E[144,130] (.node E[144,103] (.leaf E[144,85]) (.empty)) (.leaf E[145,12])))) (.node E[146,56] (.node E[145,107] (.node E[145,70] (.node E[145,55] (.leaf E[145,42]) (.empty)) (.leaf E[145,84])) (.node E[146,37] (.node E[146,9] (.leaf E[145,127]) (.empty)) (.leaf E[146,44]))) (.node E[147,8] (.node E[146,104] (.node E[146,80] (.leaf E[146,73]) (.empty)) (.leaf E[146,129])) (.node E[147,40] (.leaf E[147,32]) (.leaf E[147,48]))))))))) (.node E[180,20] (.node E[165,74] (.node E[156,142] (.node E[152,50] (.node E[150,10] (.node E[148,106] (.node E[148,36] (.node E[147,132] (.node E[147,105] (.leaf E[147,87]) (.empty)) (.leaf E[148,8])) (.node E[148,75] (.node E[148,49] (.leaf E[148,39]) (.empty)) (.leaf E[148,83]))) (.node E[149,54] (.node E[149,35] (.node E[149,10] (.leaf E[148,131]) (.empty)) (.leaf E[149,43])) (.node E[149,104] (.node E[149,81] (.leaf E[149,68]) (.empty)) (.leaf E[149,128])))) (.node E[151,38] (.node E[150,79] (.node E[150,52] (.node E[150,47] (.leaf E[150,29]) (.empty)) (.leaf E[150,76])) (.node E[151,11] (.node E[150,126] (.leaf E[150,107]) (.empty)) (.leaf E[151,30]))) (.node E[151,124] (.node E[151,82] (.node E[151,72] (.leaf E[151,51]) (.empty)) (.leaf E[151,105])) (.node E[152,31] (.leaf E[152,12]) (.leaf E[152,45]))))) (.node E[154,99] (.node E[153,84] (.node E[153,4] (.node E[152,106] (.node E[152,86] (.leaf E[152,71]) (.empty)) (.leaf E[152,123])) (.node E[153,63] (.node E[153,57] (.leaf E[153,43]) (.empty)) (.leaf E[153,71]))) (.node E[154,44] (.node E[153,144] (.node E[153,133] (.leaf E[153,100]) (.empty)) (.leaf E[154,5])) (.node E[154,72] (.node E[154,61] (.leaf E[154,55]) (.empty)) (.leaf E[154,85])))) (.node E[155,141] (.node E[155,51] (.node E[155,6] (.node E[154,145] (.leaf E[154,137]) (.empty)) (.leaf E[155,45])) (.node E[155,79] (.node E[155,68] (.leaf E[155,62]) (.empty)) (.leaf E[155,99]))) (.node E[156,64] (.node E[156,38] (.node E[156,7] (.leaf E[155,151]) (.empty)) (.leaf E[156,50])) (.node E[156,78] (.leaf E[156,73]) (.leaf E[156,100])))))) (.node E[161,42] (.node E[159,3] (.node E[157,148] (.node E[157,59] (.node E[157,47] (.node E[157,7] (.leaf E[156,152]) (.empty)) (.leaf E[157,49])) (.node E[157,99] (.node E[157,80] (.leaf E[157,77]) (.empty)) (.leaf E[157,134]))) (.node E[158,69] (.node E[158,52] (.node E[158,39] (.leaf E[158,5]) (.empty)) (.leaf E[158,60])) (.node E[158,139] (.node E[158,100] (.leaf E[158,82]) (.empty)) (.leaf E[158,150])))) (.node E[160,46] (.node E[159,87] (.node E[159,65] (.node E[159,54] (.leaf E[159,41]) (.empty)) (.leaf E[159,75])) (.node E[159,149] (.node E[159,138] (.leaf E[159,99]) (.empty)) (.leaf E[160,6]))) (.node E[160,100] (.node E[160,76] (.node E[160,58] (.leaf E[160,48]) (.empty)) (.leaf E[160,81])) (.node E[160,147] (.leaf E[160,135]) (.leaf E[161,3]))))) (.node E[163,49] (.node E[162,53] (.node E[161,100] (.node E[161,74] (.node E[161,67] (.leaf E[161,56]) (.empty)) (.leaf E[161,83])) (.node E[162,4] (.node E[161,146] (.leaf E[161,136]) (.empty)) (.leaf E[162,40]))) (.node E[162,140] (.node E[162,86] (.node E[162,70] (.leaf E[162,66]) (.empty)) (.leaf E[162,99])) (.node E[163,19] (.node E[163,3] (.leaf E[162,143]) (.empty)) (.leaf E[163,48])))) (.node E[164,75] (.node E[163,154] (.node E[163,89] (.node E[163,72] (.leaf E[163,71]) (.empty)) (.leaf E[163,153])) (.node E[164,50] (.node E[164,20] (.leaf E[164,4]) (.empty)) (.leaf E[164,55]))) (.node E[165,5] (.node E[164,159] (.node E[164,89] (.leaf E[164,76]) (.empty)) (.leaf E[164,160])) (.node E[165,51] (.leaf E[165,18]) (.leaf E[165,57]))))))) (.node E[172,106] (.node E[169,80] (.node E[167,89] (.node E[166,73] (.node E[166,6] (.node E[165,157] (.node E[165,89] (.leaf E[165,77]) (.empty)) (.leaf E[165,161])) (.node E[166,54] (.node E[166,52] (.leaf E[166,22]) (.empty)) (.leaf E[166,70]))) (.node E[167,21] (.node E[166,162] (.node E[166,156] (.leaf E[166,89]) (.empty)) (.leaf E[167,7])) (.node E[167,68] (.node E[167,56] (.leaf E[167,53]) (.empty)) (.leaf E[167,69])))) (.node E[168,104] (.node E[168,41] (.node E[168,8] (.node E[167,158] (.leaf E[167,155]) (.empty)) (.leaf E[168,19])) (.node E[168,79] (.node E[168,78] (.leaf E[168,42]) (.empty)) (.leaf E[168,90]))) (.node E[169,12] (.node E[168,155] (.node E[168,145] (.leaf E[168,144]) (.empty)) (.leaf E[168,156])) (.node E[169,40] (.leaf E[169,20]) (.leaf E[169,43]))))) (.node E[171,10] (.node E[170,39] (.node E[169,149] (.node E[169,103] (.node E[169,91] (.leaf E[169,82]) (.empty)) (.leaf E[169,147])) (.node E[170,11] (.node E[169,158] (.leaf E[169,157]) (.empty)) (.leaf E[170,18]))) (.node E[170,107] (.node E[170,86] (.node E[170,81] (.leaf E[170,44]) (.empty)) (.leaf E[170,93])) (.node E[170,160] (.node E[170,148] (.leaf E[170,146]) (.empty)) (.leaf E[170,162])))) (.node E[171,154] (.node E[171,85] (.node E[171,46] (.node E[171,45] (.leaf E[171,22]) (.empty)) (.leaf E[171,83])) (.node E[171,143] (.node E[171,105] (.leaf E[171,94]) (.empty)) (.leaf E[171,152]))) (.node E[172,47] (.node E[172,21] (.node E[172,9] (.leaf E[171,161]) (.empty)) (.leaf E[172,38])) (.node E[172,87] (.leaf E[172,84]) (.leaf E[172,92])))))) (.node E[176,35] (.node E[174,81] (.node E[173,82] (.node E[173,8] (.node E[172,153] (.node E[172,151] (.leaf E[172,150]) (.empty)) (.leaf E[172,159])) (.node E[173,28] (.node E[173,23] (.leaf E[173,22]) (.empty)) (.leaf E[173,76]))) (.node E[174,9] (.node E[173,129] (.node E[173,119] (.leaf E[173,101]) (.empty)) (.leaf E[173,133])) (.node E[174,33] (.node E[174,26] (.leaf E[174,19]) (.empty)) (.leaf E[174,74])))) (.node E[175,80] (.node E[175,10] (.node E[174,123] (.node E[174,113] (.leaf E[174,101]) (.empty)) (.leaf E[174,139])) (.node E[175,34] (.node E[175,23] (.leaf E[175,19]) (.empty)) (.leaf E[175,75]))) (.node E[175,173] (.node E[175,124] (.node E[175,114] (.leaf E[175,102]) (.empty)) (.leaf E[175,140])) (.node E[176,20] (.leaf E[176,11]) (.leaf E[176,24]))))) (.node E[178,37] (.node E[177,36] (.node E[176,126] (.node E[176,101] (.node E[176,78] (.leaf E[176,71]) (.empty)) (.leaf E[176,121])) (.node E[177,18] (.node E[177,10] (.leaf E[176,136]) (.empty)) (.leaf E[177,25]))) (.node E[177,132] (.node E[177,101] (.node E[177,84] (.leaf E[177,69]) (.empty)) (.leaf E[177,115])) (.node E[178,18] (.node E[178,12] (.leaf E[177,142]) (.empty)) (.leaf E[178,24])))) (.node E[179,27] (.node E[178,125] (.node E[178,102] (.node E[178,79] (.leaf E[178,72]) (.empty)) (.leaf E[178,122])) (.node E[179,12] (.node E[178,176] (.leaf E[178,138]) (.empty)) (.leaf E[179,21]))) (.node E[179,117] (.node E[179,83] (.node E[179,73] (.leaf E[179,30]) (.empty)) (.leaf E[179,101])) (.node E[179,135] (.leaf E[179,130]) (.leaf E[180,9])))))))) (.node E[194,163] (.node E[187,86] (.node E[183,114] (.node E[181,174] (.node E[181,8] (.node E[180,102] (.node E[180,70] (.node E[180,32] (.leaf E[180,27]) (.empty)) (.leaf E[180,85])) (.node E[180,141] (.node E[180,131] (.leaf E[180,116]) (.empty)) (.leaf E[180,179]))) (.node E[181,86] (.node E[181,29] (.node E[181,26] (.leaf E[181,21]) (.empty)) (.leaf E[181,77])) (.node E[181,128] (.node E[181,118] (.leaf E[181,102]) (.empty)) (.leaf E[181,137])))) (.node E[182,134] (.node E[182,68] (.node E[182,25] (.node E[182,22] (.leaf E[182,11]) (.empty)) (.leaf E[182,31])) (.node E[182,120] (.node E[182,102] (.leaf E[182,87]) (.empty)) (.leaf E[182,127]))) (.node E[183,28] (.node E[183,17] (.node E[183,7] (.leaf E[182,177]) (.empty)) (.leaf E[183,24])) (.node E[183,87] (.leaf E[183,44]) (.leaf E[183,95]))))) (.node E[185,117] (.node E[184,120] (.node E[184,27] (.node E[184,3] (.node E[183,154] (.leaf E[183,147]) (.empty)) (.leaf E[184,14])) (.node E[184,79] (.node E[184,40] (.leaf E[184,36]) (.empty)) (.leaf E[184,95]))) (.node E[185,25] (.node E[185,3] (.node E[184,162] (.leaf E[184,150]) (.empty)) (.leaf E[185,15])) (.node E[185,78] (.node E[185,39] (.leaf E[185,32]) (.empty)) (.leaf E[185,96])))) (.node E[186,118] (.node E[186,25] (.node E[186,4] (.node E[185,158] (.leaf E[185,143]) (.empty)) (.leaf E[186,13])) (.node E[186,80] (.node E[186,45] (.leaf E[186,33]) (.empty)) (.leaf E[186,95]))) (.node E[187,16] (.node E[186,185] (.node E[186,155] (.leaf E[186,146]) (.empty)) (.leaf E[187,5])) (.node E[187,30] (.leaf E[187,23]) (.leaf E[187,41])))))) (.node E[191,26] (.node E[189,46] (.node E[188,81] (.node E[188,5] (.node E[187,152] (.node E[187,116] (.leaf E[187,95]) (.empty)) (.leaf E[187,159])) (.node E[188,34] (.node E[188,27] (.leaf E[188,13]) (.empty)) (.leaf E[188,38]))) (.node E[188,184] (.node E[188,149] (.node E[188,119] (.leaf E[188,96]) (.empty)) (.leaf E[188,156])) (.node E[189,23] (.node E[189,14] (.leaf E[189,7]) (.empty)) (.leaf E[189,37])))) (.node E[190,35] (.node E[189,160] (.node E[189,121] (.node E[189,96] (.leaf E[189,84]) (.empty)) (.leaf E[189,145])) (.node E[190,15] (.node E[190,6] (.leaf E[189,187]) (.empty)) (.leaf E[190,26]))) (.node E[190,144] (.node E[190,95] (.node E[190,85] (.leaf E[190,47]) (.empty)) (.leaf E[190,122])) (.node E[191,4] (.leaf E[190,157]) (.leaf E[191,17]))))) (.node E[193,9] (.node E[192,16] (.node E[191,115] (.node E[191,82] (.node E[191,42] (.leaf E[191,31]) (.empty)) (.leaf E[191,96])) (.node E[191,190] (.node E[191,161] (.leaf E[191,151]) (.empty)) (.leaf E[192,6]))) (.node E[192,96] (.node E[192,43] (.node E[192,29] (.leaf E[192,24]) (.empty)) (.leaf E[192,83])) (.node E[192,153] (.node E[192,148] (.leaf E[192,113]) (.empty)) (.leaf E[192,183])))) (.node E[193,191] (.node E[193,68] (.node E[193,49] (.node E[193,23] (.leaf E[193,17]) (.empty)) (.leaf E[193,64])) (.node E[193,163] (.node E[193,149] (.leaf E[193,107]) (.empty)) (.leaf E[193,180]))) (.node E[194,62] (.node E[194,26] (.node E[194,16] (.leaf E[194,10]) (.empty)) (.leaf E[194,48])) (.node E[194,103] (.leaf E[194,73]) (.leaf E[194,146]))))))) (.node E[201,71] (.node E[198,13] (.node E[196,106] (.node E[195,144] (.node E[195,24] (.node E[195,9] (.node E[194,187] (.leaf E[194,177]) (.empty)) (.leaf E[195,14])) (.node E[195,69] (.node E[195,59] (.leaf E[195,50]) (.empty)) (.leaf E[195,105]))) (.node E[196,15] (.node E[195,184] (.node E[195,174] (.leaf E[195,164]) (.empty)) (.leaf E[196,10])) (.node E[196,58] (.node E[196,51] (.leaf E[196,24]) (.empty)) (.leaf E[196,70])))) (.node E[197,61] (.node E[196,195] (.node E[196,175] (.node E[196,165] (.leaf E[196,145]) (.empty)) (.leaf E[196,185])) (.node E[197,23] (.node E[197,13] (.leaf E[197,11]) (.empty)) (.leaf E[197,52]))) (.node E[197,176] (.node E[197,147] (.node E[197,106] (.leaf E[197,74]) (.empty)) (.leaf E[197,166])) (.node E[197,193] (.leaf E[197,186]) (.leaf E[198,12]))))) (.node E[199,179] (.node E[198,194] (.node E[198,105] (.node E[198,63] (.node E[198,53] (.leaf E[198,26]) (.empty)) (.leaf E[198,75])) (.node E[198,178] (.node E[198,167] (.leaf E[198,148]) (.empty)) (.leaf E[198,188]))) (.node E[199,66] (.node E[199,25] (.node E[199,17] (.leaf E[199,12]) (.empty)) (.leaf E[199,57])) (.node E[199,150] (.node E[199,104] (.leaf E[199,76]) (.empty)) (.leaf E[199,165])))) (.node E[200,166] (.node E[200,54] (.node E[200,14] (.node E[200,8] (.leaf E[199,183]) (.empty)) (.leaf E[200,25])) (.node E[200,103] (.node E[200,72] (.leaf E[200,67]) (.empty)) (.leaf E[200,151]))) (.node E[201,15] (.node E[200,199] (.node E[200,189] (.leaf E[200,181]) (.empty)) (.leaf E[201,8])) (.node E[201,56] (.leaf E[201,27]) (.leaf E[201,65])))))) (.node E[204,138] (.node E[203,28] (.node E[202,60] (.node E[201,190] (.node E[201,167] (.node E[201,152] (.leaf E[201,107]) (.empty)) (.leaf E[201,173])) (.node E[202,27] (.node E[202,16] (.leaf E[202,11]) (.empty)) (.leaf E[202,55]))) (.node E[202,182] (.node E[202,143] (.node E[202,104] (.leaf E[202,77]) (.empty)) (.leaf E[202,164])) (.node E[203,3] (.node E[202,201] (.leaf E[202,192]) (.empty)) (.leaf E[203,13])))) (.node E[204,6] (.node E[203,123] (.node E[203,70] (.node E[203,69] (.leaf E[203,29]) (.empty)) (.leaf E[203,108])) (.node E[203,135] (.node E[203,134] (.leaf E[203,124]) (.empty)) (.leaf E[203,163]))) (.node E[204,77] (.node E[204,36] (.node E[204,34] (.leaf E[204,17]) (.empty)) (.leaf E[204,71])) (.node E[204,127] (.leaf E[204,109]) (.leaf E[204,129]))))) (.node E[206,76] (.node E[205,126] (.node E[205,30] (.node E[205,4] (.node E[204,166] (.leaf E[204,139]) (.empty)) (.leaf E[205,15])) (.node E[205,74] (.node E[205,68] (.leaf E[205,37]) (.empty)) (.leaf E[205,112]))) (.node E[206,7] (.node E[205,142] (.node E[205,137] (.leaf E[205,131]) (.empty)) (.leaf E[205,164])) (.node E[206,33] (.node E[206,32] (.leaf E[206,16]) (.empty)) (.leaf E[206,72])))) (.node E[207,35] (.node E[206,140] (.node E[206,130] (.node E[206,128] (.leaf E[206,110]) (.empty)) (.leaf E[206,136])) (.node E[207,14] (.node E[207,5] (.leaf E[206,167]) (.empty)) (.leaf E[207,31]))) (.node E[207,132] (.node E[207,111] (.node E[207,75] (.leaf E[207,73]) (.empty)) (.leaf E[207,125])) (.node E[207,141] (.leaf E[207,133]) (.leaf E[207,165])))))))))
-- This solution resolves all issues. It was proposed by Mario Carneiro at
-- https://proofassistants.stackexchange.com/a/2102/169
-- The idea is to load the data from a JSON file and circumvent elaboration
-- and the linter by creating the required objects more directly.
-- Note that the solution depends on mathlib4, and more precisely the
-- Qq library.
import Lean
import Qq
structure Edge (n : Nat) : Type :=
edge ::
fst : Fin n
snd : Fin fst
open Edge
inductive Tree (α : Type) : Type
| empty : Tree α
| leaf : α → Tree α
| node : α → Tree α → Tree α → Tree α
def Edge.mk' (n a b : Nat) (H : Nat.blt a n = true) (H2 : Nat.blt b a = true) : Edge n :=
⟨⟨a, by simp_all⟩, ⟨b, (by simp_all : b < a)⟩⟩
open Qq Lean Meta Elab
def mkEdge (n : Q(Nat)) (j : Json) : Except String Q(Edge $n) := do
let arr ← j.getArr?
have a : Q(Nat) := mkRawNatLit (← arr[0]!.getNat?)
have b : Q(Nat) := mkRawNatLit (← arr[1]!.getNat?)
have H : Q(Nat.blt $a $n = true) := (q(Eq.refl true) : Expr)
have H2 : Q(Nat.blt $b $a = true) := (q(Eq.refl true) : Expr)
pure q(Edge.mk' $n $a $b $H $H2)
partial def mkTree (n : Q(Nat)) (j : Json) : Except String Q(Tree (Edge $n)) := do
let arr ← j.getArr?
match arr with
| #[e, l, r] => pure q(Tree.node $(← mkEdge n e) $(← mkTree n l) $(← mkTree n r))
| #[] => pure q(Tree.empty)
| _ => pure q(Tree.leaf $(← mkEdge n j))
elab "tree_from_file" name:ident " from " file:str : command => do
let file ← IO.FS.readFile file.getString
let result : Except String (Q(Nat) × Expr) := do
let .arr #[n, tree] ← Json.parse file | throw "bad format"
let n : Q(Nat) := mkRawNatLit (← n.getNat?)
pure (n, ← mkTree n tree)
let .ok (n, value) := result | throwError "failed to parse"
Elab.Command.liftCoreM <| addDecl <| .defnDecl {
name := name.getId
levelParams := []
type := q(Tree (Edge $n))
value
hints := .regular 0
safety := .safe
}
tree_from_file test from "test.json"
#check test -- test : Tree (Edge 666)
[666, [[147, 74], [[110, 2], [[85, 13], [[60, 36], [[43, 33], [[29, 20], [[8, 3], [[4, 0], [[2, 1], [[2, 0], [1, 0], []], [3, 0]], [[7, 0], [[6, 0], [5, 0], []], [8, 0]]], [[11, 0], [[10, 0], [[9, 7], [9, 0], []], [10, 6]], [[12, 4], [[12, 0], [11, 5], []], [28, 18]]]], [[38, 28], [[34, 21], [[32, 18], [[31, 19], [30, 19], []], [33, 22]], [[37, 22], [[36, 20], [35, 21], []], [38, 18]]], [[41, 18], [[40, 19], [[39, 30], [39, 19], []], [40, 31]], [[42, 36], [[42, 20], [41, 32], []], [43, 22]]]]], [[52, 41], [[48, 47], [[46, 21], [[45, 20], [[44, 34], [44, 21], []], [45, 29]], [[47, 37], [[47, 22], [46, 35], []], [48, 27]]], [[50, 49], [[50, 25], [[49, 46], [49, 25], []], [50, 44]], [[51, 48], [[51, 43], [51, 27], []], [52, 26]]]], [[56, 54], [[55, 26], [[54, 24], [[53, 42], [53, 23], []], [54, 39]], [[56, 24], [[55, 52], [55, 38], []], [56, 40]]], [[58, 28], [[57, 53], [[57, 45], [57, 23], []], [58, 26]], [[59, 29], [59, 23], [60, 23]]]]]], [[74, 34], [[68, 14], [[64, 62], [[62, 31], [[61, 37], [[61, 27], [60, 59], []], [62, 24]], [[64, 24], [[63, 35], [63, 25], []], [64, 30]]], [[66, 32], [[65, 63], [[65, 34], [65, 25], []], [66, 26]], [[67, 33], [[67, 27], [66, 58], []], [67, 61]]]], [[71, 32], [[69, 61], [[69, 17], [[68, 58], [68, 28], []], [69, 37]], [[70, 63], [[70, 35], [70, 16], []], [71, 14]]], [[73, 15], [[72, 36], [[72, 15], [71, 66], []], [72, 60]], [[73, 59], [73, 29], [74, 16]]]]], [[80, 38], [[77, 64], [[76, 13], [[75, 33], [[75, 17], [74, 65], []], [75, 67]], [[77, 13], [[76, 62], [76, 31], []], [77, 30]]], [[79, 16], [[78, 48], [[78, 47], [78, 17], []], [78, 75]], [[79, 74], [[79, 49], [79, 46], []], [80, 14]]]], [[82, 70], [[81, 57], [[81, 15], [[80, 71], [80, 55], []], [81, 45]], [[82, 44], [[82, 16], [81, 72], []], [82, 50]]], [[84, 13], [[83, 52], [[83, 41], [83, 14], []], [83, 68]], [[84, 56], [84, 40], [84, 77]]]]]]], [[97, 96], [[92, 9], [[89, 19], [[87, 53], [[86, 43], [[85, 76], [[85, 54], [85, 39], []], [86, 17]], [[87, 15], [[86, 69], [86, 51], []], [87, 42]]], [[88, 15], [[88, 13], [[88, 1], [87, 73], []], [88, 14]], [[89, 1], [[88, 17], [88, 16], []], [89, 18]]]], [[90, 59], [[90, 8], [[89, 22], [[89, 21], [89, 20], []], [89, 88]], [[90, 44], [[90, 43], [90, 13], []], [90, 58]]], [[91, 46], [[91, 15], [[91, 12], [90, 88], []], [91, 41]], [[91, 64], [91, 61], [91, 88]]]]], [[94, 88], [[93, 47], [[92, 67], [[92, 45], [[92, 39], [92, 16], []], [92, 66]], [[93, 14], [[93, 11], [92, 88], []], [93, 42]]], [[94, 17], [[93, 88], [[93, 63], [93, 62], []], [94, 10]], [[94, 60], [[94, 40], [94, 38], []], [94, 65]]]], [[96, 32], [[95, 35], [[95, 30], [[95, 28], [95, 1], []], [95, 33]], [[96, 29], [[96, 1], [95, 36], []], [96, 31]]], [[97, 51], [[97, 1], [[96, 37], [96, 34], []], [97, 49]], [[97, 54], [97, 53], [97, 55]]]]]], [[103, 67], [[101, 1], [[99, 61], [[98, 56], [[98, 50], [[98, 48], [98, 1], []], [98, 52]], [[99, 1], [[98, 95], [98, 57], []], [99, 59]]], [[100, 58], [[99, 66], [[99, 65], [99, 62], []], [100, 1]], [[100, 64], [[100, 63], [100, 60], []], [100, 67]]]], [[102, 85], [[101, 84], [[101, 82], [[101, 81], [101, 78], []], [101, 83]], [[102, 79], [[102, 1], [101, 99], []], [102, 80]]], [[103, 20], [[102, 100], [[102, 87], [102, 86], []], [103, 2]], [[103, 34], [103, 28], [103, 62]]]]], [[107, 18], [[105, 32], [[104, 60], [[104, 35], [[104, 19], [104, 2], []], [104, 37]], [[105, 22], [[105, 2], [104, 66], []], [105, 30]]], [[106, 31], [[106, 2], [[105, 63], [105, 59], []], [106, 21]], [[106, 61], [[106, 58], [106, 36], []], [107, 2]]]], [[108, 87], [[108, 2], [[107, 64], [[107, 33], [107, 29], []], [107, 65]], [[108, 51], [[108, 50], [108, 13], []], [108, 83]]], [[109, 56], [[109, 17], [[109, 2], [108, 104], []], [109, 55]], [[109, 81], [109, 79], [109, 105]]]]]]]], [[129, 41], [[119, 112], [[115, 27], [[112, 103], [[111, 53], [[110, 80], [[110, 57], [[110, 54], [110, 16], []], [110, 78]], [[111, 14], [[111, 2], [110, 106], []], [111, 48]]], [[112, 15], [[111, 107], [[111, 85], [111, 82], []], [112, 2]], [[112, 84], [[112, 52], [112, 49], []], [112, 86]]]], [[114, 19], [[113, 53], [[113, 25], [[113, 19], [113, 6], []], [113, 38]], [[113, 111], [[113, 91], [113, 61], []], [114, 7]]], [[114, 93], [[114, 52], [[114, 45], [114, 27], []], [114, 63]], [[115, 4], [114, 112], [115, 18]]]]], [[117, 55], [[116, 47], [[115, 110], [[115, 59], [[115, 54], [115, 46], []], [115, 90]], [[116, 20], [[116, 5], [115, 114], []], [116, 25]]], [[116, 113], [[116, 90], [[116, 58], [116, 56], []], [116, 109]], [[117, 23], [[117, 21], [117, 3], []], [117, 43]]]], [[118, 94], [[118, 21], [[117, 109], [[117, 93], [117, 62], []], [118, 4]], [[118, 48], [[118, 41], [118, 24], []], [118, 60]]], [[119, 42], [[119, 22], [[119, 5], [118, 111], []], [119, 24]], [[119, 66], [119, 49], [119, 92]]]]]], [[124, 56], [[122, 18], [[121, 7], [[120, 44], [[120, 22], [[120, 3], [119, 118], []], [120, 26]], [[120, 91], [[120, 64], [120, 57], []], [120, 110]]], [[121, 65], [[121, 39], [[121, 26], [121, 20], []], [121, 51]], [[121, 120], [[121, 108], [121, 94], []], [122, 6]]]], [[123, 47], [[122, 92], [[122, 50], [[122, 40], [122, 23], []], [122, 67]], [[123, 12], [[122, 117], [122, 108], []], [123, 28]]], [[123, 97], [[123, 74], [[123, 60], [123, 54], []], [123, 93]], [[124, 29], [124, 11], [124, 46]]]]], [[126, 97], [[125, 72], [[125, 9], [[124, 91], [[124, 75], [124, 66], []], [124, 98]], [[125, 52], [[125, 43], [125, 31], []], [125, 65]]], [[126, 44], [[126, 10], [[125, 98], [125, 90], []], [126, 30]], [[126, 71], [[126, 67], [126, 53], []], [126, 90]]]], [[128, 32], [[127, 59], [[127, 39], [[127, 34], [127, 12], []], [127, 48]], [[127, 98], [[127, 92], [127, 68], []], [128, 10]]], [[128, 93], [[128, 61], [[128, 50], [128, 42], []], [128, 77]], [[129, 9], [128, 98], [129, 36]]]]]]], [[138, 58], [[134, 7], [[131, 94], [[130, 58], [[129, 97], [[129, 76], [[129, 63], [129, 51], []], [129, 91]], [[130, 40], [[130, 33], [130, 11], []], [130, 49]]], [[131, 37], [[130, 97], [[130, 94], [130, 73], []], [131, 8]], [[131, 62], [[131, 57], [131, 38], []], [131, 70]]]], [[133, 4], [[132, 55], [[132, 35], [[132, 8], [131, 98], []], [132, 45]], [[132, 92], [[132, 69], [132, 64], []], [132, 97]]], [[133, 79], [[133, 61], [[133, 39], [133, 28], []], [133, 73]], [[133, 121], [133, 109], [133, 128]]]]], [[136, 38], [[135, 30], [[134, 81], [[134, 67], [[134, 41], [134, 31], []], [134, 70]], [[134, 126], [[134, 118], [134, 109], []], [135, 6]]], [[135, 110], [[135, 69], [[135, 65], [135, 42], []], [135, 80]], [[136, 3], [[135, 125], [135, 119], []], [136, 35]]]], [[137, 63], [[136, 113], [[136, 86], [[136, 76], [136, 59], []], [136, 112]], [[137, 29], [[137, 5], [136, 127], []], [137, 40]]], [[137, 129], [[137, 110], [[137, 78], [137, 68], []], [137, 122]], [[138, 37], [138, 3], [138, 45]]]]]], [[142, 111], [[140, 83], [[139, 71], [[138, 130], [[138, 111], [[138, 82], [138, 77], []], [138, 114]], [[139, 46], [[139, 33], [139, 5], []], [139, 62]]], [[140, 4], [[139, 115], [[139, 108], [139, 87], []], [139, 131]], [[140, 64], [[140, 47], [140, 34], []], [140, 72]]]], [[141, 112], [[141, 32], [[140, 132], [[140, 116], [140, 108], []], [141, 6]], [[141, 75], [[141, 60], [141, 44], []], [141, 84]]], [[142, 43], [[142, 7], [[141, 123], [141, 120], []], [142, 36]], [[142, 74], [142, 66], [142, 85]]]]], [[145, 33], [[143, 125], [[143, 46], [[143, 9], [[142, 124], [142, 117], []], [143, 28]], [[143, 78], [[143, 77], [143, 53], []], [143, 103]]], [[144, 69], [[144, 41], [[144, 34], [144, 11], []], [144, 57]], [[144, 130], [[144, 103], [144, 85], []], [145, 12]]]], [[146, 56], [[145, 107], [[145, 70], [[145, 55], [145, 42], []], [145, 84]], [[146, 37], [[146, 9], [145, 127], []], [146, 44]]], [[147, 8], [[146, 104], [[146, 80], [146, 73], []], [146, 129]], [[147, 40], [147, 32], [147, 48]]]]]]]]], [[180, 20], [[165, 74], [[156, 142], [[152, 50], [[150, 10], [[148, 106], [[148, 36], [[147, 132], [[147, 105], [147, 87], []], [148, 8]], [[148, 75], [[148, 49], [148, 39], []], [148, 83]]], [[149, 54], [[149, 35], [[149, 10], [148, 131], []], [149, 43]], [[149, 104], [[149, 81], [149, 68], []], [149, 128]]]], [[151, 38], [[150, 79], [[150, 52], [[150, 47], [150, 29], []], [150, 76]], [[151, 11], [[150, 126], [150, 107], []], [151, 30]]], [[151, 124], [[151, 82], [[151, 72], [151, 51], []], [151, 105]], [[152, 31], [152, 12], [152, 45]]]]], [[154, 99], [[153, 84], [[153, 4], [[152, 106], [[152, 86], [152, 71], []], [152, 123]], [[153, 63], [[153, 57], [153, 43], []], [153, 71]]], [[154, 44], [[153, 144], [[153, 133], [153, 100], []], [154, 5]], [[154, 72], [[154, 61], [154, 55], []], [154, 85]]]], [[155, 141], [[155, 51], [[155, 6], [[154, 145], [154, 137], []], [155, 45]], [[155, 79], [[155, 68], [155, 62], []], [155, 99]]], [[156, 64], [[156, 38], [[156, 7], [155, 151], []], [156, 50]], [[156, 78], [156, 73], [156, 100]]]]]], [[161, 42], [[159, 3], [[157, 148], [[157, 59], [[157, 47], [[157, 7], [156, 152], []], [157, 49]], [[157, 99], [[157, 80], [157, 77], []], [157, 134]]], [[158, 69], [[158, 52], [[158, 39], [158, 5], []], [158, 60]], [[158, 139], [[158, 100], [158, 82], []], [158, 150]]]], [[160, 46], [[159, 87], [[159, 65], [[159, 54], [159, 41], []], [159, 75]], [[159, 149], [[159, 138], [159, 99], []], [160, 6]]], [[160, 100], [[160, 76], [[160, 58], [160, 48], []], [160, 81]], [[160, 147], [160, 135], [161, 3]]]]], [[163, 49], [[162, 53], [[161, 100], [[161, 74], [[161, 67], [161, 56], []], [161, 83]], [[162, 4], [[161, 146], [161, 136], []], [162, 40]]], [[162, 140], [[162, 86], [[162, 70], [162, 66], []], [162, 99]], [[163, 19], [[163, 3], [162, 143], []], [163, 48]]]], [[164, 75], [[163, 154], [[163, 89], [[163, 72], [163, 71], []], [163, 153]], [[164, 50], [[164, 20], [164, 4], []], [164, 55]]], [[165, 5], [[164, 159], [[164, 89], [164, 76], []], [164, 160]], [[165, 51], [165, 18], [165, 57]]]]]]], [[172, 106], [[169, 80], [[167, 89], [[166, 73], [[166, 6], [[165, 157], [[165, 89], [165, 77], []], [165, 161]], [[166, 54], [[166, 52], [166, 22], []], [166, 70]]], [[167, 21], [[166, 162], [[166, 156], [166, 89], []], [167, 7]], [[167, 68], [[167, 56], [167, 53], []], [167, 69]]]], [[168, 104], [[168, 41], [[168, 8], [[167, 158], [167, 155], []], [168, 19]], [[168, 79], [[168, 78], [168, 42], []], [168, 90]]], [[169, 12], [[168, 155], [[168, 145], [168, 144], []], [168, 156]], [[169, 40], [169, 20], [169, 43]]]]], [[171, 10], [[170, 39], [[169, 149], [[169, 103], [[169, 91], [169, 82], []], [169, 147]], [[170, 11], [[169, 158], [169, 157], []], [170, 18]]], [[170, 107], [[170, 86], [[170, 81], [170, 44], []], [170, 93]], [[170, 160], [[170, 148], [170, 146], []], [170, 162]]]], [[171, 154], [[171, 85], [[171, 46], [[171, 45], [171, 22], []], [171, 83]], [[171, 143], [[171, 105], [171, 94], []], [171, 152]]], [[172, 47], [[172, 21], [[172, 9], [171, 161], []], [172, 38]], [[172, 87], [172, 84], [172, 92]]]]]], [[176, 35], [[174, 81], [[173, 82], [[173, 8], [[172, 153], [[172, 151], [172, 150], []], [172, 159]], [[173, 28], [[173, 23], [173, 22], []], [173, 76]]], [[174, 9], [[173, 129], [[173, 119], [173, 101], []], [173, 133]], [[174, 33], [[174, 26], [174, 19], []], [174, 74]]]], [[175, 80], [[175, 10], [[174, 123], [[174, 113], [174, 101], []], [174, 139]], [[175, 34], [[175, 23], [175, 19], []], [175, 75]]], [[175, 173], [[175, 124], [[175, 114], [175, 102], []], [175, 140]], [[176, 20], [176, 11], [176, 24]]]]], [[178, 37], [[177, 36], [[176, 126], [[176, 101], [[176, 78], [176, 71], []], [176, 121]], [[177, 18], [[177, 10], [176, 136], []], [177, 25]]], [[177, 132], [[177, 101], [[177, 84], [177, 69], []], [177, 115]], [[178, 18], [[178, 12], [177, 142], []], [178, 24]]]], [[179, 27], [[178, 125], [[178, 102], [[178, 79], [178, 72], []], [178, 122]], [[179, 12], [[178, 176], [178, 138], []], [179, 21]]], [[179, 117], [[179, 83], [[179, 73], [179, 30], []], [179, 101]], [[179, 135], [179, 130], [180, 9]]]]]]]], [[194, 163], [[187, 86], [[183, 114], [[181, 174], [[181, 8], [[180, 102], [[180, 70], [[180, 32], [180, 27], []], [180, 85]], [[180, 141], [[180, 131], [180, 116], []], [180, 179]]], [[181, 86], [[181, 29], [[181, 26], [181, 21], []], [181, 77]], [[181, 128], [[181, 118], [181, 102], []], [181, 137]]]], [[182, 134], [[182, 68], [[182, 25], [[182, 22], [182, 11], []], [182, 31]], [[182, 120], [[182, 102], [182, 87], []], [182, 127]]], [[183, 28], [[183, 17], [[183, 7], [182, 177], []], [183, 24]], [[183, 87], [183, 44], [183, 95]]]]], [[185, 117], [[184, 120], [[184, 27], [[184, 3], [[183, 154], [183, 147], []], [184, 14]], [[184, 79], [[184, 40], [184, 36], []], [184, 95]]], [[185, 25], [[185, 3], [[184, 162], [184, 150], []], [185, 15]], [[185, 78], [[185, 39], [185, 32], []], [185, 96]]]], [[186, 118], [[186, 25], [[186, 4], [[185, 158], [185, 143], []], [186, 13]], [[186, 80], [[186, 45], [186, 33], []], [186, 95]]], [[187, 16], [[186, 185], [[186, 155], [186, 146], []], [187, 5]], [[187, 30], [187, 23], [187, 41]]]]]], [[191, 26], [[189, 46], [[188, 81], [[188, 5], [[187, 152], [[187, 116], [187, 95], []], [187, 159]], [[188, 34], [[188, 27], [188, 13], []], [188, 38]]], [[188, 184], [[188, 149], [[188, 119], [188, 96], []], [188, 156]], [[189, 23], [[189, 14], [189, 7], []], [189, 37]]]], [[190, 35], [[189, 160], [[189, 121], [[189, 96], [189, 84], []], [189, 145]], [[190, 15], [[190, 6], [189, 187], []], [190, 26]]], [[190, 144], [[190, 95], [[190, 85], [190, 47], []], [190, 122]], [[191, 4], [190, 157], [191, 17]]]]], [[193, 9], [[192, 16], [[191, 115], [[191, 82], [[191, 42], [191, 31], []], [191, 96]], [[191, 190], [[191, 161], [191, 151], []], [192, 6]]], [[192, 96], [[192, 43], [[192, 29], [192, 24], []], [192, 83]], [[192, 153], [[192, 148], [192, 113], []], [192, 183]]]], [[193, 191], [[193, 68], [[193, 49], [[193, 23], [193, 17], []], [193, 64]], [[193, 163], [[193, 149], [193, 107], []], [193, 180]]], [[194, 62], [[194, 26], [[194, 16], [194, 10], []], [194, 48]], [[194, 103], [194, 73], [194, 146]]]]]]], [[201, 71], [[198, 13], [[196, 106], [[195, 144], [[195, 24], [[195, 9], [[194, 187], [194, 177], []], [195, 14]], [[195, 69], [[195, 59], [195, 50], []], [195, 105]]], [[196, 15], [[195, 184], [[195, 174], [195, 164], []], [196, 10]], [[196, 58], [[196, 51], [196, 24], []], [196, 70]]]], [[197, 61], [[196, 195], [[196, 175], [[196, 165], [196, 145], []], [196, 185]], [[197, 23], [[197, 13], [197, 11], []], [197, 52]]], [[197, 176], [[197, 147], [[197, 106], [197, 74], []], [197, 166]], [[197, 193], [197, 186], [198, 12]]]]], [[199, 179], [[198, 194], [[198, 105], [[198, 63], [[198, 53], [198, 26], []], [198, 75]], [[198, 178], [[198, 167], [198, 148], []], [198, 188]]], [[199, 66], [[199, 25], [[199, 17], [199, 12], []], [199, 57]], [[199, 150], [[199, 104], [199, 76], []], [199, 165]]]], [[200, 166], [[200, 54], [[200, 14], [[200, 8], [199, 183], []], [200, 25]], [[200, 103], [[200, 72], [200, 67], []], [200, 151]]], [[201, 15], [[200, 199], [[200, 189], [200, 181], []], [201, 8]], [[201, 56], [201, 27], [201, 65]]]]]], [[204, 138], [[203, 28], [[202, 60], [[201, 190], [[201, 167], [[201, 152], [201, 107], []], [201, 173]], [[202, 27], [[202, 16], [202, 11], []], [202, 55]]], [[202, 182], [[202, 143], [[202, 104], [202, 77], []], [202, 164]], [[203, 3], [[202, 201], [202, 192], []], [203, 13]]]], [[204, 6], [[203, 123], [[203, 70], [[203, 69], [203, 29], []], [203, 108]], [[203, 135], [[203, 134], [203, 124], []], [203, 163]]], [[204, 77], [[204, 36], [[204, 34], [204, 17], []], [204, 71]], [[204, 127], [204, 109], [204, 129]]]]], [[206, 76], [[205, 126], [[205, 30], [[205, 4], [[204, 166], [204, 139], []], [205, 15]], [[205, 74], [[205, 68], [205, 37], []], [205, 112]]], [[206, 7], [[205, 142], [[205, 137], [205, 131], []], [205, 164]], [[206, 33], [[206, 32], [206, 16], []], [206, 72]]]], [[207, 35], [[206, 140], [[206, 130], [[206, 128], [206, 110], []], [206, 136]], [[207, 14], [[207, 5], [206, 167], []], [207, 31]]], [[207, 132], [[207, 111], [[207, 75], [207, 73], []], [207, 125]], [[207, 141], [207, 133], [207, 165]]]]]]]]]]]
#!/bin/bash
echo Cleaning files
/bin/rm *.agdai *.vo *.vok *.cmi *.cmo
time ocamlc -c example.ml
time lean example.lean
time agda example.agda
time coqc example.v
time lean exampleDependentNoTactic.lean
time lean exampleDependentTactic.lean
time agda exampleDependent.agda
time coqc exampleDependent.v
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment