diff --git a/.travis.yml b/.travis.yml
--- a/.travis.yml
+++ b/.travis.yml
@@ -61,7 +61,7 @@
     env:                   GHCVER=8.0.2        CABALVER=1.24
     addons: {apt: {packages: [ghc-8.0.2,  cabal-install-1.24], sources: hvr-ghc}}
   - ghc: '7.10'
-    env:                   GHCVER=7.10.3       CABALVER=1.22   STACKR=--resolver=lts-11.11
+    env:                   GHCVER=7.10.3       CABALVER=1.22   STACK_YAML=stack-lts-11.yaml
     addons: {apt: {packages: [ghc-7.10.3, cabal-install-1.22], sources: hvr-ghc}}
   # we only support stack with GHC >= 7.10
   - ghc: '7.8'
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2018, Rudy Matela
+Copyright (c) 2018-2019, Rudy Matela
 
 All rights reserved.
 
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,8 @@
 GHCIMPORTDIRS = src:test
 # -dynamic is needed only for src/Test/LeanCheck/Derive.hs and test/derive.hs
 GHCFLAGS = -O2 $(shell grep -q "Arch Linux" /etc/lsb-release && echo -dynamic)
-HADDOCKFLAGS = --no-print-missing-docs
+HADDOCKFLAGS = --no-print-missing-docs \
+  $(shell grep -q "Arch Linux" /etc/lsb-release && echo --optghc=-dynamic)
 
 all: mk/toplibs
 
@@ -92,8 +93,28 @@
 	./bench/tiers "Natural"          | diff -rud test/diff/tiers-Natural.out     -
 	./bench/tiers "Text"             | diff -rud test/diff/tiers-Text.out        -
 	./bench/tiers "ByteString" 6     | diff -rud test/diff/tiers-ByteString.out  -
+	./bench/tiers "Set Int"          | diff -rud test/diff/tiers-SetInt.out      -
+	./bench/tiers "Set Bool"         | diff -rud test/diff/tiers-SetBool.out     -
+	./bench/tiers "Map Int Int"      | diff -rud test/diff/tiers-MapIntInt.out   -
+	./bench/tiers "Map Bool Bool"    | diff -rud test/diff/tiers-MapBoolBool.out -
+	./bench/tiers "Seq Int"          | diff -rud test/diff/tiers-SeqInt.out      -
+	./bench/tiers "Seq Bool"         | diff -rud test/diff/tiers-SeqBool.out     -
+	./bench/tiers "IntMap Int"       | diff -rud test/diff/tiers-IntMapInt.out   -
+	./bench/tiers "IntSet"           | diff -rud test/diff/tiers-IntSet.out      -
+	./bench/tiers "UTCTime"          | diff -rud test/diff/tiers-UTCTime.out     -
+	./bench/tiers "Array Int Int"    | diff -rud test/diff/tiers-ArrayIntInt.out -
 
 update-diff-test-tiers: bench/tiers
 	./bench/tiers "Natural"          > test/diff/tiers-Natural.out
 	./bench/tiers "Text"             > test/diff/tiers-Text.out
 	./bench/tiers "ByteString" 6     > test/diff/tiers-ByteString.out
+	./bench/tiers "Set Int"          > test/diff/tiers-SetInt.out
+	./bench/tiers "Set Bool"         > test/diff/tiers-SetBool.out
+	./bench/tiers "Map Int Int"      > test/diff/tiers-MapIntInt.out
+	./bench/tiers "Map Bool Bool"    > test/diff/tiers-MapBoolBool.out
+	./bench/tiers "Seq Int"          > test/diff/tiers-SeqInt.out
+	./bench/tiers "Seq Bool"         > test/diff/tiers-SeqBool.out
+	./bench/tiers "IntMap Int"       > test/diff/tiers-IntMapInt.out
+	./bench/tiers "IntSet"           > test/diff/tiers-IntSet.out
+	./bench/tiers "UTCTime"          > test/diff/tiers-UTCTime.out
+	./bench/tiers "Array Int Int"    > test/diff/tiers-ArrayIntInt.out
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -25,9 +25,45 @@
 Examples
 --------
 
-TBA
+Importing the library:
 
+	> import Test.LeanCheck
+	> import Test.LeanCheck.Instances
 
+Checking properties of `Text`:
+
+	> import qualified Data.Text as T
+	> check $ \t -> T.reverse (T.reverse t) == t
+	+++ OK, passed 200 tests.
+	> check $ \t -> T.reverse t == t
+	*** Failed! Falsifiable (after 6 tests):
+	"a "
+
+Enumerating maps:
+
+	> import Data.Map
+	> list :: [Map Bool Bool]
+	[ fromList []
+	, fromList [(False,False)]
+	, fromList [(False,True)]
+	, fromList [(True,False)]
+	, fromList [(True,True)]
+	, fromList [(False,False),(True,False)]
+	, fromList [(False,False),(True,True)]
+	, fromList [(False,True),(True,False)]
+	, fromList [(False,True),(True,True)]
+	]
+	> take 7 $ list :: [Map Int Int]
+	[ fromList []
+	, fromList [(0,0)]
+	, fromList [(0,1)]
+	, fromList [(1,0)]
+	, fromList [(0,-1)]
+	, fromList [(1,1)]
+	, fromList [(0,0),(1,0)]
+	]
+
+
 Further reading / see also
 --------------------------
 
@@ -62,8 +98,8 @@
 [build-log]:    https://travis-ci.org/rudymatela/leancheck-instances
 [hackage-version]: https://img.shields.io/hackage/v/leancheck-instances.svg
 [leancheck-instances-on-hackage]:          https://hackage.haskell.org/package/leancheck-instances
-[stackage-lts-badge]:                      http://stackage.org/package/leancheck-instances/badge/lts
-[stackage-nightly-badge]:                  http://stackage.org/package/leancheck-instances/badge/nightly
-[leancheck-instances-on-stackage]:         http://stackage.org/package/leancheck-instances
-[leancheck-instances-on-stackage-lts]:     http://stackage.org/lts/package/leancheck-instances
-[leancheck-instances-on-stackage-nightly]: http://stackage.org/nightly/package/leancheck-instances
+[stackage-lts-badge]:                      https://stackage.org/package/leancheck-instances/badge/lts
+[stackage-nightly-badge]:                  https://stackage.org/package/leancheck-instances/badge/nightly
+[leancheck-instances-on-stackage]:         https://stackage.org/package/leancheck-instances
+[leancheck-instances-on-stackage-lts]:     https://stackage.org/lts/package/leancheck-instances
+[leancheck-instances-on-stackage-nightly]: https://stackage.org/nightly/package/leancheck-instances
diff --git a/TODO.md b/TODO.md
--- a/TODO.md
+++ b/TODO.md
@@ -8,6 +8,6 @@
 
 2. add support for all types supported by quickcheck-instances (& release);
 
-* add `WithInstances` module;
+* check why the Array instance produces repetitions
 
 * support more types?
diff --git a/bench/tiers.hs b/bench/tiers.hs
--- a/bench/tiers.hs
+++ b/bench/tiers.hs
@@ -10,8 +10,15 @@
 import System.Environment
 import qualified Data.ByteString as BS
 import Data.List (intercalate, nub)
+import Data.Array
 import Data.Ratio ((%))
+import Data.Set (Set)
+import Data.Map (Map)
+import Data.Sequence (Seq)
+import Data.IntMap (IntMap)
+import Data.IntSet (IntSet)
 import Data.Text (Text)
+import Data.Time
 import Numeric.Natural
 
 dropEmptyTiersTail :: [[a]] -> [[a]]
@@ -90,9 +97,21 @@
     "Rational"         -> put t n (u :: Rational             )
     "[()]"             -> put t n (u :: [()]                 )
     "[Int]"            -> put t n (u :: [Int]                )
+    "Array Int Int"    -> put t n (u :: Array Int Int        )
     -- other
     "Text"             -> put t n (u :: Text                 )
     "Natural"          -> put t n (u :: Natural              )
     "ByteString"       -> put t n (u :: BS.ByteString        )
+    -- containers
+    "Set Int"          -> put t n (u :: Set Int              )
+    "Set Bool"         -> put t n (u :: Set Bool             )
+    "Map Int Int"      -> put t n (u :: Map Int Int          )
+    "Map Bool Bool"    -> put t n (u :: Map Bool Bool        )
+    "Seq Int"          -> put t n (u :: Seq Int              )
+    "Seq Bool"         -> put t n (u :: Seq Bool             )
+    "IntMap Int"       -> put t n (u :: IntMap Int           )
+    "IntSet"           -> put t n (u :: IntSet               )
+    -- time
+    "UTCTime"          -> put t n (u :: UTCTime              )
     -- unhandled
     _                  -> putStrLn $ "unknown/unhandled type `" ++ t ++ "'"
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,6 +1,17 @@
 Changelog for leancheck-instances
 =================================
 
+v0.0.2
+------
+
+* Listable Set instance;
+* Listable Map instance;
+* Listable IntSet instance;
+* Listable IntMap instance;
+* Some Data.Time instances;
+* Listable Array instance.
+
+
 v0.0.1
 ------
 
diff --git a/leancheck-instances.cabal b/leancheck-instances.cabal
--- a/leancheck-instances.cabal
+++ b/leancheck-instances.cabal
@@ -1,6 +1,6 @@
 -- Cabal file for leancheck-instances
 name:                leancheck-instances
-version:             0.0.1
+version:             0.0.2
 synopsis:            Common LeanCheck instances
 description:
   Listable instances for types provided by the Haskell Platform.
@@ -32,6 +32,7 @@
                   , mk/haddock-i
                   , mk/haskell.mk
                   , stack.yaml
+                  , stack-lts-11.yaml
                   , test/diff/*.out
                   , test/diff/eg/*.out
                   , test/sdist
@@ -46,19 +47,26 @@
 source-repository this
   type:            git
   location:        https://github.com/rudymatela/leancheck-instances
-  tag:             v0.0.1
+  tag:             v0.0.2
 
 library
   exposed-modules: Test.LeanCheck.Instances
+                 , Test.LeanCheck.Instances.Array
                  , Test.LeanCheck.Instances.Text
+                 , Test.LeanCheck.Instances.Time
                  , Test.LeanCheck.Instances.Natural
                  , Test.LeanCheck.Instances.ByteString
+                 , Test.LeanCheck.Instances.Containers
+                 , Test.LeanCheck.WithInstances
   hs-source-dirs: src
   build-depends: base >= 4 && < 5
-               , leancheck
+               , leancheck >= 0.7.7
                , bytestring
+               , containers
                , nats
                , text
+               , time
+               , array
   default-language: Haskell2010
 
 test-suite main
@@ -69,6 +77,7 @@
                      , leancheck
                      , leancheck-instances
                      , bytestring
+                     , containers
                      , nats
                      , text
   default-language:    Haskell2010
diff --git a/mk/depend.mk b/mk/depend.mk
--- a/mk/depend.mk
+++ b/mk/depend.mk
@@ -2,54 +2,91 @@
   bench/tiers.hs \
   mk/toplibs
 bench/tiers.o: \
+  src/Test/LeanCheck/Instances/Time.hs \
   src/Test/LeanCheck/Instances/Text.hs \
   src/Test/LeanCheck/Instances.hs \
   src/Test/LeanCheck/Instances/Natural.hs \
+  src/Test/LeanCheck/Instances/Containers.hs \
+  src/Test/LeanCheck/Instances/ByteString.hs \
   bench/tiers.hs
 eg/test-text: \
   eg/test-text.hs \
   mk/toplibs
 eg/test-text.o: \
+  src/Test/LeanCheck/Instances/Time.hs \
   src/Test/LeanCheck/Instances/Text.hs \
   src/Test/LeanCheck/Instances.hs \
   src/Test/LeanCheck/Instances/Natural.hs \
+  src/Test/LeanCheck/Instances/Containers.hs \
+  src/Test/LeanCheck/Instances/ByteString.hs \
   eg/test-text.hs
 mk/All.o: \
+  src/Test/LeanCheck/Instances/Time.hs \
   src/Test/LeanCheck/Instances/Text.hs \
   src/Test/LeanCheck/Instances.hs \
   src/Test/LeanCheck/Instances/Natural.hs \
+  src/Test/LeanCheck/Instances/Containers.hs \
+  src/Test/LeanCheck/Instances/ByteString.hs \
   mk/All.hs
 mk/Toplibs.o: \
+  src/Test/LeanCheck/Instances/Time.hs \
   src/Test/LeanCheck/Instances/Text.hs \
   src/Test/LeanCheck/Instances.hs \
   src/Test/LeanCheck/Instances/Natural.hs \
+  src/Test/LeanCheck/Instances/Containers.hs \
+  src/Test/LeanCheck/Instances/ByteString.hs \
   mk/Toplibs.hs
 Setup.o: \
   Setup.hs
 Setup: \
   Setup.hs \
   mk/toplibs
+src/Test/LeanCheck/Instances/ByteString.o: \
+  src/Test/LeanCheck/Instances/ByteString.hs
+src/Test/LeanCheck/Instances/Containers.o: \
+  src/Test/LeanCheck/Instances/Containers.hs
+src/Test/LeanCheck/Instances: \
+  mk/toplibs
 src/Test/LeanCheck/Instances/Natural.o: \
   src/Test/LeanCheck/Instances/Natural.hs
 src/Test/LeanCheck/Instances.o: \
+  src/Test/LeanCheck/Instances/Time.hs \
   src/Test/LeanCheck/Instances/Text.hs \
   src/Test/LeanCheck/Instances.hs \
-  src/Test/LeanCheck/Instances/Natural.hs
+  src/Test/LeanCheck/Instances/Natural.hs \
+  src/Test/LeanCheck/Instances/Containers.hs \
+  src/Test/LeanCheck/Instances/ByteString.hs
 src/Test/LeanCheck/Instances/Text.o: \
   src/Test/LeanCheck/Instances/Text.hs
+src/Test/LeanCheck/Instances/Time.o: \
+  src/Test/LeanCheck/Instances/Time.hs
+src/Test/LeanCheck/WithInstances.o: \
+  src/Test/LeanCheck/WithInstances.hs \
+  src/Test/LeanCheck/Instances/Time.hs \
+  src/Test/LeanCheck/Instances/Text.hs \
+  src/Test/LeanCheck/Instances.hs \
+  src/Test/LeanCheck/Instances/Natural.hs \
+  src/Test/LeanCheck/Instances/Containers.hs \
+  src/Test/LeanCheck/Instances/ByteString.hs
 test/main.o: \
   test/main.hs \
+  src/Test/LeanCheck/Instances/Time.hs \
   src/Test/LeanCheck/Instances/Text.hs \
   src/Test/LeanCheck/Instances.hs \
-  src/Test/LeanCheck/Instances/Natural.hs
+  src/Test/LeanCheck/Instances/Natural.hs \
+  src/Test/LeanCheck/Instances/Containers.hs \
+  src/Test/LeanCheck/Instances/ByteString.hs
 test/main: \
   test/main.hs \
   mk/toplibs
 test/text.o: \
   test/text.hs \
+  src/Test/LeanCheck/Instances/Time.hs \
   src/Test/LeanCheck/Instances/Text.hs \
   src/Test/LeanCheck/Instances.hs \
-  src/Test/LeanCheck/Instances/Natural.hs
+  src/Test/LeanCheck/Instances/Natural.hs \
+  src/Test/LeanCheck/Instances/Containers.hs \
+  src/Test/LeanCheck/Instances/ByteString.hs
 test/text: \
   test/text.hs \
   mk/toplibs
diff --git a/src/Test/LeanCheck/Instances.hs b/src/Test/LeanCheck/Instances.hs
--- a/src/Test/LeanCheck/Instances.hs
+++ b/src/Test/LeanCheck/Instances.hs
@@ -1,5 +1,39 @@
+-- |
+-- Module      : Test.LeanCheck.Instances
+-- Copyright   : (c) 2018 Rudy Matela
+-- License     : 3-Clause BSD  (see the file LICENSE)
+-- Maintainer  : Rudy Matela <rudy@matela.com.br>
+--
+-- This module provides "Test.LeanCheck" 'Listable' instances for types
+-- provided by the Haskell Platform.  More specifically, for types of the
+-- following packages:
+--
+-- * <https://hackage.haskell.org/package/bytestring bytestring>
+-- * <https://hackage.haskell.org/package/containers containers>
+-- * <https://hackage.haskell.org/package/nats       nats>
+-- * <https://hackage.haskell.org/package/text       text>
+-- * <https://hackage.haskell.org/package/time       time>
+--
+-- These instances are not defined in the
+-- <https://hackage.haskell.org/package/leancheck main leancheck package>
+-- to not introduce needless dependencies to LeanCheck.
+--
+-- These instances are defined in the following submodules:
+--
+-- * "Test.LeanCheck.Instances.Text"
+-- * "Test.LeanCheck.Instances.Natural"
+-- * "Test.LeanCheck.Instances.ByteString"
+-- * "Test.LeanCheck.Instances.Containers"
+-- * "Test.LeanCheck.Instances.Time"
+--
+-- Check the Haddock documentation of each module listed above for the full
+-- list of supported types.
 module Test.LeanCheck.Instances () where
 
-import Test.LeanCheck.Instances.Text
-import Test.LeanCheck.Instances.Natural
-import Test.LeanCheck.Instances.ByteString
+import Test.LeanCheck (Listable) -- for Haddock
+import Test.LeanCheck.Instances.Text ()
+import Test.LeanCheck.Instances.Natural ()
+import Test.LeanCheck.Instances.Array ()
+import Test.LeanCheck.Instances.ByteString ()
+import Test.LeanCheck.Instances.Containers ()
+import Test.LeanCheck.Instances.Time ()
diff --git a/src/Test/LeanCheck/Instances/Array.hs b/src/Test/LeanCheck/Instances/Array.hs
new file mode 100644
--- /dev/null
+++ b/src/Test/LeanCheck/Instances/Array.hs
@@ -0,0 +1,18 @@
+-- |
+-- Module      : Test.LeanCheck.Instances.Array
+-- Copyright   : (c) 2019 Rudy Matela
+-- License     : 3-Clause BSD  (see the file LICENSE)
+-- Maintainer  : Rudy Matela <rudy@matela.com.br>
+--
+-- Declares 'Listable' 'Array'
+--
+-- This 'Listable' instance imposes a 'Num' restriction on the index.
+module Test.LeanCheck.Instances.Array () where
+
+import Test.LeanCheck
+import Data.Array
+
+instance (Num i, Ix i, Listable i, Listable a) => Listable (Array i a) where
+  tiers = cons2 mkArray
+    where
+    mkArray l xs = listArray (l, l + fromIntegral (length xs - 1)) xs
diff --git a/src/Test/LeanCheck/Instances/ByteString.hs b/src/Test/LeanCheck/Instances/ByteString.hs
--- a/src/Test/LeanCheck/Instances/ByteString.hs
+++ b/src/Test/LeanCheck/Instances/ByteString.hs
@@ -1,3 +1,10 @@
+-- |
+-- Module      : Test.LeanCheck.Instances.ByteString
+-- Copyright   : (c) 2018 Rudy Matela
+-- License     : 3-Clause BSD  (see the file LICENSE)
+-- Maintainer  : Rudy Matela <rudy@matela.com.br>
+--
+-- Instances of 'Listable' for 'ByteString'.
 module Test.LeanCheck.Instances.ByteString () where
 
 import Test.LeanCheck
diff --git a/src/Test/LeanCheck/Instances/Containers.hs b/src/Test/LeanCheck/Instances/Containers.hs
new file mode 100644
--- /dev/null
+++ b/src/Test/LeanCheck/Instances/Containers.hs
@@ -0,0 +1,40 @@
+-- |
+-- Module      : Test.LeanCheck.Instances.Containers
+-- Copyright   : (c) 2018 Rudy Matela
+-- License     : 3-Clause BSD  (see the file LICENSE)
+-- Maintainer  : Rudy Matela <rudy@matela.com.br>
+--
+-- 'Listable' containers.
+module Test.LeanCheck.Instances.Containers () where
+
+import Test.LeanCheck
+
+import Data.Set (Set)
+import qualified Data.Set as Set
+
+import Data.Map (Map)
+import qualified Data.Map as Map
+
+import Data.Sequence (Seq)
+import qualified Data.Sequence as Seq
+
+import Data.IntMap (IntMap)
+import qualified Data.IntMap as IntMap
+
+import Data.IntSet (IntSet)
+import qualified Data.IntSet as IntSet
+
+instance (Ord a, Listable a) => Listable (Set a) where
+  tiers = setCons Set.fromList
+
+instance (Ord a, Ord b, Listable a, Listable b) => Listable (Map a b) where
+  tiers = mapCons Map.fromList
+
+instance (Ord a, Listable a) => Listable (Seq a) where
+  tiers = setCons Seq.fromList
+
+instance (Ord a, Listable a) => Listable (IntMap a) where
+  tiers = mapCons IntMap.fromList
+
+instance Listable IntSet where
+  tiers = setCons IntSet.fromList
diff --git a/src/Test/LeanCheck/Instances/Natural.hs b/src/Test/LeanCheck/Instances/Natural.hs
--- a/src/Test/LeanCheck/Instances/Natural.hs
+++ b/src/Test/LeanCheck/Instances/Natural.hs
@@ -1,3 +1,10 @@
+-- |
+-- Module      : Test.LeanCheck.Instances.Natural
+-- Copyright   : (c) 2018 Rudy Matela
+-- License     : 3-Clause BSD  (see the file LICENSE)
+-- Maintainer  : Rudy Matela <rudy@matela.com.br>
+--
+-- Declares a 'Listable' 'Natural' instance.
 module Test.LeanCheck.Instances.Natural () where
 
 import Numeric.Natural
diff --git a/src/Test/LeanCheck/Instances/Text.hs b/src/Test/LeanCheck/Instances/Text.hs
--- a/src/Test/LeanCheck/Instances/Text.hs
+++ b/src/Test/LeanCheck/Instances/Text.hs
@@ -1,7 +1,18 @@
+-- |
+-- Module      : Test.LeanCheck.Instances.Text
+-- Copyright   : (c) 2018 Rudy Matela
+-- License     : 3-Clause BSD  (see the file LICENSE)
+-- Maintainer  : Rudy Matela <rudy@matela.com.br>
+--
+-- Declares 'Listable' 'Text' instances.
 module Test.LeanCheck.Instances.Text () where
 
 import Data.Text
+import qualified Data.Text.Lazy as Lazy
 import Test.LeanCheck
 
 instance Listable Text where
   tiers = cons1 pack
+
+instance Listable Lazy.Text where
+  tiers = cons1 Lazy.pack
diff --git a/src/Test/LeanCheck/Instances/Time.hs b/src/Test/LeanCheck/Instances/Time.hs
new file mode 100644
--- /dev/null
+++ b/src/Test/LeanCheck/Instances/Time.hs
@@ -0,0 +1,55 @@
+-- |
+-- Module      : Test.LeanCheck.Instances.Time
+-- Copyright   : (c) 2019 Rudy Matela
+-- License     : 3-Clause BSD  (see the file LICENSE)
+-- Maintainer  : Rudy Matela <rudy@matela.com.br>
+--
+-- Declares 'Listable' time datatype instances.
+--
+-- Admitedly, these 'Listable' enumerations are defined somewhat arbitrarily...
+module Test.LeanCheck.Instances.Time () where
+
+import Data.Time
+import Test.LeanCheck
+
+-- This could be made more efficient.
+-- Nevertheless, it is probably efficient enough for millions of tests.
+binarySearchIndexes :: (Num a, Integral a) => a -> a -> [a]
+binarySearchIndexes min max
+  | min > max   = []
+  | max == min  = [max]
+  | otherwise   =  let mid = (max - min) `div` 2 + min in
+                   mid : (binarySearchIndexes (mid + 1) max +| binarySearchIndexes min (mid - 1))
+
+binarySearchIndexesThen :: (Num a, Integral a) => a -> a -> [a]
+binarySearchIndexesThen min max  =  binarySearchIndexes min max ++ ([(min-1),(min-2)..] +| [(max+1)..])
+
+secondsInADay :: Num a => a
+secondsInADay  =  24*60*60-1
+
+-- | This listable enumeration starts with January 2019 then switches back and
+--   forth between past and future.
+--
+-- > list :: [Day] =
+-- >   [ 2019-01-01
+-- >   , 2099-01-24
+-- >   , 1938-12-09
+-- >   , 2139-02-05
+-- >   , 1978-12-20
+-- >   , 2059-01-12
+-- >   , 1898-11-27
+-- >   , 2159-02-11
+-- >   , 1998-12-26
+-- >   , 2079-01-18
+-- >   , ...
+-- >   ]
+instance Listable Day where
+  list  =  map ModifiedJulianDay $ binarySearchIndexesThen 0 116969
+
+instance Listable DiffTime where
+  tiers  =  mapT (\(x,y) -> fromInteger x / fromInteger y) . reset
+         $  tiers `suchThat` \(n,d) -> n > 0 && d > 0 && n `gcd` d == 1
+
+
+instance Listable UTCTime where
+  tiers  =  cons2 UTCTime
diff --git a/src/Test/LeanCheck/WithInstances.hs b/src/Test/LeanCheck/WithInstances.hs
new file mode 100644
--- /dev/null
+++ b/src/Test/LeanCheck/WithInstances.hs
@@ -0,0 +1,17 @@
+-- |
+-- Module      : Test.LeanCheck.WithInstances
+-- Copyright   : (c) 2018-2019 Rudy Matela
+-- License     : 3-Clause BSD  (see the file LICENSE)
+-- Maintainer  : Rudy Matela <rudy@matela.com.br>
+--
+-- "Test.LeanCheck" with additional 'Listable' instances
+-- from "Test.LeanCheck.Instances".
+--
+-- Importhing this is the same as:
+--
+-- > import Test.LeanCheck
+-- > import Test.LeanCheck.Instances
+module Test.LeanCheck.WithInstances (module Test.LeanCheck) where
+
+import Test.LeanCheck
+import Test.LeanCheck.Instances
diff --git a/stack-lts-11.yaml b/stack-lts-11.yaml
new file mode 100644
--- /dev/null
+++ b/stack-lts-11.yaml
@@ -0,0 +1,12 @@
+# stack.yaml for leancheck-instances
+resolver: lts-11.22
+
+packages:
+- .
+
+extra-deps:
+- leancheck-0.8.0
+
+flags: {}
+
+extra-package-dbs: []
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,8 +1,4 @@
-# stack.yaml docs:
-# https://docs.haskellstack.org/en/stable/yaml_configuration/
-
-# resolver: nightly-2015-09-21
-# resolver: ghc-7.10.2
+# stack file for leancheck-instances
 resolver: lts-12.14
 
 packages:
diff --git a/test/diff/tiers-ArrayIntInt.out b/test/diff/tiers-ArrayIntInt.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-ArrayIntInt.out
@@ -0,0 +1,2069 @@
+map length (tiers :: [[ Array Int Int ]])  =  [0,1,2,4,8,16,32,64,128,256,512,1024,...]
+
+length (list :: [ Array Int Int ])  =  Infinity
+
+allUnique (list :: [ Array Int Int ])  =  False
+
+ratioRepetitions (list :: [ Array Int Int ])  =  10 % 2047
+
+tiers :: [Array Int Int]  =
+  [ []
+  , [array (0,-1) []]
+  , [ array (0,0) [(0,0)]
+    , array (1,0) []
+    ]
+  , [ array (0,1) [(0,0),(1,0)]
+    , array (0,0) [(0,1)]
+    , array (1,1) [(1,0)]
+    , array (-1,-2) []
+    ]
+  , [ array (0,2) [(0,0),(1,0),(2,0)]
+    , array (0,1) [(0,0),(1,1)]
+    , array (0,1) [(0,1),(1,0)]
+    , array (0,0) [(0,-1)]
+    , array (1,2) [(1,0),(2,0)]
+    , array (1,1) [(1,1)]
+    , array (-1,-1) [(-1,0)]
+    , array (2,1) []
+    ]
+  , [ array (0,3) [(0,0),(1,0),(2,0),(3,0)]
+    , array (0,2) [(0,0),(1,0),(2,1)]
+    , array (0,2) [(0,0),(1,1),(2,0)]
+    , array (0,1) [(0,0),(1,-1)]
+    , array (0,2) [(0,1),(1,0),(2,0)]
+    , array (0,1) [(0,1),(1,1)]
+    , array (0,1) [(0,-1),(1,0)]
+    , array (0,0) [(0,2)]
+    , array (1,3) [(1,0),(2,0),(3,0)]
+    , array (1,2) [(1,0),(2,1)]
+    , array (1,2) [(1,1),(2,0)]
+    , array (1,1) [(1,-1)]
+    , array (-1,0) [(-1,0),(0,0)]
+    , array (-1,-1) [(-1,1)]
+    , array (2,2) [(2,0)]
+    , array (-2,-3) []
+    ]
+  , [ array (0,4) [(0,0),(1,0),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,0),(3,1)]
+    , array (0,3) [(0,0),(1,0),(2,1),(3,0)]
+    , array (0,2) [(0,0),(1,0),(2,-1)]
+    , array (0,3) [(0,0),(1,1),(2,0),(3,0)]
+    , array (0,2) [(0,0),(1,1),(2,1)]
+    , array (0,2) [(0,0),(1,-1),(2,0)]
+    , array (0,1) [(0,0),(1,2)]
+    , array (0,3) [(0,1),(1,0),(2,0),(3,0)]
+    , array (0,2) [(0,1),(1,0),(2,1)]
+    , array (0,2) [(0,1),(1,1),(2,0)]
+    , array (0,1) [(0,1),(1,-1)]
+    , array (0,2) [(0,-1),(1,0),(2,0)]
+    , array (0,1) [(0,-1),(1,1)]
+    , array (0,1) [(0,2),(1,0)]
+    , array (0,0) [(0,-2)]
+    , array (1,4) [(1,0),(2,0),(3,0),(4,0)]
+    , array (1,3) [(1,0),(2,0),(3,1)]
+    , array (1,3) [(1,0),(2,1),(3,0)]
+    , array (1,2) [(1,0),(2,-1)]
+    , array (1,3) [(1,1),(2,0),(3,0)]
+    , array (1,2) [(1,1),(2,1)]
+    , array (1,2) [(1,-1),(2,0)]
+    , array (1,1) [(1,2)]
+    , array (-1,1) [(-1,0),(0,0),(1,0)]
+    , array (-1,0) [(-1,0),(0,1)]
+    , array (-1,0) [(-1,1),(0,0)]
+    , array (-1,-1) [(-1,-1)]
+    , array (2,3) [(2,0),(3,0)]
+    , array (2,2) [(2,1)]
+    , array (-2,-2) [(-2,0)]
+    , array (3,2) []
+    ]
+  , [ array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,0),(3,-1)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,1),(3,1)]
+    , array (0,3) [(0,0),(1,0),(2,-1),(3,0)]
+    , array (0,2) [(0,0),(1,0),(2,2)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,0),(3,1)]
+    , array (0,3) [(0,0),(1,1),(2,1),(3,0)]
+    , array (0,2) [(0,0),(1,1),(2,-1)]
+    , array (0,3) [(0,0),(1,-1),(2,0),(3,0)]
+    , array (0,2) [(0,0),(1,-1),(2,1)]
+    , array (0,2) [(0,0),(1,2),(2,0)]
+    , array (0,1) [(0,0),(1,-2)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,0),(3,1)]
+    , array (0,3) [(0,1),(1,0),(2,1),(3,0)]
+    , array (0,2) [(0,1),(1,0),(2,-1)]
+    , array (0,3) [(0,1),(1,1),(2,0),(3,0)]
+    , array (0,2) [(0,1),(1,1),(2,1)]
+    , array (0,2) [(0,1),(1,-1),(2,0)]
+    , array (0,1) [(0,1),(1,2)]
+    , array (0,3) [(0,-1),(1,0),(2,0),(3,0)]
+    , array (0,2) [(0,-1),(1,0),(2,1)]
+    , array (0,2) [(0,-1),(1,1),(2,0)]
+    , array (0,1) [(0,-1),(1,-1)]
+    , array (0,2) [(0,2),(1,0),(2,0)]
+    , array (0,1) [(0,2),(1,1)]
+    , array (0,1) [(0,-2),(1,0)]
+    , array (0,0) [(0,3)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,0),(4,1)]
+    , array (1,4) [(1,0),(2,0),(3,1),(4,0)]
+    , array (1,3) [(1,0),(2,0),(3,-1)]
+    , array (1,4) [(1,0),(2,1),(3,0),(4,0)]
+    , array (1,3) [(1,0),(2,1),(3,1)]
+    , array (1,3) [(1,0),(2,-1),(3,0)]
+    , array (1,2) [(1,0),(2,2)]
+    , array (1,4) [(1,1),(2,0),(3,0),(4,0)]
+    , array (1,3) [(1,1),(2,0),(3,1)]
+    , array (1,3) [(1,1),(2,1),(3,0)]
+    , array (1,2) [(1,1),(2,-1)]
+    , array (1,3) [(1,-1),(2,0),(3,0)]
+    , array (1,2) [(1,-1),(2,1)]
+    , array (1,2) [(1,2),(2,0)]
+    , array (1,1) [(1,-2)]
+    , array (-1,2) [(-1,0),(0,0),(1,0),(2,0)]
+    , array (-1,1) [(-1,0),(0,0),(1,1)]
+    , array (-1,1) [(-1,0),(0,1),(1,0)]
+    , array (-1,0) [(-1,0),(0,-1)]
+    , array (-1,1) [(-1,1),(0,0),(1,0)]
+    , array (-1,0) [(-1,1),(0,1)]
+    , array (-1,0) [(-1,-1),(0,0)]
+    , array (-1,-1) [(-1,2)]
+    , array (2,4) [(2,0),(3,0),(4,0)]
+    , array (2,3) [(2,0),(3,1)]
+    , array (2,3) [(2,1),(3,0)]
+    , array (2,2) [(2,-1)]
+    , array (-2,-1) [(-2,0),(-1,0)]
+    , array (-2,-2) [(-2,1)]
+    , array (3,3) [(3,0)]
+    , array (-3,-4) []
+    ]
+  , [ array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,0),(3,2)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,1),(3,-1)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,-1),(3,1)]
+    , array (0,3) [(0,0),(1,0),(2,2),(3,0)]
+    , array (0,2) [(0,0),(1,0),(2,-2)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,0),(3,-1)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,1),(3,1)]
+    , array (0,3) [(0,0),(1,1),(2,-1),(3,0)]
+    , array (0,2) [(0,0),(1,1),(2,2)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,0),(3,1)]
+    , array (0,3) [(0,0),(1,-1),(2,1),(3,0)]
+    , array (0,2) [(0,0),(1,-1),(2,-1)]
+    , array (0,3) [(0,0),(1,2),(2,0),(3,0)]
+    , array (0,2) [(0,0),(1,2),(2,1)]
+    , array (0,2) [(0,0),(1,-2),(2,0)]
+    , array (0,1) [(0,0),(1,3)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,0),(3,-1)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,1),(3,1)]
+    , array (0,3) [(0,1),(1,0),(2,-1),(3,0)]
+    , array (0,2) [(0,1),(1,0),(2,2)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,0),(3,1)]
+    , array (0,3) [(0,1),(1,1),(2,1),(3,0)]
+    , array (0,2) [(0,1),(1,1),(2,-1)]
+    , array (0,3) [(0,1),(1,-1),(2,0),(3,0)]
+    , array (0,2) [(0,1),(1,-1),(2,1)]
+    , array (0,2) [(0,1),(1,2),(2,0)]
+    , array (0,1) [(0,1),(1,-2)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,0),(3,1)]
+    , array (0,3) [(0,-1),(1,0),(2,1),(3,0)]
+    , array (0,2) [(0,-1),(1,0),(2,-1)]
+    , array (0,3) [(0,-1),(1,1),(2,0),(3,0)]
+    , array (0,2) [(0,-1),(1,1),(2,1)]
+    , array (0,2) [(0,-1),(1,-1),(2,0)]
+    , array (0,1) [(0,-1),(1,2)]
+    , array (0,3) [(0,2),(1,0),(2,0),(3,0)]
+    , array (0,2) [(0,2),(1,0),(2,1)]
+    , array (0,2) [(0,2),(1,1),(2,0)]
+    , array (0,1) [(0,2),(1,-1)]
+    , array (0,2) [(0,-2),(1,0),(2,0)]
+    , array (0,1) [(0,-2),(1,1)]
+    , array (0,1) [(0,3),(1,0)]
+    , array (0,0) [(0,-3)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,0),(4,-1)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,1),(4,1)]
+    , array (1,4) [(1,0),(2,0),(3,-1),(4,0)]
+    , array (1,3) [(1,0),(2,0),(3,2)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,0),(4,1)]
+    , array (1,4) [(1,0),(2,1),(3,1),(4,0)]
+    , array (1,3) [(1,0),(2,1),(3,-1)]
+    , array (1,4) [(1,0),(2,-1),(3,0),(4,0)]
+    , array (1,3) [(1,0),(2,-1),(3,1)]
+    , array (1,3) [(1,0),(2,2),(3,0)]
+    , array (1,2) [(1,0),(2,-2)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,0),(4,1)]
+    , array (1,4) [(1,1),(2,0),(3,1),(4,0)]
+    , array (1,3) [(1,1),(2,0),(3,-1)]
+    , array (1,4) [(1,1),(2,1),(3,0),(4,0)]
+    , array (1,3) [(1,1),(2,1),(3,1)]
+    , array (1,3) [(1,1),(2,-1),(3,0)]
+    , array (1,2) [(1,1),(2,2)]
+    , array (1,4) [(1,-1),(2,0),(3,0),(4,0)]
+    , array (1,3) [(1,-1),(2,0),(3,1)]
+    , array (1,3) [(1,-1),(2,1),(3,0)]
+    , array (1,2) [(1,-1),(2,-1)]
+    , array (1,3) [(1,2),(2,0),(3,0)]
+    , array (1,2) [(1,2),(2,1)]
+    , array (1,2) [(1,-2),(2,0)]
+    , array (1,1) [(1,3)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,0),(2,1)]
+    , array (-1,2) [(-1,0),(0,0),(1,1),(2,0)]
+    , array (-1,1) [(-1,0),(0,0),(1,-1)]
+    , array (-1,2) [(-1,0),(0,1),(1,0),(2,0)]
+    , array (-1,1) [(-1,0),(0,1),(1,1)]
+    , array (-1,1) [(-1,0),(0,-1),(1,0)]
+    , array (-1,0) [(-1,0),(0,2)]
+    , array (-1,2) [(-1,1),(0,0),(1,0),(2,0)]
+    , array (-1,1) [(-1,1),(0,0),(1,1)]
+    , array (-1,1) [(-1,1),(0,1),(1,0)]
+    , array (-1,0) [(-1,1),(0,-1)]
+    , array (-1,1) [(-1,-1),(0,0),(1,0)]
+    , array (-1,0) [(-1,-1),(0,1)]
+    , array (-1,0) [(-1,2),(0,0)]
+    , array (-1,-1) [(-1,-2)]
+    , array (2,5) [(2,0),(3,0),(4,0),(5,0)]
+    , array (2,4) [(2,0),(3,0),(4,1)]
+    , array (2,4) [(2,0),(3,1),(4,0)]
+    , array (2,3) [(2,0),(3,-1)]
+    , array (2,4) [(2,1),(3,0),(4,0)]
+    , array (2,3) [(2,1),(3,1)]
+    , array (2,3) [(2,-1),(3,0)]
+    , array (2,2) [(2,2)]
+    , array (-2,0) [(-2,0),(-1,0),(0,0)]
+    , array (-2,-1) [(-2,0),(-1,1)]
+    , array (-2,-1) [(-2,1),(-1,0)]
+    , array (-2,-2) [(-2,-1)]
+    , array (3,4) [(3,0),(4,0)]
+    , array (3,3) [(3,1)]
+    , array (-3,-3) [(-3,0)]
+    , array (4,3) []
+    ]
+  , [ array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,0),(4,2)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,1),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,-1),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,2),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,0),(3,-2)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,1),(3,2)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,-1),(3,-1)]
+    , array (0,4) [(0,0),(1,0),(2,2),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,2),(3,1)]
+    , array (0,3) [(0,0),(1,0),(2,-2),(3,0)]
+    , array (0,2) [(0,0),(1,0),(2,3)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,0),(3,2)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,1),(3,-1)]
+    , array (0,4) [(0,0),(1,1),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,-1),(3,1)]
+    , array (0,3) [(0,0),(1,1),(2,2),(3,0)]
+    , array (0,2) [(0,0),(1,1),(2,-2)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,0),(3,-1)]
+    , array (0,4) [(0,0),(1,-1),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,1),(3,1)]
+    , array (0,3) [(0,0),(1,-1),(2,-1),(3,0)]
+    , array (0,2) [(0,0),(1,-1),(2,2)]
+    , array (0,4) [(0,0),(1,2),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,2),(2,0),(3,1)]
+    , array (0,3) [(0,0),(1,2),(2,1),(3,0)]
+    , array (0,2) [(0,0),(1,2),(2,-1)]
+    , array (0,3) [(0,0),(1,-2),(2,0),(3,0)]
+    , array (0,2) [(0,0),(1,-2),(2,1)]
+    , array (0,2) [(0,0),(1,3),(2,0)]
+    , array (0,1) [(0,0),(1,-3)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,0),(3,2)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,1),(3,-1)]
+    , array (0,4) [(0,1),(1,0),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,-1),(3,1)]
+    , array (0,3) [(0,1),(1,0),(2,2),(3,0)]
+    , array (0,2) [(0,1),(1,0),(2,-2)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,0),(3,-1)]
+    , array (0,4) [(0,1),(1,1),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,1),(3,1)]
+    , array (0,3) [(0,1),(1,1),(2,-1),(3,0)]
+    , array (0,2) [(0,1),(1,1),(2,2)]
+    , array (0,4) [(0,1),(1,-1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,-1),(2,0),(3,1)]
+    , array (0,3) [(0,1),(1,-1),(2,1),(3,0)]
+    , array (0,2) [(0,1),(1,-1),(2,-1)]
+    , array (0,3) [(0,1),(1,2),(2,0),(3,0)]
+    , array (0,2) [(0,1),(1,2),(2,1)]
+    , array (0,2) [(0,1),(1,-2),(2,0)]
+    , array (0,1) [(0,1),(1,3)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,0),(3,-1)]
+    , array (0,4) [(0,-1),(1,0),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,1),(3,1)]
+    , array (0,3) [(0,-1),(1,0),(2,-1),(3,0)]
+    , array (0,2) [(0,-1),(1,0),(2,2)]
+    , array (0,4) [(0,-1),(1,1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,1),(2,0),(3,1)]
+    , array (0,3) [(0,-1),(1,1),(2,1),(3,0)]
+    , array (0,2) [(0,-1),(1,1),(2,-1)]
+    , array (0,3) [(0,-1),(1,-1),(2,0),(3,0)]
+    , array (0,2) [(0,-1),(1,-1),(2,1)]
+    , array (0,2) [(0,-1),(1,2),(2,0)]
+    , array (0,1) [(0,-1),(1,-2)]
+    , array (0,4) [(0,2),(1,0),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,2),(1,0),(2,0),(3,1)]
+    , array (0,3) [(0,2),(1,0),(2,1),(3,0)]
+    , array (0,2) [(0,2),(1,0),(2,-1)]
+    , array (0,3) [(0,2),(1,1),(2,0),(3,0)]
+    , array (0,2) [(0,2),(1,1),(2,1)]
+    , array (0,2) [(0,2),(1,-1),(2,0)]
+    , array (0,1) [(0,2),(1,2)]
+    , array (0,3) [(0,-2),(1,0),(2,0),(3,0)]
+    , array (0,2) [(0,-2),(1,0),(2,1)]
+    , array (0,2) [(0,-2),(1,1),(2,0)]
+    , array (0,1) [(0,-2),(1,-1)]
+    , array (0,2) [(0,3),(1,0),(2,0)]
+    , array (0,1) [(0,3),(1,1)]
+    , array (0,1) [(0,-3),(1,0)]
+    , array (0,0) [(0,4)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,0),(5,-1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,1),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,-1),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,0),(4,2)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,1),(4,-1)]
+    , array (1,5) [(1,0),(2,0),(3,-1),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,-1),(4,1)]
+    , array (1,4) [(1,0),(2,0),(3,2),(4,0)]
+    , array (1,3) [(1,0),(2,0),(3,-2)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,0),(4,-1)]
+    , array (1,5) [(1,0),(2,1),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,1),(4,1)]
+    , array (1,4) [(1,0),(2,1),(3,-1),(4,0)]
+    , array (1,3) [(1,0),(2,1),(3,2)]
+    , array (1,5) [(1,0),(2,-1),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,-1),(3,0),(4,1)]
+    , array (1,4) [(1,0),(2,-1),(3,1),(4,0)]
+    , array (1,3) [(1,0),(2,-1),(3,-1)]
+    , array (1,4) [(1,0),(2,2),(3,0),(4,0)]
+    , array (1,3) [(1,0),(2,2),(3,1)]
+    , array (1,3) [(1,0),(2,-2),(3,0)]
+    , array (1,2) [(1,0),(2,3)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,0),(4,-1)]
+    , array (1,5) [(1,1),(2,0),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,1),(4,1)]
+    , array (1,4) [(1,1),(2,0),(3,-1),(4,0)]
+    , array (1,3) [(1,1),(2,0),(3,2)]
+    , array (1,5) [(1,1),(2,1),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,1),(3,0),(4,1)]
+    , array (1,4) [(1,1),(2,1),(3,1),(4,0)]
+    , array (1,3) [(1,1),(2,1),(3,-1)]
+    , array (1,4) [(1,1),(2,-1),(3,0),(4,0)]
+    , array (1,3) [(1,1),(2,-1),(3,1)]
+    , array (1,3) [(1,1),(2,2),(3,0)]
+    , array (1,2) [(1,1),(2,-2)]
+    , array (1,5) [(1,-1),(2,0),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,-1),(2,0),(3,0),(4,1)]
+    , array (1,4) [(1,-1),(2,0),(3,1),(4,0)]
+    , array (1,3) [(1,-1),(2,0),(3,-1)]
+    , array (1,4) [(1,-1),(2,1),(3,0),(4,0)]
+    , array (1,3) [(1,-1),(2,1),(3,1)]
+    , array (1,3) [(1,-1),(2,-1),(3,0)]
+    , array (1,2) [(1,-1),(2,2)]
+    , array (1,4) [(1,2),(2,0),(3,0),(4,0)]
+    , array (1,3) [(1,2),(2,0),(3,1)]
+    , array (1,3) [(1,2),(2,1),(3,0)]
+    , array (1,2) [(1,2),(2,-1)]
+    , array (1,3) [(1,-2),(2,0),(3,0)]
+    , array (1,2) [(1,-2),(2,1)]
+    , array (1,2) [(1,3),(2,0)]
+    , array (1,1) [(1,-3)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,0),(3,1)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,1),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,0),(2,-1)]
+    , array (-1,3) [(-1,0),(0,0),(1,1),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,1),(2,1)]
+    , array (-1,2) [(-1,0),(0,0),(1,-1),(2,0)]
+    , array (-1,1) [(-1,0),(0,0),(1,2)]
+    , array (-1,3) [(-1,0),(0,1),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,1),(1,0),(2,1)]
+    , array (-1,2) [(-1,0),(0,1),(1,1),(2,0)]
+    , array (-1,1) [(-1,0),(0,1),(1,-1)]
+    , array (-1,2) [(-1,0),(0,-1),(1,0),(2,0)]
+    , array (-1,1) [(-1,0),(0,-1),(1,1)]
+    , array (-1,1) [(-1,0),(0,2),(1,0)]
+    , array (-1,0) [(-1,0),(0,-2)]
+    , array (-1,3) [(-1,1),(0,0),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,1),(0,0),(1,0),(2,1)]
+    , array (-1,2) [(-1,1),(0,0),(1,1),(2,0)]
+    , array (-1,1) [(-1,1),(0,0),(1,-1)]
+    , array (-1,2) [(-1,1),(0,1),(1,0),(2,0)]
+    , array (-1,1) [(-1,1),(0,1),(1,1)]
+    , array (-1,1) [(-1,1),(0,-1),(1,0)]
+    , array (-1,0) [(-1,1),(0,2)]
+    , array (-1,2) [(-1,-1),(0,0),(1,0),(2,0)]
+    , array (-1,1) [(-1,-1),(0,0),(1,1)]
+    , array (-1,1) [(-1,-1),(0,1),(1,0)]
+    , array (-1,0) [(-1,-1),(0,-1)]
+    , array (-1,1) [(-1,2),(0,0),(1,0)]
+    , array (-1,0) [(-1,2),(0,1)]
+    , array (-1,0) [(-1,-2),(0,0)]
+    , array (-1,-1) [(-1,3)]
+    , array (2,6) [(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (2,5) [(2,0),(3,0),(4,0),(5,1)]
+    , array (2,5) [(2,0),(3,0),(4,1),(5,0)]
+    , array (2,4) [(2,0),(3,0),(4,-1)]
+    , array (2,5) [(2,0),(3,1),(4,0),(5,0)]
+    , array (2,4) [(2,0),(3,1),(4,1)]
+    , array (2,4) [(2,0),(3,-1),(4,0)]
+    , array (2,3) [(2,0),(3,2)]
+    , array (2,5) [(2,1),(3,0),(4,0),(5,0)]
+    , array (2,4) [(2,1),(3,0),(4,1)]
+    , array (2,4) [(2,1),(3,1),(4,0)]
+    , array (2,3) [(2,1),(3,-1)]
+    , array (2,4) [(2,-1),(3,0),(4,0)]
+    , array (2,3) [(2,-1),(3,1)]
+    , array (2,3) [(2,2),(3,0)]
+    , array (2,2) [(2,-2)]
+    , array (-2,1) [(-2,0),(-1,0),(0,0),(1,0)]
+    , array (-2,0) [(-2,0),(-1,0),(0,1)]
+    , array (-2,0) [(-2,0),(-1,1),(0,0)]
+    , array (-2,-1) [(-2,0),(-1,-1)]
+    , array (-2,0) [(-2,1),(-1,0),(0,0)]
+    , array (-2,-1) [(-2,1),(-1,1)]
+    , array (-2,-1) [(-2,-1),(-1,0)]
+    , array (-2,-2) [(-2,2)]
+    , array (3,5) [(3,0),(4,0),(5,0)]
+    , array (3,4) [(3,0),(4,1)]
+    , array (3,4) [(3,1),(4,0)]
+    , array (3,3) [(3,-1)]
+    , array (-3,-2) [(-3,0),(-2,0)]
+    , array (-3,-3) [(-3,1)]
+    , array (4,4) [(4,0)]
+    , array (-4,-5) []
+    ]
+  , [ array (0,8) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,1),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,-1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,1),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,1),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,-1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,2)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,-1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,-1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,2),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,0),(4,-2)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,1),(4,2)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,-1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,-1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,-1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,-1),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,2),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,2),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,-2),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,0),(3,3)]
+    , array (0,7) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,0),(4,2)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,1),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,-1),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,2),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,1),(3,-2)]
+    , array (0,6) [(0,0),(1,0),(2,-1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,-1),(3,2)]
+    , array (0,5) [(0,0),(1,0),(2,2),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,2),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,2),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,2),(3,-1)]
+    , array (0,4) [(0,0),(1,0),(2,-2),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,-2),(3,1)]
+    , array (0,3) [(0,0),(1,0),(2,3),(3,0)]
+    , array (0,2) [(0,0),(1,0),(2,-3)]
+    , array (0,7) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,0),(4,2)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,1),(4,-1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,-1),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,2),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,0),(3,-2)]
+    , array (0,6) [(0,0),(1,1),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,1),(3,2)]
+    , array (0,5) [(0,0),(1,1),(2,-1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,-1),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,-1),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,-1),(3,-1)]
+    , array (0,4) [(0,0),(1,1),(2,2),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,2),(3,1)]
+    , array (0,3) [(0,0),(1,1),(2,-2),(3,0)]
+    , array (0,2) [(0,0),(1,1),(2,3)]
+    , array (0,6) [(0,0),(1,-1),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,0),(3,2)]
+    , array (0,5) [(0,0),(1,-1),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,-1),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,1),(3,-1)]
+    , array (0,4) [(0,0),(1,-1),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,-1),(3,1)]
+    , array (0,3) [(0,0),(1,-1),(2,2),(3,0)]
+    , array (0,2) [(0,0),(1,-1),(2,-2)]
+    , array (0,5) [(0,0),(1,2),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,2),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,2),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,2),(2,0),(3,-1)]
+    , array (0,4) [(0,0),(1,2),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,2),(2,1),(3,1)]
+    , array (0,3) [(0,0),(1,2),(2,-1),(3,0)]
+    , array (0,2) [(0,0),(1,2),(2,2)]
+    , array (0,4) [(0,0),(1,-2),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,-2),(2,0),(3,1)]
+    , array (0,3) [(0,0),(1,-2),(2,1),(3,0)]
+    , array (0,2) [(0,0),(1,-2),(2,-1)]
+    , array (0,3) [(0,0),(1,3),(2,0),(3,0)]
+    , array (0,2) [(0,0),(1,3),(2,1)]
+    , array (0,2) [(0,0),(1,-3),(2,0)]
+    , array (0,1) [(0,0),(1,4)]
+    , array (0,7) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,0),(4,2)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,1),(4,-1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,-1),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,2),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,0),(3,-2)]
+    , array (0,6) [(0,1),(1,0),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,0),(4,-1)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,1),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,-1),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,1),(3,2)]
+    , array (0,5) [(0,1),(1,0),(2,-1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,-1),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,-1),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,-1),(3,-1)]
+    , array (0,4) [(0,1),(1,0),(2,2),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,2),(3,1)]
+    , array (0,3) [(0,1),(1,0),(2,-2),(3,0)]
+    , array (0,2) [(0,1),(1,0),(2,3)]
+    , array (0,6) [(0,1),(1,1),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,0),(3,2)]
+    , array (0,5) [(0,1),(1,1),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,1),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,1),(3,-1)]
+    , array (0,4) [(0,1),(1,1),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,-1),(3,1)]
+    , array (0,3) [(0,1),(1,1),(2,2),(3,0)]
+    , array (0,2) [(0,1),(1,1),(2,-2)]
+    , array (0,5) [(0,1),(1,-1),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,-1),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,-1),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,-1),(2,0),(3,-1)]
+    , array (0,4) [(0,1),(1,-1),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,-1),(2,1),(3,1)]
+    , array (0,3) [(0,1),(1,-1),(2,-1),(3,0)]
+    , array (0,2) [(0,1),(1,-1),(2,2)]
+    , array (0,4) [(0,1),(1,2),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,2),(2,0),(3,1)]
+    , array (0,3) [(0,1),(1,2),(2,1),(3,0)]
+    , array (0,2) [(0,1),(1,2),(2,-1)]
+    , array (0,3) [(0,1),(1,-2),(2,0),(3,0)]
+    , array (0,2) [(0,1),(1,-2),(2,1)]
+    , array (0,2) [(0,1),(1,3),(2,0)]
+    , array (0,1) [(0,1),(1,-3)]
+    , array (0,6) [(0,-1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,0),(3,2)]
+    , array (0,5) [(0,-1),(1,0),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,-1),(1,0),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,1),(3,-1)]
+    , array (0,4) [(0,-1),(1,0),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,-1),(3,1)]
+    , array (0,3) [(0,-1),(1,0),(2,2),(3,0)]
+    , array (0,2) [(0,-1),(1,0),(2,-2)]
+    , array (0,5) [(0,-1),(1,1),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,1),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,-1),(1,1),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,-1),(1,1),(2,0),(3,-1)]
+    , array (0,4) [(0,-1),(1,1),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,1),(2,1),(3,1)]
+    , array (0,3) [(0,-1),(1,1),(2,-1),(3,0)]
+    , array (0,2) [(0,-1),(1,1),(2,2)]
+    , array (0,4) [(0,-1),(1,-1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,-1),(2,0),(3,1)]
+    , array (0,3) [(0,-1),(1,-1),(2,1),(3,0)]
+    , array (0,2) [(0,-1),(1,-1),(2,-1)]
+    , array (0,3) [(0,-1),(1,2),(2,0),(3,0)]
+    , array (0,2) [(0,-1),(1,2),(2,1)]
+    , array (0,2) [(0,-1),(1,-2),(2,0)]
+    , array (0,1) [(0,-1),(1,3)]
+    , array (0,5) [(0,2),(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,2),(1,0),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,2),(1,0),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,2),(1,0),(2,0),(3,-1)]
+    , array (0,4) [(0,2),(1,0),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,2),(1,0),(2,1),(3,1)]
+    , array (0,3) [(0,2),(1,0),(2,-1),(3,0)]
+    , array (0,2) [(0,2),(1,0),(2,2)]
+    , array (0,4) [(0,2),(1,1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,2),(1,1),(2,0),(3,1)]
+    , array (0,3) [(0,2),(1,1),(2,1),(3,0)]
+    , array (0,2) [(0,2),(1,1),(2,-1)]
+    , array (0,3) [(0,2),(1,-1),(2,0),(3,0)]
+    , array (0,2) [(0,2),(1,-1),(2,1)]
+    , array (0,2) [(0,2),(1,2),(2,0)]
+    , array (0,1) [(0,2),(1,-2)]
+    , array (0,4) [(0,-2),(1,0),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,-2),(1,0),(2,0),(3,1)]
+    , array (0,3) [(0,-2),(1,0),(2,1),(3,0)]
+    , array (0,2) [(0,-2),(1,0),(2,-1)]
+    , array (0,3) [(0,-2),(1,1),(2,0),(3,0)]
+    , array (0,2) [(0,-2),(1,1),(2,1)]
+    , array (0,2) [(0,-2),(1,-1),(2,0)]
+    , array (0,1) [(0,-2),(1,2)]
+    , array (0,3) [(0,3),(1,0),(2,0),(3,0)]
+    , array (0,2) [(0,3),(1,0),(2,1)]
+    , array (0,2) [(0,3),(1,1),(2,0)]
+    , array (0,1) [(0,3),(1,-1)]
+    , array (0,2) [(0,-3),(1,0),(2,0)]
+    , array (0,1) [(0,-3),(1,1)]
+    , array (0,1) [(0,4),(1,0)]
+    , array (0,0) [(0,-4)]
+    , array (1,8) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,1)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,1),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,-1)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,1),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,1),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,-1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,0),(5,2)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,1),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,1),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,1),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,1),(5,-1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,-1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,-1),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,2),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,0),(4,-2)]
+    , array (1,7) [(1,0),(2,0),(3,1),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,0),(5,-1)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,1),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,-1),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,1),(4,2)]
+    , array (1,6) [(1,0),(2,0),(3,-1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,-1),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,-1),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,-1),(4,-1)]
+    , array (1,5) [(1,0),(2,0),(3,2),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,2),(4,1)]
+    , array (1,4) [(1,0),(2,0),(3,-2),(4,0)]
+    , array (1,3) [(1,0),(2,0),(3,3)]
+    , array (1,7) [(1,0),(2,1),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,0),(5,-1)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,1),(5,1)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,-1),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,0),(4,2)]
+    , array (1,6) [(1,0),(2,1),(3,1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,1),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,1),(3,1),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,1),(4,-1)]
+    , array (1,5) [(1,0),(2,1),(3,-1),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,-1),(4,1)]
+    , array (1,4) [(1,0),(2,1),(3,2),(4,0)]
+    , array (1,3) [(1,0),(2,1),(3,-2)]
+    , array (1,6) [(1,0),(2,-1),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,-1),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,-1),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,-1),(3,0),(4,-1)]
+    , array (1,5) [(1,0),(2,-1),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,-1),(3,1),(4,1)]
+    , array (1,4) [(1,0),(2,-1),(3,-1),(4,0)]
+    , array (1,3) [(1,0),(2,-1),(3,2)]
+    , array (1,5) [(1,0),(2,2),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,2),(3,0),(4,1)]
+    , array (1,4) [(1,0),(2,2),(3,1),(4,0)]
+    , array (1,3) [(1,0),(2,2),(3,-1)]
+    , array (1,4) [(1,0),(2,-2),(3,0),(4,0)]
+    , array (1,3) [(1,0),(2,-2),(3,1)]
+    , array (1,3) [(1,0),(2,3),(3,0)]
+    , array (1,2) [(1,0),(2,-3)]
+    , array (1,7) [(1,1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,0),(5,-1)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,1),(5,1)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,-1),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,0),(4,2)]
+    , array (1,6) [(1,1),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,1),(4,0),(5,1)]
+    , array (1,5) [(1,1),(2,0),(3,1),(4,1),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,1),(4,-1)]
+    , array (1,5) [(1,1),(2,0),(3,-1),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,-1),(4,1)]
+    , array (1,4) [(1,1),(2,0),(3,2),(4,0)]
+    , array (1,3) [(1,1),(2,0),(3,-2)]
+    , array (1,6) [(1,1),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,1),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,1),(2,1),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,1),(2,1),(3,0),(4,-1)]
+    , array (1,5) [(1,1),(2,1),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,1),(3,1),(4,1)]
+    , array (1,4) [(1,1),(2,1),(3,-1),(4,0)]
+    , array (1,3) [(1,1),(2,1),(3,2)]
+    , array (1,5) [(1,1),(2,-1),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,-1),(3,0),(4,1)]
+    , array (1,4) [(1,1),(2,-1),(3,1),(4,0)]
+    , array (1,3) [(1,1),(2,-1),(3,-1)]
+    , array (1,4) [(1,1),(2,2),(3,0),(4,0)]
+    , array (1,3) [(1,1),(2,2),(3,1)]
+    , array (1,3) [(1,1),(2,-2),(3,0)]
+    , array (1,2) [(1,1),(2,3)]
+    , array (1,6) [(1,-1),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,-1),(2,0),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,-1),(2,0),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,-1),(2,0),(3,0),(4,-1)]
+    , array (1,5) [(1,-1),(2,0),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,-1),(2,0),(3,1),(4,1)]
+    , array (1,4) [(1,-1),(2,0),(3,-1),(4,0)]
+    , array (1,3) [(1,-1),(2,0),(3,2)]
+    , array (1,5) [(1,-1),(2,1),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,-1),(2,1),(3,0),(4,1)]
+    , array (1,4) [(1,-1),(2,1),(3,1),(4,0)]
+    , array (1,3) [(1,-1),(2,1),(3,-1)]
+    , array (1,4) [(1,-1),(2,-1),(3,0),(4,0)]
+    , array (1,3) [(1,-1),(2,-1),(3,1)]
+    , array (1,3) [(1,-1),(2,2),(3,0)]
+    , array (1,2) [(1,-1),(2,-2)]
+    , array (1,5) [(1,2),(2,0),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,2),(2,0),(3,0),(4,1)]
+    , array (1,4) [(1,2),(2,0),(3,1),(4,0)]
+    , array (1,3) [(1,2),(2,0),(3,-1)]
+    , array (1,4) [(1,2),(2,1),(3,0),(4,0)]
+    , array (1,3) [(1,2),(2,1),(3,1)]
+    , array (1,3) [(1,2),(2,-1),(3,0)]
+    , array (1,2) [(1,2),(2,2)]
+    , array (1,4) [(1,-2),(2,0),(3,0),(4,0)]
+    , array (1,3) [(1,-2),(2,0),(3,1)]
+    , array (1,3) [(1,-2),(2,1),(3,0)]
+    , array (1,2) [(1,-2),(2,-1)]
+    , array (1,3) [(1,3),(2,0),(3,0)]
+    , array (1,2) [(1,3),(2,1)]
+    , array (1,2) [(1,-3),(2,0)]
+    , array (1,1) [(1,4)]
+    , array (-1,5) [(-1,0),(0,0),(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,0),(3,0),(4,1)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,0),(3,1),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,0),(3,-1)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,1),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,1),(3,1)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,-1),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,0),(2,2)]
+    , array (-1,4) [(-1,0),(0,0),(1,1),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,1),(2,0),(3,1)]
+    , array (-1,3) [(-1,0),(0,0),(1,1),(2,1),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,1),(2,-1)]
+    , array (-1,3) [(-1,0),(0,0),(1,-1),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,-1),(2,1)]
+    , array (-1,2) [(-1,0),(0,0),(1,2),(2,0)]
+    , array (-1,1) [(-1,0),(0,0),(1,-2)]
+    , array (-1,4) [(-1,0),(0,1),(1,0),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,1),(1,0),(2,0),(3,1)]
+    , array (-1,3) [(-1,0),(0,1),(1,0),(2,1),(3,0)]
+    , array (-1,2) [(-1,0),(0,1),(1,0),(2,-1)]
+    , array (-1,3) [(-1,0),(0,1),(1,1),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,1),(1,1),(2,1)]
+    , array (-1,2) [(-1,0),(0,1),(1,-1),(2,0)]
+    , array (-1,1) [(-1,0),(0,1),(1,2)]
+    , array (-1,3) [(-1,0),(0,-1),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,-1),(1,0),(2,1)]
+    , array (-1,2) [(-1,0),(0,-1),(1,1),(2,0)]
+    , array (-1,1) [(-1,0),(0,-1),(1,-1)]
+    , array (-1,2) [(-1,0),(0,2),(1,0),(2,0)]
+    , array (-1,1) [(-1,0),(0,2),(1,1)]
+    , array (-1,1) [(-1,0),(0,-2),(1,0)]
+    , array (-1,0) [(-1,0),(0,3)]
+    , array (-1,4) [(-1,1),(0,0),(1,0),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,1),(0,0),(1,0),(2,0),(3,1)]
+    , array (-1,3) [(-1,1),(0,0),(1,0),(2,1),(3,0)]
+    , array (-1,2) [(-1,1),(0,0),(1,0),(2,-1)]
+    , array (-1,3) [(-1,1),(0,0),(1,1),(2,0),(3,0)]
+    , array (-1,2) [(-1,1),(0,0),(1,1),(2,1)]
+    , array (-1,2) [(-1,1),(0,0),(1,-1),(2,0)]
+    , array (-1,1) [(-1,1),(0,0),(1,2)]
+    , array (-1,3) [(-1,1),(0,1),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,1),(0,1),(1,0),(2,1)]
+    , array (-1,2) [(-1,1),(0,1),(1,1),(2,0)]
+    , array (-1,1) [(-1,1),(0,1),(1,-1)]
+    , array (-1,2) [(-1,1),(0,-1),(1,0),(2,0)]
+    , array (-1,1) [(-1,1),(0,-1),(1,1)]
+    , array (-1,1) [(-1,1),(0,2),(1,0)]
+    , array (-1,0) [(-1,1),(0,-2)]
+    , array (-1,3) [(-1,-1),(0,0),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,-1),(0,0),(1,0),(2,1)]
+    , array (-1,2) [(-1,-1),(0,0),(1,1),(2,0)]
+    , array (-1,1) [(-1,-1),(0,0),(1,-1)]
+    , array (-1,2) [(-1,-1),(0,1),(1,0),(2,0)]
+    , array (-1,1) [(-1,-1),(0,1),(1,1)]
+    , array (-1,1) [(-1,-1),(0,-1),(1,0)]
+    , array (-1,0) [(-1,-1),(0,2)]
+    , array (-1,2) [(-1,2),(0,0),(1,0),(2,0)]
+    , array (-1,1) [(-1,2),(0,0),(1,1)]
+    , array (-1,1) [(-1,2),(0,1),(1,0)]
+    , array (-1,0) [(-1,2),(0,-1)]
+    , array (-1,1) [(-1,-2),(0,0),(1,0)]
+    , array (-1,0) [(-1,-2),(0,1)]
+    , array (-1,0) [(-1,3),(0,0)]
+    , array (-1,-1) [(-1,-3)]
+    , array (2,7) [(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (2,6) [(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (2,6) [(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (2,5) [(2,0),(3,0),(4,0),(5,-1)]
+    , array (2,6) [(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (2,5) [(2,0),(3,0),(4,1),(5,1)]
+    , array (2,5) [(2,0),(3,0),(4,-1),(5,0)]
+    , array (2,4) [(2,0),(3,0),(4,2)]
+    , array (2,6) [(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (2,5) [(2,0),(3,1),(4,0),(5,1)]
+    , array (2,5) [(2,0),(3,1),(4,1),(5,0)]
+    , array (2,4) [(2,0),(3,1),(4,-1)]
+    , array (2,5) [(2,0),(3,-1),(4,0),(5,0)]
+    , array (2,4) [(2,0),(3,-1),(4,1)]
+    , array (2,4) [(2,0),(3,2),(4,0)]
+    , array (2,3) [(2,0),(3,-2)]
+    , array (2,6) [(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (2,5) [(2,1),(3,0),(4,0),(5,1)]
+    , array (2,5) [(2,1),(3,0),(4,1),(5,0)]
+    , array (2,4) [(2,1),(3,0),(4,-1)]
+    , array (2,5) [(2,1),(3,1),(4,0),(5,0)]
+    , array (2,4) [(2,1),(3,1),(4,1)]
+    , array (2,4) [(2,1),(3,-1),(4,0)]
+    , array (2,3) [(2,1),(3,2)]
+    , array (2,5) [(2,-1),(3,0),(4,0),(5,0)]
+    , array (2,4) [(2,-1),(3,0),(4,1)]
+    , array (2,4) [(2,-1),(3,1),(4,0)]
+    , array (2,3) [(2,-1),(3,-1)]
+    , array (2,4) [(2,2),(3,0),(4,0)]
+    , array (2,3) [(2,2),(3,1)]
+    , array (2,3) [(2,-2),(3,0)]
+    , array (2,2) [(2,3)]
+    , array (-2,2) [(-2,0),(-1,0),(0,0),(1,0),(2,0)]
+    , array (-2,1) [(-2,0),(-1,0),(0,0),(1,1)]
+    , array (-2,1) [(-2,0),(-1,0),(0,1),(1,0)]
+    , array (-2,0) [(-2,0),(-1,0),(0,-1)]
+    , array (-2,1) [(-2,0),(-1,1),(0,0),(1,0)]
+    , array (-2,0) [(-2,0),(-1,1),(0,1)]
+    , array (-2,0) [(-2,0),(-1,-1),(0,0)]
+    , array (-2,-1) [(-2,0),(-1,2)]
+    , array (-2,1) [(-2,1),(-1,0),(0,0),(1,0)]
+    , array (-2,0) [(-2,1),(-1,0),(0,1)]
+    , array (-2,0) [(-2,1),(-1,1),(0,0)]
+    , array (-2,-1) [(-2,1),(-1,-1)]
+    , array (-2,0) [(-2,-1),(-1,0),(0,0)]
+    , array (-2,-1) [(-2,-1),(-1,1)]
+    , array (-2,-1) [(-2,2),(-1,0)]
+    , array (-2,-2) [(-2,-2)]
+    , array (3,6) [(3,0),(4,0),(5,0),(6,0)]
+    , array (3,5) [(3,0),(4,0),(5,1)]
+    , array (3,5) [(3,0),(4,1),(5,0)]
+    , array (3,4) [(3,0),(4,-1)]
+    , array (3,5) [(3,1),(4,0),(5,0)]
+    , array (3,4) [(3,1),(4,1)]
+    , array (3,4) [(3,-1),(4,0)]
+    , array (3,3) [(3,2)]
+    , array (-3,-1) [(-3,0),(-2,0),(-1,0)]
+    , array (-3,-2) [(-3,0),(-2,1)]
+    , array (-3,-2) [(-3,1),(-2,0)]
+    , array (-3,-3) [(-3,-1)]
+    , array (4,5) [(4,0),(5,0)]
+    , array (4,4) [(4,1)]
+    , array (-4,-4) [(-4,0)]
+    , array (5,4) []
+    ]
+  , [ array (0,9) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0),(9,0)]
+    , array (0,8) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,1)]
+    , array (0,8) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,1),(8,0)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,-1)]
+    , array (0,8) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,1),(7,0),(8,0)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,1),(7,1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,-1),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,2)]
+    , array (0,8) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,1),(6,0),(7,0),(8,0)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,1),(6,0),(7,1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,1),(6,1),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,1),(6,-1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,-1),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,-1),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,2),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,0),(5,-2)]
+    , array (0,8) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,0),(6,0),(7,0),(8,0)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,0),(6,0),(7,1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,0),(6,1),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,0),(6,-1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,1),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,1),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,-1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,1),(5,2)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,0),(4,-1),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,-1),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,-1),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,-1),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,0),(4,2),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,2),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,0),(4,-2),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,0),(4,3)]
+    , array (0,8) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,0),(6,0),(7,1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,0),(6,1),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,0),(6,-1)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,1),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,1),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,-1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,0),(5,2)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,1),(4,1),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,1),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,1),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,1),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,1),(4,-1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,-1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,1),(4,2),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,1),(4,-2)]
+    , array (0,7) [(0,0),(1,0),(2,0),(3,-1),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,-1),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,-1),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,-1),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,-1),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,-1),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,-1),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,-1),(4,2)]
+    , array (0,6) [(0,0),(1,0),(2,0),(3,2),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,2),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,2),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,2),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,0),(3,-2),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,-2),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,0),(3,3),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,0),(3,-3)]
+    , array (0,8) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (0,7) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,0),(6,0),(7,1)]
+    , array (0,7) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,0),(6,1),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,0),(6,-1)]
+    , array (0,7) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,1),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,1),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,-1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,0),(5,2)]
+    , array (0,7) [(0,0),(1,0),(2,1),(3,0),(4,1),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,1),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,1),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,1),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,0),(4,-1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,-1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,0),(4,2),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,0),(4,-2)]
+    , array (0,7) [(0,0),(1,0),(2,1),(3,1),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,1),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,1),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,1),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,1),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,1),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,1),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,1),(4,2)]
+    , array (0,6) [(0,0),(1,0),(2,1),(3,-1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,-1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,-1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,-1),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,1),(3,2),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,2),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,1),(3,-2),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,1),(3,3)]
+    , array (0,7) [(0,0),(1,0),(2,-1),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,0),(2,-1),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,0),(2,-1),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,0),(2,-1),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,0),(4,2)]
+    , array (0,6) [(0,0),(1,0),(2,-1),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,1),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,-1),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,-1),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,-1),(3,2),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,-1),(3,-2)]
+    , array (0,6) [(0,0),(1,0),(2,2),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,0),(2,2),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,0),(2,2),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,2),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,0),(2,2),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,2),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,2),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,2),(3,2)]
+    , array (0,5) [(0,0),(1,0),(2,-2),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,0),(2,-2),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,0),(2,-2),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,-2),(3,-1)]
+    , array (0,4) [(0,0),(1,0),(2,3),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,0),(2,3),(3,1)]
+    , array (0,3) [(0,0),(1,0),(2,-3),(3,0)]
+    , array (0,2) [(0,0),(1,0),(2,4)]
+    , array (0,8) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (0,7) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,1)]
+    , array (0,7) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,0),(6,1),(7,0)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,0),(6,-1)]
+    , array (0,7) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,1),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,1),(6,1)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,-1),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,0),(5,2)]
+    , array (0,7) [(0,0),(1,1),(2,0),(3,0),(4,1),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,1),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,1),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,1),(5,-1)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,0),(4,-1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,-1),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,0),(4,2),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,0),(4,-2)]
+    , array (0,7) [(0,0),(1,1),(2,0),(3,1),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,1),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,1),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,1),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,1),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,1),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,1),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,1),(4,2)]
+    , array (0,6) [(0,0),(1,1),(2,0),(3,-1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,-1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,-1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,-1),(4,-1)]
+    , array (0,5) [(0,0),(1,1),(2,0),(3,2),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,2),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,0),(3,-2),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,0),(3,3)]
+    , array (0,7) [(0,0),(1,1),(2,1),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,1),(2,1),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,1),(2,1),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,1),(2,1),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,0),(4,2)]
+    , array (0,6) [(0,0),(1,1),(2,1),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,1),(4,-1)]
+    , array (0,5) [(0,0),(1,1),(2,1),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,-1),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,1),(3,2),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,1),(3,-2)]
+    , array (0,6) [(0,0),(1,1),(2,-1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,1),(2,-1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,1),(2,-1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,-1),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,1),(2,-1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,-1),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,-1),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,-1),(3,2)]
+    , array (0,5) [(0,0),(1,1),(2,2),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,1),(2,2),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,1),(2,2),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,2),(3,-1)]
+    , array (0,4) [(0,0),(1,1),(2,-2),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,1),(2,-2),(3,1)]
+    , array (0,3) [(0,0),(1,1),(2,3),(3,0)]
+    , array (0,2) [(0,0),(1,1),(2,-3)]
+    , array (0,7) [(0,0),(1,-1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,0),(1,-1),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,0),(1,-1),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,0),(1,-1),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,0),(4,2)]
+    , array (0,6) [(0,0),(1,-1),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,1),(4,-1)]
+    , array (0,5) [(0,0),(1,-1),(2,0),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,-1),(4,1)]
+    , array (0,4) [(0,0),(1,-1),(2,0),(3,2),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,0),(3,-2)]
+    , array (0,6) [(0,0),(1,-1),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,-1),(2,1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,-1),(2,1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,1),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,-1),(2,1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,1),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,-1),(2,1),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,1),(3,2)]
+    , array (0,5) [(0,0),(1,-1),(2,-1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,-1),(2,-1),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,-1),(2,-1),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,-1),(3,-1)]
+    , array (0,4) [(0,0),(1,-1),(2,2),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,-1),(2,2),(3,1)]
+    , array (0,3) [(0,0),(1,-1),(2,-2),(3,0)]
+    , array (0,2) [(0,0),(1,-1),(2,3)]
+    , array (0,6) [(0,0),(1,2),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,0),(1,2),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,0),(1,2),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,0),(1,2),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,0),(1,2),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,2),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,0),(1,2),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,0),(1,2),(2,0),(3,2)]
+    , array (0,5) [(0,0),(1,2),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,2),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,2),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,2),(2,1),(3,-1)]
+    , array (0,4) [(0,0),(1,2),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,2),(2,-1),(3,1)]
+    , array (0,3) [(0,0),(1,2),(2,2),(3,0)]
+    , array (0,2) [(0,0),(1,2),(2,-2)]
+    , array (0,5) [(0,0),(1,-2),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,0),(1,-2),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,0),(1,-2),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,0),(1,-2),(2,0),(3,-1)]
+    , array (0,4) [(0,0),(1,-2),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,-2),(2,1),(3,1)]
+    , array (0,3) [(0,0),(1,-2),(2,-1),(3,0)]
+    , array (0,2) [(0,0),(1,-2),(2,2)]
+    , array (0,4) [(0,0),(1,3),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,0),(1,3),(2,0),(3,1)]
+    , array (0,3) [(0,0),(1,3),(2,1),(3,0)]
+    , array (0,2) [(0,0),(1,3),(2,-1)]
+    , array (0,3) [(0,0),(1,-3),(2,0),(3,0)]
+    , array (0,2) [(0,0),(1,-3),(2,1)]
+    , array (0,2) [(0,0),(1,4),(2,0)]
+    , array (0,1) [(0,0),(1,-4)]
+    , array (0,8) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (0,7) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,1)]
+    , array (0,7) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,1),(7,0)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,-1)]
+    , array (0,7) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,1),(6,0),(7,0)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,1),(6,1)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,-1),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,0),(5,2)]
+    , array (0,7) [(0,1),(1,0),(2,0),(3,0),(4,1),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,1),(5,0),(6,1)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,1),(5,1),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,1),(5,-1)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,0),(4,-1),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,-1),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,0),(4,2),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,0),(4,-2)]
+    , array (0,7) [(0,1),(1,0),(2,0),(3,1),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,1),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,1),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,1),(4,0),(5,-1)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,1),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,1),(4,1),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,1),(4,-1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,1),(4,2)]
+    , array (0,6) [(0,1),(1,0),(2,0),(3,-1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,-1),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,-1),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,-1),(4,-1)]
+    , array (0,5) [(0,1),(1,0),(2,0),(3,2),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,2),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,0),(3,-2),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,0),(3,3)]
+    , array (0,7) [(0,1),(1,0),(2,1),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,1),(1,0),(2,1),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,1),(1,0),(2,1),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,1),(1,0),(2,1),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,0),(4,2)]
+    , array (0,6) [(0,1),(1,0),(2,1),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,1),(4,-1)]
+    , array (0,5) [(0,1),(1,0),(2,1),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,-1),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,1),(3,2),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,1),(3,-2)]
+    , array (0,6) [(0,1),(1,0),(2,-1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,0),(2,-1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,0),(2,-1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,-1),(3,0),(4,-1)]
+    , array (0,5) [(0,1),(1,0),(2,-1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,-1),(3,1),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,-1),(3,-1),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,-1),(3,2)]
+    , array (0,5) [(0,1),(1,0),(2,2),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,0),(2,2),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,0),(2,2),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,2),(3,-1)]
+    , array (0,4) [(0,1),(1,0),(2,-2),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,0),(2,-2),(3,1)]
+    , array (0,3) [(0,1),(1,0),(2,3),(3,0)]
+    , array (0,2) [(0,1),(1,0),(2,-3)]
+    , array (0,7) [(0,1),(1,1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,1),(1,1),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,1),(1,1),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,1),(1,1),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,0),(4,2)]
+    , array (0,6) [(0,1),(1,1),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,1),(4,-1)]
+    , array (0,5) [(0,1),(1,1),(2,0),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,-1),(4,1)]
+    , array (0,4) [(0,1),(1,1),(2,0),(3,2),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,0),(3,-2)]
+    , array (0,6) [(0,1),(1,1),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,1),(2,1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,1),(2,1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,1),(3,0),(4,-1)]
+    , array (0,5) [(0,1),(1,1),(2,1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,1),(3,1),(4,1)]
+    , array (0,4) [(0,1),(1,1),(2,1),(3,-1),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,1),(3,2)]
+    , array (0,5) [(0,1),(1,1),(2,-1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,1),(2,-1),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,1),(2,-1),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,-1),(3,-1)]
+    , array (0,4) [(0,1),(1,1),(2,2),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,1),(2,2),(3,1)]
+    , array (0,3) [(0,1),(1,1),(2,-2),(3,0)]
+    , array (0,2) [(0,1),(1,1),(2,3)]
+    , array (0,6) [(0,1),(1,-1),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,1),(1,-1),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,1),(1,-1),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,1),(1,-1),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,1),(1,-1),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,-1),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,1),(1,-1),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,1),(1,-1),(2,0),(3,2)]
+    , array (0,5) [(0,1),(1,-1),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,-1),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,-1),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,-1),(2,1),(3,-1)]
+    , array (0,4) [(0,1),(1,-1),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,-1),(2,-1),(3,1)]
+    , array (0,3) [(0,1),(1,-1),(2,2),(3,0)]
+    , array (0,2) [(0,1),(1,-1),(2,-2)]
+    , array (0,5) [(0,1),(1,2),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,1),(1,2),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,1),(1,2),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,1),(1,2),(2,0),(3,-1)]
+    , array (0,4) [(0,1),(1,2),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,2),(2,1),(3,1)]
+    , array (0,3) [(0,1),(1,2),(2,-1),(3,0)]
+    , array (0,2) [(0,1),(1,2),(2,2)]
+    , array (0,4) [(0,1),(1,-2),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,1),(1,-2),(2,0),(3,1)]
+    , array (0,3) [(0,1),(1,-2),(2,1),(3,0)]
+    , array (0,2) [(0,1),(1,-2),(2,-1)]
+    , array (0,3) [(0,1),(1,3),(2,0),(3,0)]
+    , array (0,2) [(0,1),(1,3),(2,1)]
+    , array (0,2) [(0,1),(1,-3),(2,0)]
+    , array (0,1) [(0,1),(1,4)]
+    , array (0,7) [(0,-1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (0,6) [(0,-1),(1,0),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (0,6) [(0,-1),(1,0),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,0),(4,0),(5,-1)]
+    , array (0,6) [(0,-1),(1,0),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,0),(4,1),(5,1)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,0),(4,-1),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,0),(4,2)]
+    , array (0,6) [(0,-1),(1,0),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,1),(4,0),(5,1)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,1),(4,1),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,1),(4,-1)]
+    , array (0,5) [(0,-1),(1,0),(2,0),(3,-1),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,-1),(4,1)]
+    , array (0,4) [(0,-1),(1,0),(2,0),(3,2),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,0),(3,-2)]
+    , array (0,6) [(0,-1),(1,0),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,-1),(1,0),(2,1),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,-1),(1,0),(2,1),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,1),(3,0),(4,-1)]
+    , array (0,5) [(0,-1),(1,0),(2,1),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,1),(3,1),(4,1)]
+    , array (0,4) [(0,-1),(1,0),(2,1),(3,-1),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,1),(3,2)]
+    , array (0,5) [(0,-1),(1,0),(2,-1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,0),(2,-1),(3,0),(4,1)]
+    , array (0,4) [(0,-1),(1,0),(2,-1),(3,1),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,-1),(3,-1)]
+    , array (0,4) [(0,-1),(1,0),(2,2),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,0),(2,2),(3,1)]
+    , array (0,3) [(0,-1),(1,0),(2,-2),(3,0)]
+    , array (0,2) [(0,-1),(1,0),(2,3)]
+    , array (0,6) [(0,-1),(1,1),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,-1),(1,1),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,-1),(1,1),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,-1),(1,1),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,-1),(1,1),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,1),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,-1),(1,1),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,-1),(1,1),(2,0),(3,2)]
+    , array (0,5) [(0,-1),(1,1),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,1),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,-1),(1,1),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,-1),(1,1),(2,1),(3,-1)]
+    , array (0,4) [(0,-1),(1,1),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,1),(2,-1),(3,1)]
+    , array (0,3) [(0,-1),(1,1),(2,2),(3,0)]
+    , array (0,2) [(0,-1),(1,1),(2,-2)]
+    , array (0,5) [(0,-1),(1,-1),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,-1),(1,-1),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,-1),(1,-1),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,-1),(1,-1),(2,0),(3,-1)]
+    , array (0,4) [(0,-1),(1,-1),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,-1),(2,1),(3,1)]
+    , array (0,3) [(0,-1),(1,-1),(2,-1),(3,0)]
+    , array (0,2) [(0,-1),(1,-1),(2,2)]
+    , array (0,4) [(0,-1),(1,2),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,-1),(1,2),(2,0),(3,1)]
+    , array (0,3) [(0,-1),(1,2),(2,1),(3,0)]
+    , array (0,2) [(0,-1),(1,2),(2,-1)]
+    , array (0,3) [(0,-1),(1,-2),(2,0),(3,0)]
+    , array (0,2) [(0,-1),(1,-2),(2,1)]
+    , array (0,2) [(0,-1),(1,3),(2,0)]
+    , array (0,1) [(0,-1),(1,-3)]
+    , array (0,6) [(0,2),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (0,5) [(0,2),(1,0),(2,0),(3,0),(4,0),(5,1)]
+    , array (0,5) [(0,2),(1,0),(2,0),(3,0),(4,1),(5,0)]
+    , array (0,4) [(0,2),(1,0),(2,0),(3,0),(4,-1)]
+    , array (0,5) [(0,2),(1,0),(2,0),(3,1),(4,0),(5,0)]
+    , array (0,4) [(0,2),(1,0),(2,0),(3,1),(4,1)]
+    , array (0,4) [(0,2),(1,0),(2,0),(3,-1),(4,0)]
+    , array (0,3) [(0,2),(1,0),(2,0),(3,2)]
+    , array (0,5) [(0,2),(1,0),(2,1),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,2),(1,0),(2,1),(3,0),(4,1)]
+    , array (0,4) [(0,2),(1,0),(2,1),(3,1),(4,0)]
+    , array (0,3) [(0,2),(1,0),(2,1),(3,-1)]
+    , array (0,4) [(0,2),(1,0),(2,-1),(3,0),(4,0)]
+    , array (0,3) [(0,2),(1,0),(2,-1),(3,1)]
+    , array (0,3) [(0,2),(1,0),(2,2),(3,0)]
+    , array (0,2) [(0,2),(1,0),(2,-2)]
+    , array (0,5) [(0,2),(1,1),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,2),(1,1),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,2),(1,1),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,2),(1,1),(2,0),(3,-1)]
+    , array (0,4) [(0,2),(1,1),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,2),(1,1),(2,1),(3,1)]
+    , array (0,3) [(0,2),(1,1),(2,-1),(3,0)]
+    , array (0,2) [(0,2),(1,1),(2,2)]
+    , array (0,4) [(0,2),(1,-1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,2),(1,-1),(2,0),(3,1)]
+    , array (0,3) [(0,2),(1,-1),(2,1),(3,0)]
+    , array (0,2) [(0,2),(1,-1),(2,-1)]
+    , array (0,3) [(0,2),(1,2),(2,0),(3,0)]
+    , array (0,2) [(0,2),(1,2),(2,1)]
+    , array (0,2) [(0,2),(1,-2),(2,0)]
+    , array (0,1) [(0,2),(1,3)]
+    , array (0,5) [(0,-2),(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (0,4) [(0,-2),(1,0),(2,0),(3,0),(4,1)]
+    , array (0,4) [(0,-2),(1,0),(2,0),(3,1),(4,0)]
+    , array (0,3) [(0,-2),(1,0),(2,0),(3,-1)]
+    , array (0,4) [(0,-2),(1,0),(2,1),(3,0),(4,0)]
+    , array (0,3) [(0,-2),(1,0),(2,1),(3,1)]
+    , array (0,3) [(0,-2),(1,0),(2,-1),(3,0)]
+    , array (0,2) [(0,-2),(1,0),(2,2)]
+    , array (0,4) [(0,-2),(1,1),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,-2),(1,1),(2,0),(3,1)]
+    , array (0,3) [(0,-2),(1,1),(2,1),(3,0)]
+    , array (0,2) [(0,-2),(1,1),(2,-1)]
+    , array (0,3) [(0,-2),(1,-1),(2,0),(3,0)]
+    , array (0,2) [(0,-2),(1,-1),(2,1)]
+    , array (0,2) [(0,-2),(1,2),(2,0)]
+    , array (0,1) [(0,-2),(1,-2)]
+    , array (0,4) [(0,3),(1,0),(2,0),(3,0),(4,0)]
+    , array (0,3) [(0,3),(1,0),(2,0),(3,1)]
+    , array (0,3) [(0,3),(1,0),(2,1),(3,0)]
+    , array (0,2) [(0,3),(1,0),(2,-1)]
+    , array (0,3) [(0,3),(1,1),(2,0),(3,0)]
+    , array (0,2) [(0,3),(1,1),(2,1)]
+    , array (0,2) [(0,3),(1,-1),(2,0)]
+    , array (0,1) [(0,3),(1,2)]
+    , array (0,3) [(0,-3),(1,0),(2,0),(3,0)]
+    , array (0,2) [(0,-3),(1,0),(2,1)]
+    , array (0,2) [(0,-3),(1,1),(2,0)]
+    , array (0,1) [(0,-3),(1,-1)]
+    , array (0,2) [(0,4),(1,0),(2,0)]
+    , array (0,1) [(0,4),(1,1)]
+    , array (0,1) [(0,-4),(1,0)]
+    , array (0,0) [(0,5)]
+    , array (1,9) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0),(9,0)]
+    , array (1,8) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,1)]
+    , array (1,8) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,1),(8,0)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,-1)]
+    , array (1,8) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,1),(7,0),(8,0)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,1),(7,1)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,-1),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,0),(6,2)]
+    , array (1,8) [(1,0),(2,0),(3,0),(4,0),(5,1),(6,0),(7,0),(8,0)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,1),(6,0),(7,1)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,1),(6,1),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,1),(6,-1)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,0),(5,-1),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,-1),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,0),(5,2),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,0),(5,-2)]
+    , array (1,8) [(1,0),(2,0),(3,0),(4,1),(5,0),(6,0),(7,0),(8,0)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,1),(5,0),(6,0),(7,1)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,1),(5,0),(6,1),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,1),(5,0),(6,-1)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,1),(5,1),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,1),(5,1),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,1),(5,-1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,1),(5,2)]
+    , array (1,7) [(1,0),(2,0),(3,0),(4,-1),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,-1),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,-1),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,-1),(5,-1)]
+    , array (1,6) [(1,0),(2,0),(3,0),(4,2),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,2),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,0),(4,-2),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,0),(4,3)]
+    , array (1,8) [(1,0),(2,0),(3,1),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (1,7) [(1,0),(2,0),(3,1),(4,0),(5,0),(6,0),(7,1)]
+    , array (1,7) [(1,0),(2,0),(3,1),(4,0),(5,0),(6,1),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,0),(5,0),(6,-1)]
+    , array (1,7) [(1,0),(2,0),(3,1),(4,0),(5,1),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,0),(5,1),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,0),(5,-1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,0),(5,2)]
+    , array (1,7) [(1,0),(2,0),(3,1),(4,1),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,1),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,1),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,1),(5,-1)]
+    , array (1,6) [(1,0),(2,0),(3,1),(4,-1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,-1),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,1),(4,2),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,1),(4,-2)]
+    , array (1,7) [(1,0),(2,0),(3,-1),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,0),(3,-1),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,0),(3,-1),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,-1),(4,0),(5,-1)]
+    , array (1,6) [(1,0),(2,0),(3,-1),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,-1),(4,1),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,-1),(4,-1),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,-1),(4,2)]
+    , array (1,6) [(1,0),(2,0),(3,2),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,0),(3,2),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,0),(3,2),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,2),(4,-1)]
+    , array (1,5) [(1,0),(2,0),(3,-2),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,0),(3,-2),(4,1)]
+    , array (1,4) [(1,0),(2,0),(3,3),(4,0)]
+    , array (1,3) [(1,0),(2,0),(3,-3)]
+    , array (1,8) [(1,0),(2,1),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (1,7) [(1,0),(2,1),(3,0),(4,0),(5,0),(6,0),(7,1)]
+    , array (1,7) [(1,0),(2,1),(3,0),(4,0),(5,0),(6,1),(7,0)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,0),(5,0),(6,-1)]
+    , array (1,7) [(1,0),(2,1),(3,0),(4,0),(5,1),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,0),(5,1),(6,1)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,0),(5,-1),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,0),(5,2)]
+    , array (1,7) [(1,0),(2,1),(3,0),(4,1),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,1),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,1),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,1),(5,-1)]
+    , array (1,6) [(1,0),(2,1),(3,0),(4,-1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,-1),(5,1)]
+    , array (1,5) [(1,0),(2,1),(3,0),(4,2),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,0),(4,-2)]
+    , array (1,7) [(1,0),(2,1),(3,1),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,1),(3,1),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,1),(3,1),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,1),(4,0),(5,-1)]
+    , array (1,6) [(1,0),(2,1),(3,1),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,1),(4,1),(5,1)]
+    , array (1,5) [(1,0),(2,1),(3,1),(4,-1),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,1),(4,2)]
+    , array (1,6) [(1,0),(2,1),(3,-1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,1),(3,-1),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,1),(3,-1),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,-1),(4,-1)]
+    , array (1,5) [(1,0),(2,1),(3,2),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,1),(3,2),(4,1)]
+    , array (1,4) [(1,0),(2,1),(3,-2),(4,0)]
+    , array (1,3) [(1,0),(2,1),(3,3)]
+    , array (1,7) [(1,0),(2,-1),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,0),(2,-1),(3,0),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,0),(2,-1),(3,0),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,0),(2,-1),(3,0),(4,0),(5,-1)]
+    , array (1,6) [(1,0),(2,-1),(3,0),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,-1),(3,0),(4,1),(5,1)]
+    , array (1,5) [(1,0),(2,-1),(3,0),(4,-1),(5,0)]
+    , array (1,4) [(1,0),(2,-1),(3,0),(4,2)]
+    , array (1,6) [(1,0),(2,-1),(3,1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,-1),(3,1),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,-1),(3,1),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,-1),(3,1),(4,-1)]
+    , array (1,5) [(1,0),(2,-1),(3,-1),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,-1),(3,-1),(4,1)]
+    , array (1,4) [(1,0),(2,-1),(3,2),(4,0)]
+    , array (1,3) [(1,0),(2,-1),(3,-2)]
+    , array (1,6) [(1,0),(2,2),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,0),(2,2),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,0),(2,2),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,0),(2,2),(3,0),(4,-1)]
+    , array (1,5) [(1,0),(2,2),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,2),(3,1),(4,1)]
+    , array (1,4) [(1,0),(2,2),(3,-1),(4,0)]
+    , array (1,3) [(1,0),(2,2),(3,2)]
+    , array (1,5) [(1,0),(2,-2),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,0),(2,-2),(3,0),(4,1)]
+    , array (1,4) [(1,0),(2,-2),(3,1),(4,0)]
+    , array (1,3) [(1,0),(2,-2),(3,-1)]
+    , array (1,4) [(1,0),(2,3),(3,0),(4,0)]
+    , array (1,3) [(1,0),(2,3),(3,1)]
+    , array (1,3) [(1,0),(2,-3),(3,0)]
+    , array (1,2) [(1,0),(2,4)]
+    , array (1,8) [(1,1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (1,7) [(1,1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,1)]
+    , array (1,7) [(1,1),(2,0),(3,0),(4,0),(5,0),(6,1),(7,0)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,0),(5,0),(6,-1)]
+    , array (1,7) [(1,1),(2,0),(3,0),(4,0),(5,1),(6,0),(7,0)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,0),(5,1),(6,1)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,0),(5,-1),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,0),(5,2)]
+    , array (1,7) [(1,1),(2,0),(3,0),(4,1),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,1),(5,0),(6,1)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,1),(5,1),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,1),(5,-1)]
+    , array (1,6) [(1,1),(2,0),(3,0),(4,-1),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,-1),(5,1)]
+    , array (1,5) [(1,1),(2,0),(3,0),(4,2),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,0),(4,-2)]
+    , array (1,7) [(1,1),(2,0),(3,1),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,1),(2,0),(3,1),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,1),(2,0),(3,1),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,1),(4,0),(5,-1)]
+    , array (1,6) [(1,1),(2,0),(3,1),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,1),(4,1),(5,1)]
+    , array (1,5) [(1,1),(2,0),(3,1),(4,-1),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,1),(4,2)]
+    , array (1,6) [(1,1),(2,0),(3,-1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,0),(3,-1),(4,0),(5,1)]
+    , array (1,5) [(1,1),(2,0),(3,-1),(4,1),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,-1),(4,-1)]
+    , array (1,5) [(1,1),(2,0),(3,2),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,0),(3,2),(4,1)]
+    , array (1,4) [(1,1),(2,0),(3,-2),(4,0)]
+    , array (1,3) [(1,1),(2,0),(3,3)]
+    , array (1,7) [(1,1),(2,1),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,1),(2,1),(3,0),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,1),(2,1),(3,0),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,1),(2,1),(3,0),(4,0),(5,-1)]
+    , array (1,6) [(1,1),(2,1),(3,0),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,1),(3,0),(4,1),(5,1)]
+    , array (1,5) [(1,1),(2,1),(3,0),(4,-1),(5,0)]
+    , array (1,4) [(1,1),(2,1),(3,0),(4,2)]
+    , array (1,6) [(1,1),(2,1),(3,1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,1),(3,1),(4,0),(5,1)]
+    , array (1,5) [(1,1),(2,1),(3,1),(4,1),(5,0)]
+    , array (1,4) [(1,1),(2,1),(3,1),(4,-1)]
+    , array (1,5) [(1,1),(2,1),(3,-1),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,1),(3,-1),(4,1)]
+    , array (1,4) [(1,1),(2,1),(3,2),(4,0)]
+    , array (1,3) [(1,1),(2,1),(3,-2)]
+    , array (1,6) [(1,1),(2,-1),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,1),(2,-1),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,1),(2,-1),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,1),(2,-1),(3,0),(4,-1)]
+    , array (1,5) [(1,1),(2,-1),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,-1),(3,1),(4,1)]
+    , array (1,4) [(1,1),(2,-1),(3,-1),(4,0)]
+    , array (1,3) [(1,1),(2,-1),(3,2)]
+    , array (1,5) [(1,1),(2,2),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,1),(2,2),(3,0),(4,1)]
+    , array (1,4) [(1,1),(2,2),(3,1),(4,0)]
+    , array (1,3) [(1,1),(2,2),(3,-1)]
+    , array (1,4) [(1,1),(2,-2),(3,0),(4,0)]
+    , array (1,3) [(1,1),(2,-2),(3,1)]
+    , array (1,3) [(1,1),(2,3),(3,0)]
+    , array (1,2) [(1,1),(2,-3)]
+    , array (1,7) [(1,-1),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (1,6) [(1,-1),(2,0),(3,0),(4,0),(5,0),(6,1)]
+    , array (1,6) [(1,-1),(2,0),(3,0),(4,0),(5,1),(6,0)]
+    , array (1,5) [(1,-1),(2,0),(3,0),(4,0),(5,-1)]
+    , array (1,6) [(1,-1),(2,0),(3,0),(4,1),(5,0),(6,0)]
+    , array (1,5) [(1,-1),(2,0),(3,0),(4,1),(5,1)]
+    , array (1,5) [(1,-1),(2,0),(3,0),(4,-1),(5,0)]
+    , array (1,4) [(1,-1),(2,0),(3,0),(4,2)]
+    , array (1,6) [(1,-1),(2,0),(3,1),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,-1),(2,0),(3,1),(4,0),(5,1)]
+    , array (1,5) [(1,-1),(2,0),(3,1),(4,1),(5,0)]
+    , array (1,4) [(1,-1),(2,0),(3,1),(4,-1)]
+    , array (1,5) [(1,-1),(2,0),(3,-1),(4,0),(5,0)]
+    , array (1,4) [(1,-1),(2,0),(3,-1),(4,1)]
+    , array (1,4) [(1,-1),(2,0),(3,2),(4,0)]
+    , array (1,3) [(1,-1),(2,0),(3,-2)]
+    , array (1,6) [(1,-1),(2,1),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,-1),(2,1),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,-1),(2,1),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,-1),(2,1),(3,0),(4,-1)]
+    , array (1,5) [(1,-1),(2,1),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,-1),(2,1),(3,1),(4,1)]
+    , array (1,4) [(1,-1),(2,1),(3,-1),(4,0)]
+    , array (1,3) [(1,-1),(2,1),(3,2)]
+    , array (1,5) [(1,-1),(2,-1),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,-1),(2,-1),(3,0),(4,1)]
+    , array (1,4) [(1,-1),(2,-1),(3,1),(4,0)]
+    , array (1,3) [(1,-1),(2,-1),(3,-1)]
+    , array (1,4) [(1,-1),(2,2),(3,0),(4,0)]
+    , array (1,3) [(1,-1),(2,2),(3,1)]
+    , array (1,3) [(1,-1),(2,-2),(3,0)]
+    , array (1,2) [(1,-1),(2,3)]
+    , array (1,6) [(1,2),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (1,5) [(1,2),(2,0),(3,0),(4,0),(5,1)]
+    , array (1,5) [(1,2),(2,0),(3,0),(4,1),(5,0)]
+    , array (1,4) [(1,2),(2,0),(3,0),(4,-1)]
+    , array (1,5) [(1,2),(2,0),(3,1),(4,0),(5,0)]
+    , array (1,4) [(1,2),(2,0),(3,1),(4,1)]
+    , array (1,4) [(1,2),(2,0),(3,-1),(4,0)]
+    , array (1,3) [(1,2),(2,0),(3,2)]
+    , array (1,5) [(1,2),(2,1),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,2),(2,1),(3,0),(4,1)]
+    , array (1,4) [(1,2),(2,1),(3,1),(4,0)]
+    , array (1,3) [(1,2),(2,1),(3,-1)]
+    , array (1,4) [(1,2),(2,-1),(3,0),(4,0)]
+    , array (1,3) [(1,2),(2,-1),(3,1)]
+    , array (1,3) [(1,2),(2,2),(3,0)]
+    , array (1,2) [(1,2),(2,-2)]
+    , array (1,5) [(1,-2),(2,0),(3,0),(4,0),(5,0)]
+    , array (1,4) [(1,-2),(2,0),(3,0),(4,1)]
+    , array (1,4) [(1,-2),(2,0),(3,1),(4,0)]
+    , array (1,3) [(1,-2),(2,0),(3,-1)]
+    , array (1,4) [(1,-2),(2,1),(3,0),(4,0)]
+    , array (1,3) [(1,-2),(2,1),(3,1)]
+    , array (1,3) [(1,-2),(2,-1),(3,0)]
+    , array (1,2) [(1,-2),(2,2)]
+    , array (1,4) [(1,3),(2,0),(3,0),(4,0)]
+    , array (1,3) [(1,3),(2,0),(3,1)]
+    , array (1,3) [(1,3),(2,1),(3,0)]
+    , array (1,2) [(1,3),(2,-1)]
+    , array (1,3) [(1,-3),(2,0),(3,0)]
+    , array (1,2) [(1,-3),(2,1)]
+    , array (1,2) [(1,4),(2,0)]
+    , array (1,1) [(1,-4)]
+    , array (-1,6) [(-1,0),(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0)]
+    , array (-1,5) [(-1,0),(0,0),(1,0),(2,0),(3,0),(4,0),(5,1)]
+    , array (-1,5) [(-1,0),(0,0),(1,0),(2,0),(3,0),(4,1),(5,0)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,0),(3,0),(4,-1)]
+    , array (-1,5) [(-1,0),(0,0),(1,0),(2,0),(3,1),(4,0),(5,0)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,0),(3,1),(4,1)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,0),(3,-1),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,0),(3,2)]
+    , array (-1,5) [(-1,0),(0,0),(1,0),(2,1),(3,0),(4,0),(5,0)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,1),(3,0),(4,1)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,1),(3,1),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,1),(3,-1)]
+    , array (-1,4) [(-1,0),(0,0),(1,0),(2,-1),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,-1),(3,1)]
+    , array (-1,3) [(-1,0),(0,0),(1,0),(2,2),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,0),(2,-2)]
+    , array (-1,5) [(-1,0),(0,0),(1,1),(2,0),(3,0),(4,0),(5,0)]
+    , array (-1,4) [(-1,0),(0,0),(1,1),(2,0),(3,0),(4,1)]
+    , array (-1,4) [(-1,0),(0,0),(1,1),(2,0),(3,1),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,1),(2,0),(3,-1)]
+    , array (-1,4) [(-1,0),(0,0),(1,1),(2,1),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,1),(2,1),(3,1)]
+    , array (-1,3) [(-1,0),(0,0),(1,1),(2,-1),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,1),(2,2)]
+    , array (-1,4) [(-1,0),(0,0),(1,-1),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,0),(1,-1),(2,0),(3,1)]
+    , array (-1,3) [(-1,0),(0,0),(1,-1),(2,1),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,-1),(2,-1)]
+    , array (-1,3) [(-1,0),(0,0),(1,2),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,0),(1,2),(2,1)]
+    , array (-1,2) [(-1,0),(0,0),(1,-2),(2,0)]
+    , array (-1,1) [(-1,0),(0,0),(1,3)]
+    , array (-1,5) [(-1,0),(0,1),(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (-1,4) [(-1,0),(0,1),(1,0),(2,0),(3,0),(4,1)]
+    , array (-1,4) [(-1,0),(0,1),(1,0),(2,0),(3,1),(4,0)]
+    , array (-1,3) [(-1,0),(0,1),(1,0),(2,0),(3,-1)]
+    , array (-1,4) [(-1,0),(0,1),(1,0),(2,1),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,1),(1,0),(2,1),(3,1)]
+    , array (-1,3) [(-1,0),(0,1),(1,0),(2,-1),(3,0)]
+    , array (-1,2) [(-1,0),(0,1),(1,0),(2,2)]
+    , array (-1,4) [(-1,0),(0,1),(1,1),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,1),(1,1),(2,0),(3,1)]
+    , array (-1,3) [(-1,0),(0,1),(1,1),(2,1),(3,0)]
+    , array (-1,2) [(-1,0),(0,1),(1,1),(2,-1)]
+    , array (-1,3) [(-1,0),(0,1),(1,-1),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,1),(1,-1),(2,1)]
+    , array (-1,2) [(-1,0),(0,1),(1,2),(2,0)]
+    , array (-1,1) [(-1,0),(0,1),(1,-2)]
+    , array (-1,4) [(-1,0),(0,-1),(1,0),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,0),(0,-1),(1,0),(2,0),(3,1)]
+    , array (-1,3) [(-1,0),(0,-1),(1,0),(2,1),(3,0)]
+    , array (-1,2) [(-1,0),(0,-1),(1,0),(2,-1)]
+    , array (-1,3) [(-1,0),(0,-1),(1,1),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,-1),(1,1),(2,1)]
+    , array (-1,2) [(-1,0),(0,-1),(1,-1),(2,0)]
+    , array (-1,1) [(-1,0),(0,-1),(1,2)]
+    , array (-1,3) [(-1,0),(0,2),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,0),(0,2),(1,0),(2,1)]
+    , array (-1,2) [(-1,0),(0,2),(1,1),(2,0)]
+    , array (-1,1) [(-1,0),(0,2),(1,-1)]
+    , array (-1,2) [(-1,0),(0,-2),(1,0),(2,0)]
+    , array (-1,1) [(-1,0),(0,-2),(1,1)]
+    , array (-1,1) [(-1,0),(0,3),(1,0)]
+    , array (-1,0) [(-1,0),(0,-3)]
+    , array (-1,5) [(-1,1),(0,0),(1,0),(2,0),(3,0),(4,0),(5,0)]
+    , array (-1,4) [(-1,1),(0,0),(1,0),(2,0),(3,0),(4,1)]
+    , array (-1,4) [(-1,1),(0,0),(1,0),(2,0),(3,1),(4,0)]
+    , array (-1,3) [(-1,1),(0,0),(1,0),(2,0),(3,-1)]
+    , array (-1,4) [(-1,1),(0,0),(1,0),(2,1),(3,0),(4,0)]
+    , array (-1,3) [(-1,1),(0,0),(1,0),(2,1),(3,1)]
+    , array (-1,3) [(-1,1),(0,0),(1,0),(2,-1),(3,0)]
+    , array (-1,2) [(-1,1),(0,0),(1,0),(2,2)]
+    , array (-1,4) [(-1,1),(0,0),(1,1),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,1),(0,0),(1,1),(2,0),(3,1)]
+    , array (-1,3) [(-1,1),(0,0),(1,1),(2,1),(3,0)]
+    , array (-1,2) [(-1,1),(0,0),(1,1),(2,-1)]
+    , array (-1,3) [(-1,1),(0,0),(1,-1),(2,0),(3,0)]
+    , array (-1,2) [(-1,1),(0,0),(1,-1),(2,1)]
+    , array (-1,2) [(-1,1),(0,0),(1,2),(2,0)]
+    , array (-1,1) [(-1,1),(0,0),(1,-2)]
+    , array (-1,4) [(-1,1),(0,1),(1,0),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,1),(0,1),(1,0),(2,0),(3,1)]
+    , array (-1,3) [(-1,1),(0,1),(1,0),(2,1),(3,0)]
+    , array (-1,2) [(-1,1),(0,1),(1,0),(2,-1)]
+    , array (-1,3) [(-1,1),(0,1),(1,1),(2,0),(3,0)]
+    , array (-1,2) [(-1,1),(0,1),(1,1),(2,1)]
+    , array (-1,2) [(-1,1),(0,1),(1,-1),(2,0)]
+    , array (-1,1) [(-1,1),(0,1),(1,2)]
+    , array (-1,3) [(-1,1),(0,-1),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,1),(0,-1),(1,0),(2,1)]
+    , array (-1,2) [(-1,1),(0,-1),(1,1),(2,0)]
+    , array (-1,1) [(-1,1),(0,-1),(1,-1)]
+    , array (-1,2) [(-1,1),(0,2),(1,0),(2,0)]
+    , array (-1,1) [(-1,1),(0,2),(1,1)]
+    , array (-1,1) [(-1,1),(0,-2),(1,0)]
+    , array (-1,0) [(-1,1),(0,3)]
+    , array (-1,4) [(-1,-1),(0,0),(1,0),(2,0),(3,0),(4,0)]
+    , array (-1,3) [(-1,-1),(0,0),(1,0),(2,0),(3,1)]
+    , array (-1,3) [(-1,-1),(0,0),(1,0),(2,1),(3,0)]
+    , array (-1,2) [(-1,-1),(0,0),(1,0),(2,-1)]
+    , array (-1,3) [(-1,-1),(0,0),(1,1),(2,0),(3,0)]
+    , array (-1,2) [(-1,-1),(0,0),(1,1),(2,1)]
+    , array (-1,2) [(-1,-1),(0,0),(1,-1),(2,0)]
+    , array (-1,1) [(-1,-1),(0,0),(1,2)]
+    , array (-1,3) [(-1,-1),(0,1),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,-1),(0,1),(1,0),(2,1)]
+    , array (-1,2) [(-1,-1),(0,1),(1,1),(2,0)]
+    , array (-1,1) [(-1,-1),(0,1),(1,-1)]
+    , array (-1,2) [(-1,-1),(0,-1),(1,0),(2,0)]
+    , array (-1,1) [(-1,-1),(0,-1),(1,1)]
+    , array (-1,1) [(-1,-1),(0,2),(1,0)]
+    , array (-1,0) [(-1,-1),(0,-2)]
+    , array (-1,3) [(-1,2),(0,0),(1,0),(2,0),(3,0)]
+    , array (-1,2) [(-1,2),(0,0),(1,0),(2,1)]
+    , array (-1,2) [(-1,2),(0,0),(1,1),(2,0)]
+    , array (-1,1) [(-1,2),(0,0),(1,-1)]
+    , array (-1,2) [(-1,2),(0,1),(1,0),(2,0)]
+    , array (-1,1) [(-1,2),(0,1),(1,1)]
+    , array (-1,1) [(-1,2),(0,-1),(1,0)]
+    , array (-1,0) [(-1,2),(0,2)]
+    , array (-1,2) [(-1,-2),(0,0),(1,0),(2,0)]
+    , array (-1,1) [(-1,-2),(0,0),(1,1)]
+    , array (-1,1) [(-1,-2),(0,1),(1,0)]
+    , array (-1,0) [(-1,-2),(0,-1)]
+    , array (-1,1) [(-1,3),(0,0),(1,0)]
+    , array (-1,0) [(-1,3),(0,1)]
+    , array (-1,0) [(-1,-3),(0,0)]
+    , array (-1,-1) [(-1,4)]
+    , array (2,8) [(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0)]
+    , array (2,7) [(2,0),(3,0),(4,0),(5,0),(6,0),(7,1)]
+    , array (2,7) [(2,0),(3,0),(4,0),(5,0),(6,1),(7,0)]
+    , array (2,6) [(2,0),(3,0),(4,0),(5,0),(6,-1)]
+    , array (2,7) [(2,0),(3,0),(4,0),(5,1),(6,0),(7,0)]
+    , array (2,6) [(2,0),(3,0),(4,0),(5,1),(6,1)]
+    , array (2,6) [(2,0),(3,0),(4,0),(5,-1),(6,0)]
+    , array (2,5) [(2,0),(3,0),(4,0),(5,2)]
+    , array (2,7) [(2,0),(3,0),(4,1),(5,0),(6,0),(7,0)]
+    , array (2,6) [(2,0),(3,0),(4,1),(5,0),(6,1)]
+    , array (2,6) [(2,0),(3,0),(4,1),(5,1),(6,0)]
+    , array (2,5) [(2,0),(3,0),(4,1),(5,-1)]
+    , array (2,6) [(2,0),(3,0),(4,-1),(5,0),(6,0)]
+    , array (2,5) [(2,0),(3,0),(4,-1),(5,1)]
+    , array (2,5) [(2,0),(3,0),(4,2),(5,0)]
+    , array (2,4) [(2,0),(3,0),(4,-2)]
+    , array (2,7) [(2,0),(3,1),(4,0),(5,0),(6,0),(7,0)]
+    , array (2,6) [(2,0),(3,1),(4,0),(5,0),(6,1)]
+    , array (2,6) [(2,0),(3,1),(4,0),(5,1),(6,0)]
+    , array (2,5) [(2,0),(3,1),(4,0),(5,-1)]
+    , array (2,6) [(2,0),(3,1),(4,1),(5,0),(6,0)]
+    , array (2,5) [(2,0),(3,1),(4,1),(5,1)]
+    , array (2,5) [(2,0),(3,1),(4,-1),(5,0)]
+    , array (2,4) [(2,0),(3,1),(4,2)]
+    , array (2,6) [(2,0),(3,-1),(4,0),(5,0),(6,0)]
+    , array (2,5) [(2,0),(3,-1),(4,0),(5,1)]
+    , array (2,5) [(2,0),(3,-1),(4,1),(5,0)]
+    , array (2,4) [(2,0),(3,-1),(4,-1)]
+    , array (2,5) [(2,0),(3,2),(4,0),(5,0)]
+    , array (2,4) [(2,0),(3,2),(4,1)]
+    , array (2,4) [(2,0),(3,-2),(4,0)]
+    , array (2,3) [(2,0),(3,3)]
+    , array (2,7) [(2,1),(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (2,6) [(2,1),(3,0),(4,0),(5,0),(6,1)]
+    , array (2,6) [(2,1),(3,0),(4,0),(5,1),(6,0)]
+    , array (2,5) [(2,1),(3,0),(4,0),(5,-1)]
+    , array (2,6) [(2,1),(3,0),(4,1),(5,0),(6,0)]
+    , array (2,5) [(2,1),(3,0),(4,1),(5,1)]
+    , array (2,5) [(2,1),(3,0),(4,-1),(5,0)]
+    , array (2,4) [(2,1),(3,0),(4,2)]
+    , array (2,6) [(2,1),(3,1),(4,0),(5,0),(6,0)]
+    , array (2,5) [(2,1),(3,1),(4,0),(5,1)]
+    , array (2,5) [(2,1),(3,1),(4,1),(5,0)]
+    , array (2,4) [(2,1),(3,1),(4,-1)]
+    , array (2,5) [(2,1),(3,-1),(4,0),(5,0)]
+    , array (2,4) [(2,1),(3,-1),(4,1)]
+    , array (2,4) [(2,1),(3,2),(4,0)]
+    , array (2,3) [(2,1),(3,-2)]
+    , array (2,6) [(2,-1),(3,0),(4,0),(5,0),(6,0)]
+    , array (2,5) [(2,-1),(3,0),(4,0),(5,1)]
+    , array (2,5) [(2,-1),(3,0),(4,1),(5,0)]
+    , array (2,4) [(2,-1),(3,0),(4,-1)]
+    , array (2,5) [(2,-1),(3,1),(4,0),(5,0)]
+    , array (2,4) [(2,-1),(3,1),(4,1)]
+    , array (2,4) [(2,-1),(3,-1),(4,0)]
+    , array (2,3) [(2,-1),(3,2)]
+    , array (2,5) [(2,2),(3,0),(4,0),(5,0)]
+    , array (2,4) [(2,2),(3,0),(4,1)]
+    , array (2,4) [(2,2),(3,1),(4,0)]
+    , array (2,3) [(2,2),(3,-1)]
+    , array (2,4) [(2,-2),(3,0),(4,0)]
+    , array (2,3) [(2,-2),(3,1)]
+    , array (2,3) [(2,3),(3,0)]
+    , array (2,2) [(2,-3)]
+    , array (-2,3) [(-2,0),(-1,0),(0,0),(1,0),(2,0),(3,0)]
+    , array (-2,2) [(-2,0),(-1,0),(0,0),(1,0),(2,1)]
+    , array (-2,2) [(-2,0),(-1,0),(0,0),(1,1),(2,0)]
+    , array (-2,1) [(-2,0),(-1,0),(0,0),(1,-1)]
+    , array (-2,2) [(-2,0),(-1,0),(0,1),(1,0),(2,0)]
+    , array (-2,1) [(-2,0),(-1,0),(0,1),(1,1)]
+    , array (-2,1) [(-2,0),(-1,0),(0,-1),(1,0)]
+    , array (-2,0) [(-2,0),(-1,0),(0,2)]
+    , array (-2,2) [(-2,0),(-1,1),(0,0),(1,0),(2,0)]
+    , array (-2,1) [(-2,0),(-1,1),(0,0),(1,1)]
+    , array (-2,1) [(-2,0),(-1,1),(0,1),(1,0)]
+    , array (-2,0) [(-2,0),(-1,1),(0,-1)]
+    , array (-2,1) [(-2,0),(-1,-1),(0,0),(1,0)]
+    , array (-2,0) [(-2,0),(-1,-1),(0,1)]
+    , array (-2,0) [(-2,0),(-1,2),(0,0)]
+    , array (-2,-1) [(-2,0),(-1,-2)]
+    , array (-2,2) [(-2,1),(-1,0),(0,0),(1,0),(2,0)]
+    , array (-2,1) [(-2,1),(-1,0),(0,0),(1,1)]
+    , array (-2,1) [(-2,1),(-1,0),(0,1),(1,0)]
+    , array (-2,0) [(-2,1),(-1,0),(0,-1)]
+    , array (-2,1) [(-2,1),(-1,1),(0,0),(1,0)]
+    , array (-2,0) [(-2,1),(-1,1),(0,1)]
+    , array (-2,0) [(-2,1),(-1,-1),(0,0)]
+    , array (-2,-1) [(-2,1),(-1,2)]
+    , array (-2,1) [(-2,-1),(-1,0),(0,0),(1,0)]
+    , array (-2,0) [(-2,-1),(-1,0),(0,1)]
+    , array (-2,0) [(-2,-1),(-1,1),(0,0)]
+    , array (-2,-1) [(-2,-1),(-1,-1)]
+    , array (-2,0) [(-2,2),(-1,0),(0,0)]
+    , array (-2,-1) [(-2,2),(-1,1)]
+    , array (-2,-1) [(-2,-2),(-1,0)]
+    , array (-2,-2) [(-2,3)]
+    , array (3,7) [(3,0),(4,0),(5,0),(6,0),(7,0)]
+    , array (3,6) [(3,0),(4,0),(5,0),(6,1)]
+    , array (3,6) [(3,0),(4,0),(5,1),(6,0)]
+    , array (3,5) [(3,0),(4,0),(5,-1)]
+    , array (3,6) [(3,0),(4,1),(5,0),(6,0)]
+    , array (3,5) [(3,0),(4,1),(5,1)]
+    , array (3,5) [(3,0),(4,-1),(5,0)]
+    , array (3,4) [(3,0),(4,2)]
+    , array (3,6) [(3,1),(4,0),(5,0),(6,0)]
+    , array (3,5) [(3,1),(4,0),(5,1)]
+    , array (3,5) [(3,1),(4,1),(5,0)]
+    , array (3,4) [(3,1),(4,-1)]
+    , array (3,5) [(3,-1),(4,0),(5,0)]
+    , array (3,4) [(3,-1),(4,1)]
+    , array (3,4) [(3,2),(4,0)]
+    , array (3,3) [(3,-2)]
+    , array (-3,0) [(-3,0),(-2,0),(-1,0),(0,0)]
+    , array (-3,-1) [(-3,0),(-2,0),(-1,1)]
+    , array (-3,-1) [(-3,0),(-2,1),(-1,0)]
+    , array (-3,-2) [(-3,0),(-2,-1)]
+    , array (-3,-1) [(-3,1),(-2,0),(-1,0)]
+    , array (-3,-2) [(-3,1),(-2,1)]
+    , array (-3,-2) [(-3,-1),(-2,0)]
+    , array (-3,-3) [(-3,2)]
+    , array (4,6) [(4,0),(5,0),(6,0)]
+    , array (4,5) [(4,0),(5,1)]
+    , array (4,5) [(4,1),(5,0)]
+    , array (4,4) [(4,-1)]
+    , array (-4,-3) [(-4,0),(-3,0)]
+    , array (-4,-4) [(-4,1)]
+    , array (5,5) [(5,0)]
+    , array (-5,-6) []
+    ]
+  , ...
+  ]
diff --git a/test/diff/tiers-IntMapInt.out b/test/diff/tiers-IntMapInt.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-IntMapInt.out
@@ -0,0 +1,571 @@
+map length (tiers :: [[ IntMap Int ]])  =  [1,1,2,4,7,12,20,33,53,84,131,202,...]
+
+length (list :: [ IntMap Int ])  =  Infinity
+
+allUnique (list :: [ IntMap Int ])  =  True
+
+ratioRepetitions (list :: [ IntMap Int ])  =  0 % 1
+
+tiers :: [IntMap Int]  =
+  [ [fromList []]
+  , [fromList [(0,0)]]
+  , [ fromList [(0,1)]
+    , fromList [(1,0)]
+    ]
+  , [ fromList [(0,-1)]
+    , fromList [(1,1)]
+    , fromList [(0,0),(1,0)]
+    , fromList [(-1,0)]
+    ]
+  , [ fromList [(0,2)]
+    , fromList [(1,-1)]
+    , fromList [(0,0),(1,1)]
+    , fromList [(0,1),(1,0)]
+    , fromList [(-1,1)]
+    , fromList [(-1,0),(0,0)]
+    , fromList [(2,0)]
+    ]
+  , [ fromList [(0,-2)]
+    , fromList [(1,2)]
+    , fromList [(0,0),(1,-1)]
+    , fromList [(0,1),(1,1)]
+    , fromList [(0,-1),(1,0)]
+    , fromList [(-1,-1)]
+    , fromList [(-1,1),(0,0)]
+    , fromList [(-1,0),(0,1)]
+    , fromList [(2,1)]
+    , fromList [(0,0),(2,0)]
+    , fromList [(-1,0),(1,0)]
+    , fromList [(-2,0)]
+    ]
+  , [ fromList [(0,3)]
+    , fromList [(1,-2)]
+    , fromList [(0,0),(1,2)]
+    , fromList [(0,1),(1,-1)]
+    , fromList [(0,-1),(1,1)]
+    , fromList [(0,2),(1,0)]
+    , fromList [(-1,2)]
+    , fromList [(-1,-1),(0,0)]
+    , fromList [(-1,1),(0,1)]
+    , fromList [(-1,0),(0,-1)]
+    , fromList [(2,-1)]
+    , fromList [(0,0),(2,1)]
+    , fromList [(0,1),(2,0)]
+    , fromList [(-1,1),(1,0)]
+    , fromList [(-1,0),(1,1)]
+    , fromList [(-2,1)]
+    , fromList [(-1,0),(0,0),(1,0)]
+    , fromList [(-2,0),(0,0)]
+    , fromList [(1,0),(2,0)]
+    , fromList [(3,0)]
+    ]
+  , [ fromList [(0,-3)]
+    , fromList [(1,3)]
+    , fromList [(0,0),(1,-2)]
+    , fromList [(0,1),(1,2)]
+    , fromList [(0,-1),(1,-1)]
+    , fromList [(0,2),(1,1)]
+    , fromList [(0,-2),(1,0)]
+    , fromList [(-1,-2)]
+    , fromList [(-1,2),(0,0)]
+    , fromList [(-1,-1),(0,1)]
+    , fromList [(-1,1),(0,-1)]
+    , fromList [(-1,0),(0,2)]
+    , fromList [(2,2)]
+    , fromList [(0,0),(2,-1)]
+    , fromList [(0,1),(2,1)]
+    , fromList [(0,-1),(2,0)]
+    , fromList [(-1,-1),(1,0)]
+    , fromList [(-1,1),(1,1)]
+    , fromList [(-1,0),(1,-1)]
+    , fromList [(-2,-1)]
+    , fromList [(-1,1),(0,0),(1,0)]
+    , fromList [(-1,0),(0,0),(1,1)]
+    , fromList [(-1,0),(0,1),(1,0)]
+    , fromList [(-2,1),(0,0)]
+    , fromList [(-2,0),(0,1)]
+    , fromList [(1,0),(2,1)]
+    , fromList [(1,1),(2,0)]
+    , fromList [(3,1)]
+    , fromList [(0,0),(1,0),(2,0)]
+    , fromList [(0,0),(3,0)]
+    , fromList [(-2,0),(1,0)]
+    , fromList [(-1,0),(2,0)]
+    , fromList [(-3,0)]
+    ]
+  , [ fromList [(0,4)]
+    , fromList [(1,-3)]
+    , fromList [(0,0),(1,3)]
+    , fromList [(0,1),(1,-2)]
+    , fromList [(0,-1),(1,2)]
+    , fromList [(0,2),(1,-1)]
+    , fromList [(0,-2),(1,1)]
+    , fromList [(0,3),(1,0)]
+    , fromList [(-1,3)]
+    , fromList [(-1,-2),(0,0)]
+    , fromList [(-1,2),(0,1)]
+    , fromList [(-1,-1),(0,-1)]
+    , fromList [(-1,1),(0,2)]
+    , fromList [(-1,0),(0,-2)]
+    , fromList [(2,-2)]
+    , fromList [(0,0),(2,2)]
+    , fromList [(0,1),(2,-1)]
+    , fromList [(0,-1),(2,1)]
+    , fromList [(0,2),(2,0)]
+    , fromList [(-1,2),(1,0)]
+    , fromList [(-1,-1),(1,1)]
+    , fromList [(-1,1),(1,-1)]
+    , fromList [(-1,0),(1,2)]
+    , fromList [(-2,2)]
+    , fromList [(-1,-1),(0,0),(1,0)]
+    , fromList [(-1,1),(0,0),(1,1)]
+    , fromList [(-1,0),(0,0),(1,-1)]
+    , fromList [(-1,1),(0,1),(1,0)]
+    , fromList [(-1,0),(0,1),(1,1)]
+    , fromList [(-1,0),(0,-1),(1,0)]
+    , fromList [(-2,-1),(0,0)]
+    , fromList [(-2,1),(0,1)]
+    , fromList [(-2,0),(0,-1)]
+    , fromList [(1,0),(2,-1)]
+    , fromList [(1,1),(2,1)]
+    , fromList [(1,-1),(2,0)]
+    , fromList [(3,-1)]
+    , fromList [(0,0),(1,0),(2,1)]
+    , fromList [(0,0),(1,1),(2,0)]
+    , fromList [(0,1),(1,0),(2,0)]
+    , fromList [(0,0),(3,1)]
+    , fromList [(0,1),(3,0)]
+    , fromList [(-2,1),(1,0)]
+    , fromList [(-2,0),(1,1)]
+    , fromList [(-1,0),(2,1)]
+    , fromList [(-1,1),(2,0)]
+    , fromList [(-3,1)]
+    , fromList [(-2,0),(0,0),(1,0)]
+    , fromList [(-1,0),(0,0),(2,0)]
+    , fromList [(-3,0),(0,0)]
+    , fromList [(1,0),(3,0)]
+    , fromList [(-2,0),(-1,0)]
+    , fromList [(4,0)]
+    ]
+  , [ fromList [(0,-4)]
+    , fromList [(1,4)]
+    , fromList [(0,0),(1,-3)]
+    , fromList [(0,1),(1,3)]
+    , fromList [(0,-1),(1,-2)]
+    , fromList [(0,2),(1,2)]
+    , fromList [(0,-2),(1,-1)]
+    , fromList [(0,3),(1,1)]
+    , fromList [(0,-3),(1,0)]
+    , fromList [(-1,-3)]
+    , fromList [(-1,3),(0,0)]
+    , fromList [(-1,-2),(0,1)]
+    , fromList [(-1,2),(0,-1)]
+    , fromList [(-1,-1),(0,2)]
+    , fromList [(-1,1),(0,-2)]
+    , fromList [(-1,0),(0,3)]
+    , fromList [(2,3)]
+    , fromList [(0,0),(2,-2)]
+    , fromList [(0,1),(2,2)]
+    , fromList [(0,-1),(2,-1)]
+    , fromList [(0,2),(2,1)]
+    , fromList [(0,-2),(2,0)]
+    , fromList [(-1,-2),(1,0)]
+    , fromList [(-1,2),(1,1)]
+    , fromList [(-1,-1),(1,-1)]
+    , fromList [(-1,1),(1,2)]
+    , fromList [(-1,0),(1,-2)]
+    , fromList [(-2,-2)]
+    , fromList [(-1,2),(0,0),(1,0)]
+    , fromList [(-1,-1),(0,0),(1,1)]
+    , fromList [(-1,1),(0,0),(1,-1)]
+    , fromList [(-1,0),(0,0),(1,2)]
+    , fromList [(-1,-1),(0,1),(1,0)]
+    , fromList [(-1,1),(0,1),(1,1)]
+    , fromList [(-1,0),(0,1),(1,-1)]
+    , fromList [(-1,1),(0,-1),(1,0)]
+    , fromList [(-1,0),(0,-1),(1,1)]
+    , fromList [(-1,0),(0,2),(1,0)]
+    , fromList [(-2,2),(0,0)]
+    , fromList [(-2,-1),(0,1)]
+    , fromList [(-2,1),(0,-1)]
+    , fromList [(-2,0),(0,2)]
+    , fromList [(1,0),(2,2)]
+    , fromList [(1,1),(2,-1)]
+    , fromList [(1,-1),(2,1)]
+    , fromList [(1,2),(2,0)]
+    , fromList [(3,2)]
+    , fromList [(0,0),(1,0),(2,-1)]
+    , fromList [(0,0),(1,1),(2,1)]
+    , fromList [(0,0),(1,-1),(2,0)]
+    , fromList [(0,1),(1,0),(2,1)]
+    , fromList [(0,1),(1,1),(2,0)]
+    , fromList [(0,-1),(1,0),(2,0)]
+    , fromList [(0,0),(3,-1)]
+    , fromList [(0,1),(3,1)]
+    , fromList [(0,-1),(3,0)]
+    , fromList [(-2,-1),(1,0)]
+    , fromList [(-2,1),(1,1)]
+    , fromList [(-2,0),(1,-1)]
+    , fromList [(-1,0),(2,-1)]
+    , fromList [(-1,1),(2,1)]
+    , fromList [(-1,-1),(2,0)]
+    , fromList [(-3,-1)]
+    , fromList [(-2,1),(0,0),(1,0)]
+    , fromList [(-2,0),(0,0),(1,1)]
+    , fromList [(-2,0),(0,1),(1,0)]
+    , fromList [(-1,0),(0,0),(2,1)]
+    , fromList [(-1,1),(0,0),(2,0)]
+    , fromList [(-1,0),(0,1),(2,0)]
+    , fromList [(-3,1),(0,0)]
+    , fromList [(-3,0),(0,1)]
+    , fromList [(1,0),(3,1)]
+    , fromList [(1,1),(3,0)]
+    , fromList [(-2,1),(-1,0)]
+    , fromList [(-2,0),(-1,1)]
+    , fromList [(4,1)]
+    , fromList [(0,0),(1,0),(3,0)]
+    , fromList [(-2,0),(-1,0),(0,0)]
+    , fromList [(0,0),(4,0)]
+    , fromList [(-1,0),(1,0),(2,0)]
+    , fromList [(-3,0),(1,0)]
+    , fromList [(-1,0),(3,0)]
+    , fromList [(-2,0),(2,0)]
+    , fromList [(-4,0)]
+    ]
+  , [ fromList [(0,5)]
+    , fromList [(1,-4)]
+    , fromList [(0,0),(1,4)]
+    , fromList [(0,1),(1,-3)]
+    , fromList [(0,-1),(1,3)]
+    , fromList [(0,2),(1,-2)]
+    , fromList [(0,-2),(1,2)]
+    , fromList [(0,3),(1,-1)]
+    , fromList [(0,-3),(1,1)]
+    , fromList [(0,4),(1,0)]
+    , fromList [(-1,4)]
+    , fromList [(-1,-3),(0,0)]
+    , fromList [(-1,3),(0,1)]
+    , fromList [(-1,-2),(0,-1)]
+    , fromList [(-1,2),(0,2)]
+    , fromList [(-1,-1),(0,-2)]
+    , fromList [(-1,1),(0,3)]
+    , fromList [(-1,0),(0,-3)]
+    , fromList [(2,-3)]
+    , fromList [(0,0),(2,3)]
+    , fromList [(0,1),(2,-2)]
+    , fromList [(0,-1),(2,2)]
+    , fromList [(0,2),(2,-1)]
+    , fromList [(0,-2),(2,1)]
+    , fromList [(0,3),(2,0)]
+    , fromList [(-1,3),(1,0)]
+    , fromList [(-1,-2),(1,1)]
+    , fromList [(-1,2),(1,-1)]
+    , fromList [(-1,-1),(1,2)]
+    , fromList [(-1,1),(1,-2)]
+    , fromList [(-1,0),(1,3)]
+    , fromList [(-2,3)]
+    , fromList [(-1,-2),(0,0),(1,0)]
+    , fromList [(-1,2),(0,0),(1,1)]
+    , fromList [(-1,-1),(0,0),(1,-1)]
+    , fromList [(-1,1),(0,0),(1,2)]
+    , fromList [(-1,0),(0,0),(1,-2)]
+    , fromList [(-1,2),(0,1),(1,0)]
+    , fromList [(-1,-1),(0,1),(1,1)]
+    , fromList [(-1,1),(0,1),(1,-1)]
+    , fromList [(-1,0),(0,1),(1,2)]
+    , fromList [(-1,-1),(0,-1),(1,0)]
+    , fromList [(-1,1),(0,-1),(1,1)]
+    , fromList [(-1,0),(0,-1),(1,-1)]
+    , fromList [(-1,1),(0,2),(1,0)]
+    , fromList [(-1,0),(0,2),(1,1)]
+    , fromList [(-1,0),(0,-2),(1,0)]
+    , fromList [(-2,-2),(0,0)]
+    , fromList [(-2,2),(0,1)]
+    , fromList [(-2,-1),(0,-1)]
+    , fromList [(-2,1),(0,2)]
+    , fromList [(-2,0),(0,-2)]
+    , fromList [(1,0),(2,-2)]
+    , fromList [(1,1),(2,2)]
+    , fromList [(1,-1),(2,-1)]
+    , fromList [(1,2),(2,1)]
+    , fromList [(1,-2),(2,0)]
+    , fromList [(3,-2)]
+    , fromList [(0,0),(1,0),(2,2)]
+    , fromList [(0,0),(1,1),(2,-1)]
+    , fromList [(0,0),(1,-1),(2,1)]
+    , fromList [(0,0),(1,2),(2,0)]
+    , fromList [(0,1),(1,0),(2,-1)]
+    , fromList [(0,1),(1,1),(2,1)]
+    , fromList [(0,1),(1,-1),(2,0)]
+    , fromList [(0,-1),(1,0),(2,1)]
+    , fromList [(0,-1),(1,1),(2,0)]
+    , fromList [(0,2),(1,0),(2,0)]
+    , fromList [(0,0),(3,2)]
+    , fromList [(0,1),(3,-1)]
+    , fromList [(0,-1),(3,1)]
+    , fromList [(0,2),(3,0)]
+    , fromList [(-2,2),(1,0)]
+    , fromList [(-2,-1),(1,1)]
+    , fromList [(-2,1),(1,-1)]
+    , fromList [(-2,0),(1,2)]
+    , fromList [(-1,0),(2,2)]
+    , fromList [(-1,1),(2,-1)]
+    , fromList [(-1,-1),(2,1)]
+    , fromList [(-1,2),(2,0)]
+    , fromList [(-3,2)]
+    , fromList [(-2,-1),(0,0),(1,0)]
+    , fromList [(-2,1),(0,0),(1,1)]
+    , fromList [(-2,0),(0,0),(1,-1)]
+    , fromList [(-2,1),(0,1),(1,0)]
+    , fromList [(-2,0),(0,1),(1,1)]
+    , fromList [(-2,0),(0,-1),(1,0)]
+    , fromList [(-1,0),(0,0),(2,-1)]
+    , fromList [(-1,1),(0,0),(2,1)]
+    , fromList [(-1,-1),(0,0),(2,0)]
+    , fromList [(-1,0),(0,1),(2,1)]
+    , fromList [(-1,1),(0,1),(2,0)]
+    , fromList [(-1,0),(0,-1),(2,0)]
+    , fromList [(-3,-1),(0,0)]
+    , fromList [(-3,1),(0,1)]
+    , fromList [(-3,0),(0,-1)]
+    , fromList [(1,0),(3,-1)]
+    , fromList [(1,1),(3,1)]
+    , fromList [(1,-1),(3,0)]
+    , fromList [(-2,-1),(-1,0)]
+    , fromList [(-2,1),(-1,1)]
+    , fromList [(-2,0),(-1,-1)]
+    , fromList [(4,-1)]
+    , fromList [(0,0),(1,0),(3,1)]
+    , fromList [(0,0),(1,1),(3,0)]
+    , fromList [(0,1),(1,0),(3,0)]
+    , fromList [(-2,1),(-1,0),(0,0)]
+    , fromList [(-2,0),(-1,1),(0,0)]
+    , fromList [(-2,0),(-1,0),(0,1)]
+    , fromList [(0,0),(4,1)]
+    , fromList [(0,1),(4,0)]
+    , fromList [(-1,0),(1,0),(2,1)]
+    , fromList [(-1,1),(1,0),(2,0)]
+    , fromList [(-1,0),(1,1),(2,0)]
+    , fromList [(-3,1),(1,0)]
+    , fromList [(-3,0),(1,1)]
+    , fromList [(-1,0),(3,1)]
+    , fromList [(-1,1),(3,0)]
+    , fromList [(-2,1),(2,0)]
+    , fromList [(-2,0),(2,1)]
+    , fromList [(-4,1)]
+    , fromList [(-1,0),(0,0),(1,0),(2,0)]
+    , fromList [(-3,0),(0,0),(1,0)]
+    , fromList [(-1,0),(0,0),(3,0)]
+    , fromList [(-2,0),(0,0),(2,0)]
+    , fromList [(-4,0),(0,0)]
+    , fromList [(-2,0),(-1,0),(1,0)]
+    , fromList [(1,0),(4,0)]
+    , fromList [(-3,0),(-1,0)]
+    , fromList [(2,0),(3,0)]
+    , fromList [(5,0)]
+    ]
+  , [ fromList [(0,-5)]
+    , fromList [(1,5)]
+    , fromList [(0,0),(1,-4)]
+    , fromList [(0,1),(1,4)]
+    , fromList [(0,-1),(1,-3)]
+    , fromList [(0,2),(1,3)]
+    , fromList [(0,-2),(1,-2)]
+    , fromList [(0,3),(1,2)]
+    , fromList [(0,-3),(1,-1)]
+    , fromList [(0,4),(1,1)]
+    , fromList [(0,-4),(1,0)]
+    , fromList [(-1,-4)]
+    , fromList [(-1,4),(0,0)]
+    , fromList [(-1,-3),(0,1)]
+    , fromList [(-1,3),(0,-1)]
+    , fromList [(-1,-2),(0,2)]
+    , fromList [(-1,2),(0,-2)]
+    , fromList [(-1,-1),(0,3)]
+    , fromList [(-1,1),(0,-3)]
+    , fromList [(-1,0),(0,4)]
+    , fromList [(2,4)]
+    , fromList [(0,0),(2,-3)]
+    , fromList [(0,1),(2,3)]
+    , fromList [(0,-1),(2,-2)]
+    , fromList [(0,2),(2,2)]
+    , fromList [(0,-2),(2,-1)]
+    , fromList [(0,3),(2,1)]
+    , fromList [(0,-3),(2,0)]
+    , fromList [(-1,-3),(1,0)]
+    , fromList [(-1,3),(1,1)]
+    , fromList [(-1,-2),(1,-1)]
+    , fromList [(-1,2),(1,2)]
+    , fromList [(-1,-1),(1,-2)]
+    , fromList [(-1,1),(1,3)]
+    , fromList [(-1,0),(1,-3)]
+    , fromList [(-2,-3)]
+    , fromList [(-1,3),(0,0),(1,0)]
+    , fromList [(-1,-2),(0,0),(1,1)]
+    , fromList [(-1,2),(0,0),(1,-1)]
+    , fromList [(-1,-1),(0,0),(1,2)]
+    , fromList [(-1,1),(0,0),(1,-2)]
+    , fromList [(-1,0),(0,0),(1,3)]
+    , fromList [(-1,-2),(0,1),(1,0)]
+    , fromList [(-1,2),(0,1),(1,1)]
+    , fromList [(-1,-1),(0,1),(1,-1)]
+    , fromList [(-1,1),(0,1),(1,2)]
+    , fromList [(-1,0),(0,1),(1,-2)]
+    , fromList [(-1,2),(0,-1),(1,0)]
+    , fromList [(-1,-1),(0,-1),(1,1)]
+    , fromList [(-1,1),(0,-1),(1,-1)]
+    , fromList [(-1,0),(0,-1),(1,2)]
+    , fromList [(-1,-1),(0,2),(1,0)]
+    , fromList [(-1,1),(0,2),(1,1)]
+    , fromList [(-1,0),(0,2),(1,-1)]
+    , fromList [(-1,1),(0,-2),(1,0)]
+    , fromList [(-1,0),(0,-2),(1,1)]
+    , fromList [(-1,0),(0,3),(1,0)]
+    , fromList [(-2,3),(0,0)]
+    , fromList [(-2,-2),(0,1)]
+    , fromList [(-2,2),(0,-1)]
+    , fromList [(-2,-1),(0,2)]
+    , fromList [(-2,1),(0,-2)]
+    , fromList [(-2,0),(0,3)]
+    , fromList [(1,0),(2,3)]
+    , fromList [(1,1),(2,-2)]
+    , fromList [(1,-1),(2,2)]
+    , fromList [(1,2),(2,-1)]
+    , fromList [(1,-2),(2,1)]
+    , fromList [(1,3),(2,0)]
+    , fromList [(3,3)]
+    , fromList [(0,0),(1,0),(2,-2)]
+    , fromList [(0,0),(1,1),(2,2)]
+    , fromList [(0,0),(1,-1),(2,-1)]
+    , fromList [(0,0),(1,2),(2,1)]
+    , fromList [(0,0),(1,-2),(2,0)]
+    , fromList [(0,1),(1,0),(2,2)]
+    , fromList [(0,1),(1,1),(2,-1)]
+    , fromList [(0,1),(1,-1),(2,1)]
+    , fromList [(0,1),(1,2),(2,0)]
+    , fromList [(0,-1),(1,0),(2,-1)]
+    , fromList [(0,-1),(1,1),(2,1)]
+    , fromList [(0,-1),(1,-1),(2,0)]
+    , fromList [(0,2),(1,0),(2,1)]
+    , fromList [(0,2),(1,1),(2,0)]
+    , fromList [(0,-2),(1,0),(2,0)]
+    , fromList [(0,0),(3,-2)]
+    , fromList [(0,1),(3,2)]
+    , fromList [(0,-1),(3,-1)]
+    , fromList [(0,2),(3,1)]
+    , fromList [(0,-2),(3,0)]
+    , fromList [(-2,-2),(1,0)]
+    , fromList [(-2,2),(1,1)]
+    , fromList [(-2,-1),(1,-1)]
+    , fromList [(-2,1),(1,2)]
+    , fromList [(-2,0),(1,-2)]
+    , fromList [(-1,0),(2,-2)]
+    , fromList [(-1,1),(2,2)]
+    , fromList [(-1,-1),(2,-1)]
+    , fromList [(-1,2),(2,1)]
+    , fromList [(-1,-2),(2,0)]
+    , fromList [(-3,-2)]
+    , fromList [(-2,2),(0,0),(1,0)]
+    , fromList [(-2,-1),(0,0),(1,1)]
+    , fromList [(-2,1),(0,0),(1,-1)]
+    , fromList [(-2,0),(0,0),(1,2)]
+    , fromList [(-2,-1),(0,1),(1,0)]
+    , fromList [(-2,1),(0,1),(1,1)]
+    , fromList [(-2,0),(0,1),(1,-1)]
+    , fromList [(-2,1),(0,-1),(1,0)]
+    , fromList [(-2,0),(0,-1),(1,1)]
+    , fromList [(-2,0),(0,2),(1,0)]
+    , fromList [(-1,0),(0,0),(2,2)]
+    , fromList [(-1,1),(0,0),(2,-1)]
+    , fromList [(-1,-1),(0,0),(2,1)]
+    , fromList [(-1,2),(0,0),(2,0)]
+    , fromList [(-1,0),(0,1),(2,-1)]
+    , fromList [(-1,1),(0,1),(2,1)]
+    , fromList [(-1,-1),(0,1),(2,0)]
+    , fromList [(-1,0),(0,-1),(2,1)]
+    , fromList [(-1,1),(0,-1),(2,0)]
+    , fromList [(-1,0),(0,2),(2,0)]
+    , fromList [(-3,2),(0,0)]
+    , fromList [(-3,-1),(0,1)]
+    , fromList [(-3,1),(0,-1)]
+    , fromList [(-3,0),(0,2)]
+    , fromList [(1,0),(3,2)]
+    , fromList [(1,1),(3,-1)]
+    , fromList [(1,-1),(3,1)]
+    , fromList [(1,2),(3,0)]
+    , fromList [(-2,2),(-1,0)]
+    , fromList [(-2,-1),(-1,1)]
+    , fromList [(-2,1),(-1,-1)]
+    , fromList [(-2,0),(-1,2)]
+    , fromList [(4,2)]
+    , fromList [(0,0),(1,0),(3,-1)]
+    , fromList [(0,0),(1,1),(3,1)]
+    , fromList [(0,0),(1,-1),(3,0)]
+    , fromList [(0,1),(1,0),(3,1)]
+    , fromList [(0,1),(1,1),(3,0)]
+    , fromList [(0,-1),(1,0),(3,0)]
+    , fromList [(-2,-1),(-1,0),(0,0)]
+    , fromList [(-2,1),(-1,1),(0,0)]
+    , fromList [(-2,0),(-1,-1),(0,0)]
+    , fromList [(-2,1),(-1,0),(0,1)]
+    , fromList [(-2,0),(-1,1),(0,1)]
+    , fromList [(-2,0),(-1,0),(0,-1)]
+    , fromList [(0,0),(4,-1)]
+    , fromList [(0,1),(4,1)]
+    , fromList [(0,-1),(4,0)]
+    , fromList [(-1,0),(1,0),(2,-1)]
+    , fromList [(-1,1),(1,0),(2,1)]
+    , fromList [(-1,-1),(1,0),(2,0)]
+    , fromList [(-1,0),(1,1),(2,1)]
+    , fromList [(-1,1),(1,1),(2,0)]
+    , fromList [(-1,0),(1,-1),(2,0)]
+    , fromList [(-3,-1),(1,0)]
+    , fromList [(-3,1),(1,1)]
+    , fromList [(-3,0),(1,-1)]
+    , fromList [(-1,0),(3,-1)]
+    , fromList [(-1,1),(3,1)]
+    , fromList [(-1,-1),(3,0)]
+    , fromList [(-2,-1),(2,0)]
+    , fromList [(-2,1),(2,1)]
+    , fromList [(-2,0),(2,-1)]
+    , fromList [(-4,-1)]
+    , fromList [(-1,0),(0,0),(1,0),(2,1)]
+    , fromList [(-1,1),(0,0),(1,0),(2,0)]
+    , fromList [(-1,0),(0,0),(1,1),(2,0)]
+    , fromList [(-1,0),(0,1),(1,0),(2,0)]
+    , fromList [(-3,1),(0,0),(1,0)]
+    , fromList [(-3,0),(0,0),(1,1)]
+    , fromList [(-3,0),(0,1),(1,0)]
+    , fromList [(-1,0),(0,0),(3,1)]
+    , fromList [(-1,1),(0,0),(3,0)]
+    , fromList [(-1,0),(0,1),(3,0)]
+    , fromList [(-2,1),(0,0),(2,0)]
+    , fromList [(-2,0),(0,0),(2,1)]
+    , fromList [(-2,0),(0,1),(2,0)]
+    , fromList [(-4,1),(0,0)]
+    , fromList [(-4,0),(0,1)]
+    , fromList [(-2,1),(-1,0),(1,0)]
+    , fromList [(-2,0),(-1,1),(1,0)]
+    , fromList [(-2,0),(-1,0),(1,1)]
+    , fromList [(1,0),(4,1)]
+    , fromList [(1,1),(4,0)]
+    , fromList [(-3,1),(-1,0)]
+    , fromList [(-3,0),(-1,1)]
+    , fromList [(2,0),(3,1)]
+    , fromList [(2,1),(3,0)]
+    , fromList [(5,1)]
+    , fromList [(-2,0),(-1,0),(0,0),(1,0)]
+    , fromList [(0,0),(1,0),(4,0)]
+    , fromList [(-3,0),(-1,0),(0,0)]
+    , fromList [(0,0),(2,0),(3,0)]
+    , fromList [(0,0),(5,0)]
+    , fromList [(-1,0),(1,0),(3,0)]
+    , fromList [(-2,0),(1,0),(2,0)]
+    , fromList [(-4,0),(1,0)]
+    , fromList [(-1,0),(4,0)]
+    , fromList [(-3,0),(2,0)]
+    , fromList [(-2,0),(3,0)]
+    , fromList [(-5,0)]
+    ]
+  , ...
+  ]
diff --git a/test/diff/tiers-IntSet.out b/test/diff/tiers-IntSet.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-IntSet.out
@@ -0,0 +1,75 @@
+map length (tiers :: [[ IntSet ]])  =  [1,1,1,2,2,3,4,5,6,8,10,12,...]
+
+length (list :: [ IntSet ])  =  Infinity
+
+allUnique (list :: [ IntSet ])  =  True
+
+ratioRepetitions (list :: [ IntSet ])  =  0 % 1
+
+tiers :: [IntSet]  =
+  [ [fromList []]
+  , [fromList [0]]
+  , [fromList [1]]
+  , [ fromList [0,1]
+    , fromList [-1]
+    ]
+  , [ fromList [-1,0]
+    , fromList [2]
+    ]
+  , [ fromList [0,2]
+    , fromList [-1,1]
+    , fromList [-2]
+    ]
+  , [ fromList [-1,0,1]
+    , fromList [-2,0]
+    , fromList [1,2]
+    , fromList [3]
+    ]
+  , [ fromList [0,1,2]
+    , fromList [0,3]
+    , fromList [-2,1]
+    , fromList [-1,2]
+    , fromList [-3]
+    ]
+  , [ fromList [-2,0,1]
+    , fromList [-1,0,2]
+    , fromList [-3,0]
+    , fromList [1,3]
+    , fromList [-2,-1]
+    , fromList [4]
+    ]
+  , [ fromList [0,1,3]
+    , fromList [-2,-1,0]
+    , fromList [0,4]
+    , fromList [-1,1,2]
+    , fromList [-3,1]
+    , fromList [-1,3]
+    , fromList [-2,2]
+    , fromList [-4]
+    ]
+  , [ fromList [-1,0,1,2]
+    , fromList [-3,0,1]
+    , fromList [-1,0,3]
+    , fromList [-2,0,2]
+    , fromList [-4,0]
+    , fromList [-2,-1,1]
+    , fromList [1,4]
+    , fromList [-3,-1]
+    , fromList [2,3]
+    , fromList [5]
+    ]
+  , [ fromList [-2,-1,0,1]
+    , fromList [0,1,4]
+    , fromList [-3,-1,0]
+    , fromList [0,2,3]
+    , fromList [0,5]
+    , fromList [-1,1,3]
+    , fromList [-2,1,2]
+    , fromList [-4,1]
+    , fromList [-1,4]
+    , fromList [-3,2]
+    , fromList [-2,3]
+    , fromList [-5]
+    ]
+  , ...
+  ]
diff --git a/test/diff/tiers-MapBoolBool.out b/test/diff/tiers-MapBoolBool.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-MapBoolBool.out
@@ -0,0 +1,21 @@
+map length (tiers :: [[ Map Bool Bool ]])  =  [1,4,4]
+
+length (list :: [ Map Bool Bool ])  =  9
+
+allUnique (list :: [ Map Bool Bool ])  =  True
+
+ratioRepetitions (list :: [ Map Bool Bool ])  =  0 % 1
+
+tiers :: [Map Bool Bool]  =
+  [ [fromList []]
+  , [ fromList [(False,False)]
+    , fromList [(False,True)]
+    , fromList [(True,False)]
+    , fromList [(True,True)]
+    ]
+  , [ fromList [(False,False),(True,False)]
+    , fromList [(False,False),(True,True)]
+    , fromList [(False,True),(True,False)]
+    , fromList [(False,True),(True,True)]
+    ]
+  ]
diff --git a/test/diff/tiers-MapIntInt.out b/test/diff/tiers-MapIntInt.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-MapIntInt.out
@@ -0,0 +1,571 @@
+map length (tiers :: [[ Map Int Int ]])  =  [1,1,2,4,7,12,20,33,53,84,131,202,...]
+
+length (list :: [ Map Int Int ])  =  Infinity
+
+allUnique (list :: [ Map Int Int ])  =  True
+
+ratioRepetitions (list :: [ Map Int Int ])  =  0 % 1
+
+tiers :: [Map Int Int]  =
+  [ [fromList []]
+  , [fromList [(0,0)]]
+  , [ fromList [(0,1)]
+    , fromList [(1,0)]
+    ]
+  , [ fromList [(0,-1)]
+    , fromList [(1,1)]
+    , fromList [(0,0),(1,0)]
+    , fromList [(-1,0)]
+    ]
+  , [ fromList [(0,2)]
+    , fromList [(1,-1)]
+    , fromList [(0,0),(1,1)]
+    , fromList [(0,1),(1,0)]
+    , fromList [(-1,1)]
+    , fromList [(-1,0),(0,0)]
+    , fromList [(2,0)]
+    ]
+  , [ fromList [(0,-2)]
+    , fromList [(1,2)]
+    , fromList [(0,0),(1,-1)]
+    , fromList [(0,1),(1,1)]
+    , fromList [(0,-1),(1,0)]
+    , fromList [(-1,-1)]
+    , fromList [(-1,1),(0,0)]
+    , fromList [(-1,0),(0,1)]
+    , fromList [(2,1)]
+    , fromList [(0,0),(2,0)]
+    , fromList [(-1,0),(1,0)]
+    , fromList [(-2,0)]
+    ]
+  , [ fromList [(0,3)]
+    , fromList [(1,-2)]
+    , fromList [(0,0),(1,2)]
+    , fromList [(0,1),(1,-1)]
+    , fromList [(0,-1),(1,1)]
+    , fromList [(0,2),(1,0)]
+    , fromList [(-1,2)]
+    , fromList [(-1,-1),(0,0)]
+    , fromList [(-1,1),(0,1)]
+    , fromList [(-1,0),(0,-1)]
+    , fromList [(2,-1)]
+    , fromList [(0,0),(2,1)]
+    , fromList [(0,1),(2,0)]
+    , fromList [(-1,1),(1,0)]
+    , fromList [(-1,0),(1,1)]
+    , fromList [(-2,1)]
+    , fromList [(-1,0),(0,0),(1,0)]
+    , fromList [(-2,0),(0,0)]
+    , fromList [(1,0),(2,0)]
+    , fromList [(3,0)]
+    ]
+  , [ fromList [(0,-3)]
+    , fromList [(1,3)]
+    , fromList [(0,0),(1,-2)]
+    , fromList [(0,1),(1,2)]
+    , fromList [(0,-1),(1,-1)]
+    , fromList [(0,2),(1,1)]
+    , fromList [(0,-2),(1,0)]
+    , fromList [(-1,-2)]
+    , fromList [(-1,2),(0,0)]
+    , fromList [(-1,-1),(0,1)]
+    , fromList [(-1,1),(0,-1)]
+    , fromList [(-1,0),(0,2)]
+    , fromList [(2,2)]
+    , fromList [(0,0),(2,-1)]
+    , fromList [(0,1),(2,1)]
+    , fromList [(0,-1),(2,0)]
+    , fromList [(-1,-1),(1,0)]
+    , fromList [(-1,1),(1,1)]
+    , fromList [(-1,0),(1,-1)]
+    , fromList [(-2,-1)]
+    , fromList [(-1,1),(0,0),(1,0)]
+    , fromList [(-1,0),(0,0),(1,1)]
+    , fromList [(-1,0),(0,1),(1,0)]
+    , fromList [(-2,1),(0,0)]
+    , fromList [(-2,0),(0,1)]
+    , fromList [(1,0),(2,1)]
+    , fromList [(1,1),(2,0)]
+    , fromList [(3,1)]
+    , fromList [(0,0),(1,0),(2,0)]
+    , fromList [(0,0),(3,0)]
+    , fromList [(-2,0),(1,0)]
+    , fromList [(-1,0),(2,0)]
+    , fromList [(-3,0)]
+    ]
+  , [ fromList [(0,4)]
+    , fromList [(1,-3)]
+    , fromList [(0,0),(1,3)]
+    , fromList [(0,1),(1,-2)]
+    , fromList [(0,-1),(1,2)]
+    , fromList [(0,2),(1,-1)]
+    , fromList [(0,-2),(1,1)]
+    , fromList [(0,3),(1,0)]
+    , fromList [(-1,3)]
+    , fromList [(-1,-2),(0,0)]
+    , fromList [(-1,2),(0,1)]
+    , fromList [(-1,-1),(0,-1)]
+    , fromList [(-1,1),(0,2)]
+    , fromList [(-1,0),(0,-2)]
+    , fromList [(2,-2)]
+    , fromList [(0,0),(2,2)]
+    , fromList [(0,1),(2,-1)]
+    , fromList [(0,-1),(2,1)]
+    , fromList [(0,2),(2,0)]
+    , fromList [(-1,2),(1,0)]
+    , fromList [(-1,-1),(1,1)]
+    , fromList [(-1,1),(1,-1)]
+    , fromList [(-1,0),(1,2)]
+    , fromList [(-2,2)]
+    , fromList [(-1,-1),(0,0),(1,0)]
+    , fromList [(-1,1),(0,0),(1,1)]
+    , fromList [(-1,0),(0,0),(1,-1)]
+    , fromList [(-1,1),(0,1),(1,0)]
+    , fromList [(-1,0),(0,1),(1,1)]
+    , fromList [(-1,0),(0,-1),(1,0)]
+    , fromList [(-2,-1),(0,0)]
+    , fromList [(-2,1),(0,1)]
+    , fromList [(-2,0),(0,-1)]
+    , fromList [(1,0),(2,-1)]
+    , fromList [(1,1),(2,1)]
+    , fromList [(1,-1),(2,0)]
+    , fromList [(3,-1)]
+    , fromList [(0,0),(1,0),(2,1)]
+    , fromList [(0,0),(1,1),(2,0)]
+    , fromList [(0,1),(1,0),(2,0)]
+    , fromList [(0,0),(3,1)]
+    , fromList [(0,1),(3,0)]
+    , fromList [(-2,1),(1,0)]
+    , fromList [(-2,0),(1,1)]
+    , fromList [(-1,0),(2,1)]
+    , fromList [(-1,1),(2,0)]
+    , fromList [(-3,1)]
+    , fromList [(-2,0),(0,0),(1,0)]
+    , fromList [(-1,0),(0,0),(2,0)]
+    , fromList [(-3,0),(0,0)]
+    , fromList [(1,0),(3,0)]
+    , fromList [(-2,0),(-1,0)]
+    , fromList [(4,0)]
+    ]
+  , [ fromList [(0,-4)]
+    , fromList [(1,4)]
+    , fromList [(0,0),(1,-3)]
+    , fromList [(0,1),(1,3)]
+    , fromList [(0,-1),(1,-2)]
+    , fromList [(0,2),(1,2)]
+    , fromList [(0,-2),(1,-1)]
+    , fromList [(0,3),(1,1)]
+    , fromList [(0,-3),(1,0)]
+    , fromList [(-1,-3)]
+    , fromList [(-1,3),(0,0)]
+    , fromList [(-1,-2),(0,1)]
+    , fromList [(-1,2),(0,-1)]
+    , fromList [(-1,-1),(0,2)]
+    , fromList [(-1,1),(0,-2)]
+    , fromList [(-1,0),(0,3)]
+    , fromList [(2,3)]
+    , fromList [(0,0),(2,-2)]
+    , fromList [(0,1),(2,2)]
+    , fromList [(0,-1),(2,-1)]
+    , fromList [(0,2),(2,1)]
+    , fromList [(0,-2),(2,0)]
+    , fromList [(-1,-2),(1,0)]
+    , fromList [(-1,2),(1,1)]
+    , fromList [(-1,-1),(1,-1)]
+    , fromList [(-1,1),(1,2)]
+    , fromList [(-1,0),(1,-2)]
+    , fromList [(-2,-2)]
+    , fromList [(-1,2),(0,0),(1,0)]
+    , fromList [(-1,-1),(0,0),(1,1)]
+    , fromList [(-1,1),(0,0),(1,-1)]
+    , fromList [(-1,0),(0,0),(1,2)]
+    , fromList [(-1,-1),(0,1),(1,0)]
+    , fromList [(-1,1),(0,1),(1,1)]
+    , fromList [(-1,0),(0,1),(1,-1)]
+    , fromList [(-1,1),(0,-1),(1,0)]
+    , fromList [(-1,0),(0,-1),(1,1)]
+    , fromList [(-1,0),(0,2),(1,0)]
+    , fromList [(-2,2),(0,0)]
+    , fromList [(-2,-1),(0,1)]
+    , fromList [(-2,1),(0,-1)]
+    , fromList [(-2,0),(0,2)]
+    , fromList [(1,0),(2,2)]
+    , fromList [(1,1),(2,-1)]
+    , fromList [(1,-1),(2,1)]
+    , fromList [(1,2),(2,0)]
+    , fromList [(3,2)]
+    , fromList [(0,0),(1,0),(2,-1)]
+    , fromList [(0,0),(1,1),(2,1)]
+    , fromList [(0,0),(1,-1),(2,0)]
+    , fromList [(0,1),(1,0),(2,1)]
+    , fromList [(0,1),(1,1),(2,0)]
+    , fromList [(0,-1),(1,0),(2,0)]
+    , fromList [(0,0),(3,-1)]
+    , fromList [(0,1),(3,1)]
+    , fromList [(0,-1),(3,0)]
+    , fromList [(-2,-1),(1,0)]
+    , fromList [(-2,1),(1,1)]
+    , fromList [(-2,0),(1,-1)]
+    , fromList [(-1,0),(2,-1)]
+    , fromList [(-1,1),(2,1)]
+    , fromList [(-1,-1),(2,0)]
+    , fromList [(-3,-1)]
+    , fromList [(-2,1),(0,0),(1,0)]
+    , fromList [(-2,0),(0,0),(1,1)]
+    , fromList [(-2,0),(0,1),(1,0)]
+    , fromList [(-1,0),(0,0),(2,1)]
+    , fromList [(-1,1),(0,0),(2,0)]
+    , fromList [(-1,0),(0,1),(2,0)]
+    , fromList [(-3,1),(0,0)]
+    , fromList [(-3,0),(0,1)]
+    , fromList [(1,0),(3,1)]
+    , fromList [(1,1),(3,0)]
+    , fromList [(-2,1),(-1,0)]
+    , fromList [(-2,0),(-1,1)]
+    , fromList [(4,1)]
+    , fromList [(0,0),(1,0),(3,0)]
+    , fromList [(-2,0),(-1,0),(0,0)]
+    , fromList [(0,0),(4,0)]
+    , fromList [(-1,0),(1,0),(2,0)]
+    , fromList [(-3,0),(1,0)]
+    , fromList [(-1,0),(3,0)]
+    , fromList [(-2,0),(2,0)]
+    , fromList [(-4,0)]
+    ]
+  , [ fromList [(0,5)]
+    , fromList [(1,-4)]
+    , fromList [(0,0),(1,4)]
+    , fromList [(0,1),(1,-3)]
+    , fromList [(0,-1),(1,3)]
+    , fromList [(0,2),(1,-2)]
+    , fromList [(0,-2),(1,2)]
+    , fromList [(0,3),(1,-1)]
+    , fromList [(0,-3),(1,1)]
+    , fromList [(0,4),(1,0)]
+    , fromList [(-1,4)]
+    , fromList [(-1,-3),(0,0)]
+    , fromList [(-1,3),(0,1)]
+    , fromList [(-1,-2),(0,-1)]
+    , fromList [(-1,2),(0,2)]
+    , fromList [(-1,-1),(0,-2)]
+    , fromList [(-1,1),(0,3)]
+    , fromList [(-1,0),(0,-3)]
+    , fromList [(2,-3)]
+    , fromList [(0,0),(2,3)]
+    , fromList [(0,1),(2,-2)]
+    , fromList [(0,-1),(2,2)]
+    , fromList [(0,2),(2,-1)]
+    , fromList [(0,-2),(2,1)]
+    , fromList [(0,3),(2,0)]
+    , fromList [(-1,3),(1,0)]
+    , fromList [(-1,-2),(1,1)]
+    , fromList [(-1,2),(1,-1)]
+    , fromList [(-1,-1),(1,2)]
+    , fromList [(-1,1),(1,-2)]
+    , fromList [(-1,0),(1,3)]
+    , fromList [(-2,3)]
+    , fromList [(-1,-2),(0,0),(1,0)]
+    , fromList [(-1,2),(0,0),(1,1)]
+    , fromList [(-1,-1),(0,0),(1,-1)]
+    , fromList [(-1,1),(0,0),(1,2)]
+    , fromList [(-1,0),(0,0),(1,-2)]
+    , fromList [(-1,2),(0,1),(1,0)]
+    , fromList [(-1,-1),(0,1),(1,1)]
+    , fromList [(-1,1),(0,1),(1,-1)]
+    , fromList [(-1,0),(0,1),(1,2)]
+    , fromList [(-1,-1),(0,-1),(1,0)]
+    , fromList [(-1,1),(0,-1),(1,1)]
+    , fromList [(-1,0),(0,-1),(1,-1)]
+    , fromList [(-1,1),(0,2),(1,0)]
+    , fromList [(-1,0),(0,2),(1,1)]
+    , fromList [(-1,0),(0,-2),(1,0)]
+    , fromList [(-2,-2),(0,0)]
+    , fromList [(-2,2),(0,1)]
+    , fromList [(-2,-1),(0,-1)]
+    , fromList [(-2,1),(0,2)]
+    , fromList [(-2,0),(0,-2)]
+    , fromList [(1,0),(2,-2)]
+    , fromList [(1,1),(2,2)]
+    , fromList [(1,-1),(2,-1)]
+    , fromList [(1,2),(2,1)]
+    , fromList [(1,-2),(2,0)]
+    , fromList [(3,-2)]
+    , fromList [(0,0),(1,0),(2,2)]
+    , fromList [(0,0),(1,1),(2,-1)]
+    , fromList [(0,0),(1,-1),(2,1)]
+    , fromList [(0,0),(1,2),(2,0)]
+    , fromList [(0,1),(1,0),(2,-1)]
+    , fromList [(0,1),(1,1),(2,1)]
+    , fromList [(0,1),(1,-1),(2,0)]
+    , fromList [(0,-1),(1,0),(2,1)]
+    , fromList [(0,-1),(1,1),(2,0)]
+    , fromList [(0,2),(1,0),(2,0)]
+    , fromList [(0,0),(3,2)]
+    , fromList [(0,1),(3,-1)]
+    , fromList [(0,-1),(3,1)]
+    , fromList [(0,2),(3,0)]
+    , fromList [(-2,2),(1,0)]
+    , fromList [(-2,-1),(1,1)]
+    , fromList [(-2,1),(1,-1)]
+    , fromList [(-2,0),(1,2)]
+    , fromList [(-1,0),(2,2)]
+    , fromList [(-1,1),(2,-1)]
+    , fromList [(-1,-1),(2,1)]
+    , fromList [(-1,2),(2,0)]
+    , fromList [(-3,2)]
+    , fromList [(-2,-1),(0,0),(1,0)]
+    , fromList [(-2,1),(0,0),(1,1)]
+    , fromList [(-2,0),(0,0),(1,-1)]
+    , fromList [(-2,1),(0,1),(1,0)]
+    , fromList [(-2,0),(0,1),(1,1)]
+    , fromList [(-2,0),(0,-1),(1,0)]
+    , fromList [(-1,0),(0,0),(2,-1)]
+    , fromList [(-1,1),(0,0),(2,1)]
+    , fromList [(-1,-1),(0,0),(2,0)]
+    , fromList [(-1,0),(0,1),(2,1)]
+    , fromList [(-1,1),(0,1),(2,0)]
+    , fromList [(-1,0),(0,-1),(2,0)]
+    , fromList [(-3,-1),(0,0)]
+    , fromList [(-3,1),(0,1)]
+    , fromList [(-3,0),(0,-1)]
+    , fromList [(1,0),(3,-1)]
+    , fromList [(1,1),(3,1)]
+    , fromList [(1,-1),(3,0)]
+    , fromList [(-2,-1),(-1,0)]
+    , fromList [(-2,1),(-1,1)]
+    , fromList [(-2,0),(-1,-1)]
+    , fromList [(4,-1)]
+    , fromList [(0,0),(1,0),(3,1)]
+    , fromList [(0,0),(1,1),(3,0)]
+    , fromList [(0,1),(1,0),(3,0)]
+    , fromList [(-2,1),(-1,0),(0,0)]
+    , fromList [(-2,0),(-1,1),(0,0)]
+    , fromList [(-2,0),(-1,0),(0,1)]
+    , fromList [(0,0),(4,1)]
+    , fromList [(0,1),(4,0)]
+    , fromList [(-1,0),(1,0),(2,1)]
+    , fromList [(-1,1),(1,0),(2,0)]
+    , fromList [(-1,0),(1,1),(2,0)]
+    , fromList [(-3,1),(1,0)]
+    , fromList [(-3,0),(1,1)]
+    , fromList [(-1,0),(3,1)]
+    , fromList [(-1,1),(3,0)]
+    , fromList [(-2,1),(2,0)]
+    , fromList [(-2,0),(2,1)]
+    , fromList [(-4,1)]
+    , fromList [(-1,0),(0,0),(1,0),(2,0)]
+    , fromList [(-3,0),(0,0),(1,0)]
+    , fromList [(-1,0),(0,0),(3,0)]
+    , fromList [(-2,0),(0,0),(2,0)]
+    , fromList [(-4,0),(0,0)]
+    , fromList [(-2,0),(-1,0),(1,0)]
+    , fromList [(1,0),(4,0)]
+    , fromList [(-3,0),(-1,0)]
+    , fromList [(2,0),(3,0)]
+    , fromList [(5,0)]
+    ]
+  , [ fromList [(0,-5)]
+    , fromList [(1,5)]
+    , fromList [(0,0),(1,-4)]
+    , fromList [(0,1),(1,4)]
+    , fromList [(0,-1),(1,-3)]
+    , fromList [(0,2),(1,3)]
+    , fromList [(0,-2),(1,-2)]
+    , fromList [(0,3),(1,2)]
+    , fromList [(0,-3),(1,-1)]
+    , fromList [(0,4),(1,1)]
+    , fromList [(0,-4),(1,0)]
+    , fromList [(-1,-4)]
+    , fromList [(-1,4),(0,0)]
+    , fromList [(-1,-3),(0,1)]
+    , fromList [(-1,3),(0,-1)]
+    , fromList [(-1,-2),(0,2)]
+    , fromList [(-1,2),(0,-2)]
+    , fromList [(-1,-1),(0,3)]
+    , fromList [(-1,1),(0,-3)]
+    , fromList [(-1,0),(0,4)]
+    , fromList [(2,4)]
+    , fromList [(0,0),(2,-3)]
+    , fromList [(0,1),(2,3)]
+    , fromList [(0,-1),(2,-2)]
+    , fromList [(0,2),(2,2)]
+    , fromList [(0,-2),(2,-1)]
+    , fromList [(0,3),(2,1)]
+    , fromList [(0,-3),(2,0)]
+    , fromList [(-1,-3),(1,0)]
+    , fromList [(-1,3),(1,1)]
+    , fromList [(-1,-2),(1,-1)]
+    , fromList [(-1,2),(1,2)]
+    , fromList [(-1,-1),(1,-2)]
+    , fromList [(-1,1),(1,3)]
+    , fromList [(-1,0),(1,-3)]
+    , fromList [(-2,-3)]
+    , fromList [(-1,3),(0,0),(1,0)]
+    , fromList [(-1,-2),(0,0),(1,1)]
+    , fromList [(-1,2),(0,0),(1,-1)]
+    , fromList [(-1,-1),(0,0),(1,2)]
+    , fromList [(-1,1),(0,0),(1,-2)]
+    , fromList [(-1,0),(0,0),(1,3)]
+    , fromList [(-1,-2),(0,1),(1,0)]
+    , fromList [(-1,2),(0,1),(1,1)]
+    , fromList [(-1,-1),(0,1),(1,-1)]
+    , fromList [(-1,1),(0,1),(1,2)]
+    , fromList [(-1,0),(0,1),(1,-2)]
+    , fromList [(-1,2),(0,-1),(1,0)]
+    , fromList [(-1,-1),(0,-1),(1,1)]
+    , fromList [(-1,1),(0,-1),(1,-1)]
+    , fromList [(-1,0),(0,-1),(1,2)]
+    , fromList [(-1,-1),(0,2),(1,0)]
+    , fromList [(-1,1),(0,2),(1,1)]
+    , fromList [(-1,0),(0,2),(1,-1)]
+    , fromList [(-1,1),(0,-2),(1,0)]
+    , fromList [(-1,0),(0,-2),(1,1)]
+    , fromList [(-1,0),(0,3),(1,0)]
+    , fromList [(-2,3),(0,0)]
+    , fromList [(-2,-2),(0,1)]
+    , fromList [(-2,2),(0,-1)]
+    , fromList [(-2,-1),(0,2)]
+    , fromList [(-2,1),(0,-2)]
+    , fromList [(-2,0),(0,3)]
+    , fromList [(1,0),(2,3)]
+    , fromList [(1,1),(2,-2)]
+    , fromList [(1,-1),(2,2)]
+    , fromList [(1,2),(2,-1)]
+    , fromList [(1,-2),(2,1)]
+    , fromList [(1,3),(2,0)]
+    , fromList [(3,3)]
+    , fromList [(0,0),(1,0),(2,-2)]
+    , fromList [(0,0),(1,1),(2,2)]
+    , fromList [(0,0),(1,-1),(2,-1)]
+    , fromList [(0,0),(1,2),(2,1)]
+    , fromList [(0,0),(1,-2),(2,0)]
+    , fromList [(0,1),(1,0),(2,2)]
+    , fromList [(0,1),(1,1),(2,-1)]
+    , fromList [(0,1),(1,-1),(2,1)]
+    , fromList [(0,1),(1,2),(2,0)]
+    , fromList [(0,-1),(1,0),(2,-1)]
+    , fromList [(0,-1),(1,1),(2,1)]
+    , fromList [(0,-1),(1,-1),(2,0)]
+    , fromList [(0,2),(1,0),(2,1)]
+    , fromList [(0,2),(1,1),(2,0)]
+    , fromList [(0,-2),(1,0),(2,0)]
+    , fromList [(0,0),(3,-2)]
+    , fromList [(0,1),(3,2)]
+    , fromList [(0,-1),(3,-1)]
+    , fromList [(0,2),(3,1)]
+    , fromList [(0,-2),(3,0)]
+    , fromList [(-2,-2),(1,0)]
+    , fromList [(-2,2),(1,1)]
+    , fromList [(-2,-1),(1,-1)]
+    , fromList [(-2,1),(1,2)]
+    , fromList [(-2,0),(1,-2)]
+    , fromList [(-1,0),(2,-2)]
+    , fromList [(-1,1),(2,2)]
+    , fromList [(-1,-1),(2,-1)]
+    , fromList [(-1,2),(2,1)]
+    , fromList [(-1,-2),(2,0)]
+    , fromList [(-3,-2)]
+    , fromList [(-2,2),(0,0),(1,0)]
+    , fromList [(-2,-1),(0,0),(1,1)]
+    , fromList [(-2,1),(0,0),(1,-1)]
+    , fromList [(-2,0),(0,0),(1,2)]
+    , fromList [(-2,-1),(0,1),(1,0)]
+    , fromList [(-2,1),(0,1),(1,1)]
+    , fromList [(-2,0),(0,1),(1,-1)]
+    , fromList [(-2,1),(0,-1),(1,0)]
+    , fromList [(-2,0),(0,-1),(1,1)]
+    , fromList [(-2,0),(0,2),(1,0)]
+    , fromList [(-1,0),(0,0),(2,2)]
+    , fromList [(-1,1),(0,0),(2,-1)]
+    , fromList [(-1,-1),(0,0),(2,1)]
+    , fromList [(-1,2),(0,0),(2,0)]
+    , fromList [(-1,0),(0,1),(2,-1)]
+    , fromList [(-1,1),(0,1),(2,1)]
+    , fromList [(-1,-1),(0,1),(2,0)]
+    , fromList [(-1,0),(0,-1),(2,1)]
+    , fromList [(-1,1),(0,-1),(2,0)]
+    , fromList [(-1,0),(0,2),(2,0)]
+    , fromList [(-3,2),(0,0)]
+    , fromList [(-3,-1),(0,1)]
+    , fromList [(-3,1),(0,-1)]
+    , fromList [(-3,0),(0,2)]
+    , fromList [(1,0),(3,2)]
+    , fromList [(1,1),(3,-1)]
+    , fromList [(1,-1),(3,1)]
+    , fromList [(1,2),(3,0)]
+    , fromList [(-2,2),(-1,0)]
+    , fromList [(-2,-1),(-1,1)]
+    , fromList [(-2,1),(-1,-1)]
+    , fromList [(-2,0),(-1,2)]
+    , fromList [(4,2)]
+    , fromList [(0,0),(1,0),(3,-1)]
+    , fromList [(0,0),(1,1),(3,1)]
+    , fromList [(0,0),(1,-1),(3,0)]
+    , fromList [(0,1),(1,0),(3,1)]
+    , fromList [(0,1),(1,1),(3,0)]
+    , fromList [(0,-1),(1,0),(3,0)]
+    , fromList [(-2,-1),(-1,0),(0,0)]
+    , fromList [(-2,1),(-1,1),(0,0)]
+    , fromList [(-2,0),(-1,-1),(0,0)]
+    , fromList [(-2,1),(-1,0),(0,1)]
+    , fromList [(-2,0),(-1,1),(0,1)]
+    , fromList [(-2,0),(-1,0),(0,-1)]
+    , fromList [(0,0),(4,-1)]
+    , fromList [(0,1),(4,1)]
+    , fromList [(0,-1),(4,0)]
+    , fromList [(-1,0),(1,0),(2,-1)]
+    , fromList [(-1,1),(1,0),(2,1)]
+    , fromList [(-1,-1),(1,0),(2,0)]
+    , fromList [(-1,0),(1,1),(2,1)]
+    , fromList [(-1,1),(1,1),(2,0)]
+    , fromList [(-1,0),(1,-1),(2,0)]
+    , fromList [(-3,-1),(1,0)]
+    , fromList [(-3,1),(1,1)]
+    , fromList [(-3,0),(1,-1)]
+    , fromList [(-1,0),(3,-1)]
+    , fromList [(-1,1),(3,1)]
+    , fromList [(-1,-1),(3,0)]
+    , fromList [(-2,-1),(2,0)]
+    , fromList [(-2,1),(2,1)]
+    , fromList [(-2,0),(2,-1)]
+    , fromList [(-4,-1)]
+    , fromList [(-1,0),(0,0),(1,0),(2,1)]
+    , fromList [(-1,1),(0,0),(1,0),(2,0)]
+    , fromList [(-1,0),(0,0),(1,1),(2,0)]
+    , fromList [(-1,0),(0,1),(1,0),(2,0)]
+    , fromList [(-3,1),(0,0),(1,0)]
+    , fromList [(-3,0),(0,0),(1,1)]
+    , fromList [(-3,0),(0,1),(1,0)]
+    , fromList [(-1,0),(0,0),(3,1)]
+    , fromList [(-1,1),(0,0),(3,0)]
+    , fromList [(-1,0),(0,1),(3,0)]
+    , fromList [(-2,1),(0,0),(2,0)]
+    , fromList [(-2,0),(0,0),(2,1)]
+    , fromList [(-2,0),(0,1),(2,0)]
+    , fromList [(-4,1),(0,0)]
+    , fromList [(-4,0),(0,1)]
+    , fromList [(-2,1),(-1,0),(1,0)]
+    , fromList [(-2,0),(-1,1),(1,0)]
+    , fromList [(-2,0),(-1,0),(1,1)]
+    , fromList [(1,0),(4,1)]
+    , fromList [(1,1),(4,0)]
+    , fromList [(-3,1),(-1,0)]
+    , fromList [(-3,0),(-1,1)]
+    , fromList [(2,0),(3,1)]
+    , fromList [(2,1),(3,0)]
+    , fromList [(5,1)]
+    , fromList [(-2,0),(-1,0),(0,0),(1,0)]
+    , fromList [(0,0),(1,0),(4,0)]
+    , fromList [(-3,0),(-1,0),(0,0)]
+    , fromList [(0,0),(2,0),(3,0)]
+    , fromList [(0,0),(5,0)]
+    , fromList [(-1,0),(1,0),(3,0)]
+    , fromList [(-2,0),(1,0),(2,0)]
+    , fromList [(-4,0),(1,0)]
+    , fromList [(-1,0),(4,0)]
+    , fromList [(-3,0),(2,0)]
+    , fromList [(-2,0),(3,0)]
+    , fromList [(-5,0)]
+    ]
+  , ...
+  ]
diff --git a/test/diff/tiers-SeqBool.out b/test/diff/tiers-SeqBool.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-SeqBool.out
@@ -0,0 +1,15 @@
+map length (tiers :: [[ Seq Bool ]])  =  [1,2,1]
+
+length (list :: [ Seq Bool ])  =  4
+
+allUnique (list :: [ Seq Bool ])  =  True
+
+ratioRepetitions (list :: [ Seq Bool ])  =  0 % 1
+
+tiers :: [Seq Bool]  =
+  [ [fromList []]
+  , [ fromList [False]
+    , fromList [True]
+    ]
+  , [fromList [False,True]]
+  ]
diff --git a/test/diff/tiers-SeqInt.out b/test/diff/tiers-SeqInt.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-SeqInt.out
@@ -0,0 +1,75 @@
+map length (tiers :: [[ Seq Int ]])  =  [1,1,1,2,2,3,4,5,6,8,10,12,...]
+
+length (list :: [ Seq Int ])  =  Infinity
+
+allUnique (list :: [ Seq Int ])  =  True
+
+ratioRepetitions (list :: [ Seq Int ])  =  0 % 1
+
+tiers :: [Seq Int]  =
+  [ [fromList []]
+  , [fromList [0]]
+  , [fromList [1]]
+  , [ fromList [0,1]
+    , fromList [-1]
+    ]
+  , [ fromList [0,-1]
+    , fromList [2]
+    ]
+  , [ fromList [0,2]
+    , fromList [1,-1]
+    , fromList [-2]
+    ]
+  , [ fromList [0,1,-1]
+    , fromList [0,-2]
+    , fromList [1,2]
+    , fromList [3]
+    ]
+  , [ fromList [0,1,2]
+    , fromList [0,3]
+    , fromList [1,-2]
+    , fromList [-1,2]
+    , fromList [-3]
+    ]
+  , [ fromList [0,1,-2]
+    , fromList [0,-1,2]
+    , fromList [0,-3]
+    , fromList [1,3]
+    , fromList [-1,-2]
+    , fromList [4]
+    ]
+  , [ fromList [0,1,3]
+    , fromList [0,-1,-2]
+    , fromList [0,4]
+    , fromList [1,-1,2]
+    , fromList [1,-3]
+    , fromList [-1,3]
+    , fromList [2,-2]
+    , fromList [-4]
+    ]
+  , [ fromList [0,1,-1,2]
+    , fromList [0,1,-3]
+    , fromList [0,-1,3]
+    , fromList [0,2,-2]
+    , fromList [0,-4]
+    , fromList [1,-1,-2]
+    , fromList [1,4]
+    , fromList [-1,-3]
+    , fromList [2,3]
+    , fromList [5]
+    ]
+  , [ fromList [0,1,-1,-2]
+    , fromList [0,1,4]
+    , fromList [0,-1,-3]
+    , fromList [0,2,3]
+    , fromList [0,5]
+    , fromList [1,-1,3]
+    , fromList [1,2,-2]
+    , fromList [1,-4]
+    , fromList [-1,4]
+    , fromList [2,-3]
+    , fromList [-2,3]
+    , fromList [-5]
+    ]
+  , ...
+  ]
diff --git a/test/diff/tiers-SetBool.out b/test/diff/tiers-SetBool.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-SetBool.out
@@ -0,0 +1,15 @@
+map length (tiers :: [[ Set Bool ]])  =  [1,2,1]
+
+length (list :: [ Set Bool ])  =  4
+
+allUnique (list :: [ Set Bool ])  =  True
+
+ratioRepetitions (list :: [ Set Bool ])  =  0 % 1
+
+tiers :: [Set Bool]  =
+  [ [fromList []]
+  , [ fromList [False]
+    , fromList [True]
+    ]
+  , [fromList [False,True]]
+  ]
diff --git a/test/diff/tiers-SetInt.out b/test/diff/tiers-SetInt.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-SetInt.out
@@ -0,0 +1,75 @@
+map length (tiers :: [[ Set Int ]])  =  [1,1,1,2,2,3,4,5,6,8,10,12,...]
+
+length (list :: [ Set Int ])  =  Infinity
+
+allUnique (list :: [ Set Int ])  =  True
+
+ratioRepetitions (list :: [ Set Int ])  =  0 % 1
+
+tiers :: [Set Int]  =
+  [ [fromList []]
+  , [fromList [0]]
+  , [fromList [1]]
+  , [ fromList [0,1]
+    , fromList [-1]
+    ]
+  , [ fromList [-1,0]
+    , fromList [2]
+    ]
+  , [ fromList [0,2]
+    , fromList [-1,1]
+    , fromList [-2]
+    ]
+  , [ fromList [-1,0,1]
+    , fromList [-2,0]
+    , fromList [1,2]
+    , fromList [3]
+    ]
+  , [ fromList [0,1,2]
+    , fromList [0,3]
+    , fromList [-2,1]
+    , fromList [-1,2]
+    , fromList [-3]
+    ]
+  , [ fromList [-2,0,1]
+    , fromList [-1,0,2]
+    , fromList [-3,0]
+    , fromList [1,3]
+    , fromList [-2,-1]
+    , fromList [4]
+    ]
+  , [ fromList [0,1,3]
+    , fromList [-2,-1,0]
+    , fromList [0,4]
+    , fromList [-1,1,2]
+    , fromList [-3,1]
+    , fromList [-1,3]
+    , fromList [-2,2]
+    , fromList [-4]
+    ]
+  , [ fromList [-1,0,1,2]
+    , fromList [-3,0,1]
+    , fromList [-1,0,3]
+    , fromList [-2,0,2]
+    , fromList [-4,0]
+    , fromList [-2,-1,1]
+    , fromList [1,4]
+    , fromList [-3,-1]
+    , fromList [2,3]
+    , fromList [5]
+    ]
+  , [ fromList [-2,-1,0,1]
+    , fromList [0,1,4]
+    , fromList [-3,-1,0]
+    , fromList [0,2,3]
+    , fromList [0,5]
+    , fromList [-1,1,3]
+    , fromList [-2,1,2]
+    , fromList [-4,1]
+    , fromList [-1,4]
+    , fromList [-3,2]
+    , fromList [-2,3]
+    , fromList [-5]
+    ]
+  , ...
+  ]
diff --git a/test/diff/tiers-UTCTime.out b/test/diff/tiers-UTCTime.out
new file mode 100644
--- /dev/null
+++ b/test/diff/tiers-UTCTime.out
@@ -0,0 +1,96 @@
+map length (tiers :: [[ UTCTime ]])  =  [0,1,1,3,3,5,5,9,9,11,11,17,...]
+
+length (list :: [ UTCTime ])  =  Infinity
+
+allUnique (list :: [ UTCTime ])  =  True
+
+ratioRepetitions (list :: [ UTCTime ])  =  0 % 1
+
+tiers :: [UTCTime]  =
+  [ []
+  , [2019-01-01 00:00:01 UTC]
+  , [2099-01-24 00:00:01 UTC]
+  , [ 2019-01-01 00:00:00.5 UTC
+    , 2019-01-01 00:00:02 UTC
+    , 1938-12-09 00:00:01 UTC
+    ]
+  , [ 2099-01-24 00:00:00.5 UTC
+    , 2099-01-24 00:00:02 UTC
+    , 2139-02-05 00:00:01 UTC
+    ]
+  , [ 2019-01-01 00:00:00.333333333333 UTC
+    , 2019-01-01 00:00:03 UTC
+    , 1938-12-09 00:00:00.5 UTC
+    , 1938-12-09 00:00:02 UTC
+    , 1978-12-20 00:00:01 UTC
+    ]
+  , [ 2099-01-24 00:00:00.333333333333 UTC
+    , 2099-01-24 00:00:03 UTC
+    , 2139-02-05 00:00:00.5 UTC
+    , 2139-02-05 00:00:02 UTC
+    , 2059-01-12 00:00:01 UTC
+    ]
+  , [ 2019-01-01 00:00:00.25 UTC
+    , 2019-01-01 00:00:00.666666666666 UTC
+    , 2019-01-01 00:00:01.5 UTC
+    , 2019-01-01 00:00:04 UTC
+    , 1938-12-09 00:00:00.333333333333 UTC
+    , 1938-12-09 00:00:03 UTC
+    , 1978-12-20 00:00:00.5 UTC
+    , 1978-12-20 00:00:02 UTC
+    , 1898-11-27 00:00:01 UTC
+    ]
+  , [ 2099-01-24 00:00:00.25 UTC
+    , 2099-01-24 00:00:00.666666666666 UTC
+    , 2099-01-24 00:00:01.5 UTC
+    , 2099-01-24 00:00:04 UTC
+    , 2139-02-05 00:00:00.333333333333 UTC
+    , 2139-02-05 00:00:03 UTC
+    , 2059-01-12 00:00:00.5 UTC
+    , 2059-01-12 00:00:02 UTC
+    , 2159-02-11 00:00:01 UTC
+    ]
+  , [ 2019-01-01 00:00:00.2 UTC
+    , 2019-01-01 00:00:05 UTC
+    , 1938-12-09 00:00:00.25 UTC
+    , 1938-12-09 00:00:00.666666666666 UTC
+    , 1938-12-09 00:00:01.5 UTC
+    , 1938-12-09 00:00:04 UTC
+    , 1978-12-20 00:00:00.333333333333 UTC
+    , 1978-12-20 00:00:03 UTC
+    , 1898-11-27 00:00:00.5 UTC
+    , 1898-11-27 00:00:02 UTC
+    , 1998-12-26 00:00:01 UTC
+    ]
+  , [ 2099-01-24 00:00:00.2 UTC
+    , 2099-01-24 00:00:05 UTC
+    , 2139-02-05 00:00:00.25 UTC
+    , 2139-02-05 00:00:00.666666666666 UTC
+    , 2139-02-05 00:00:01.5 UTC
+    , 2139-02-05 00:00:04 UTC
+    , 2059-01-12 00:00:00.333333333333 UTC
+    , 2059-01-12 00:00:03 UTC
+    , 2159-02-11 00:00:00.5 UTC
+    , 2159-02-11 00:00:02 UTC
+    , 2079-01-18 00:00:01 UTC
+    ]
+  , [ 2019-01-01 00:00:00.166666666666 UTC
+    , 2019-01-01 00:00:00.4 UTC
+    , 2019-01-01 00:00:00.75 UTC
+    , 2019-01-01 00:00:01.333333333333 UTC
+    , 2019-01-01 00:00:02.5 UTC
+    , 2019-01-01 00:00:06 UTC
+    , 1938-12-09 00:00:00.2 UTC
+    , 1938-12-09 00:00:05 UTC
+    , 1978-12-20 00:00:00.25 UTC
+    , 1978-12-20 00:00:00.666666666666 UTC
+    , 1978-12-20 00:00:01.5 UTC
+    , 1978-12-20 00:00:04 UTC
+    , 1898-11-27 00:00:00.333333333333 UTC
+    , 1898-11-27 00:00:03 UTC
+    , 1998-12-26 00:00:00.5 UTC
+    , 1998-12-26 00:00:02 UTC
+    , 1918-12-03 00:00:01 UTC
+    ]
+  , ...
+  ]
diff --git a/test/main.hs b/test/main.hs
--- a/test/main.hs
+++ b/test/main.hs
@@ -5,6 +5,12 @@
 import qualified Data.Text as T
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Lazy as BL
+import Data.Set (Set)
+import Data.Map (Map)
+import Data.Sequence (Seq)
+import qualified Data.Set as Set
+import qualified Data.Map as Map
+import qualified Data.Sequence as Seq
 import Numeric.Natural
 
 import Test.LeanCheck
@@ -32,4 +38,13 @@
 
   , fails n $ \bs -> BL.reverse bs == bs
   , holds n $ \bs -> BL.reverse (BL.reverse bs) == bs
+
+  , holds n $ \s -> Seq.reverse (Seq.reverse s :: Seq Int) == s
+  , fails n $ \s -> Seq.reverse (s :: Seq Int) == s
+
+  , holds n $ \a b -> a `Set.union` b == b `Set.union` (a :: Set Int)
+  , fails n $ \a b -> a `Set.union` b == (a :: Set Int)
+
+  , fails n $ \m1 m2 -> m1 `Map.union` m2 == m2 `Map.union` (m1 :: Map Int Int)
+  , holds n $ \m1 -> m1 `Map.union` m1 == (m1 :: Map Int Int)
   ]
