CCCPaste

Fold and Cut

import Data.Matrix

devT :: Matrix Int 
devT = fromList 9 9 [0, 0, 1, 0, 0, 0, 0, 0, 0,
                     0, 0, 0, 1, 0, 0, 0, 0, 0,
                     0, 0, 1, 0, 0, 0, 0, 0, 0,
                     0, 0, 0, 1, 0, 0, 0, 0, 0,
                     0, 0, 0, 0, 0, 1, 0, 0, 0,
                     0, 0, 0, 0, 0, 1, 0, 0, 0,
                     1, 0, 0, 0, 0, 0, 2, 0, 0,
                     0, 1, 0, 0, 0, 0, 0, 2, 0,
                     0, 0, 0, 0, 1, 0, 0, 0, 2]

devB :: Matrix Int 
devB = fromList 9 9 [1, 0, 0, 0, 0, 0, 0, 0, 0,
                     0, 1, 0, 0, 0, 0, 0, 0, 0,
                     1, 0, 0, 0, 0, 0, 0, 0, 0,
                     0, 1, 0, 0, 0, 0, 0, 0, 0,
                     0, 0, 0, 0, 1, 0, 0, 0, 0,
                     0, 0, 0, 0, 1, 0, 0, 0, 0,
                     0, 0, 1, 0, 0, 0, 2, 0, 0,
                     0, 0, 0, 1, 0, 0, 0, 2, 0,
                     0, 0, 0, 0, 0, 1, 0, 0, 2]

devL :: Matrix Int 
devL = fromList 9 9 [0, 1, 0, 0, 0, 0, 0, 0, 0,
                     0, 1, 0, 0, 0, 0, 0, 0, 0,
                     0, 0, 0, 1, 0, 0, 0, 0, 0,
                     0, 0, 0, 1, 0, 0, 0, 0, 0,
                     1, 0, 0, 0, 2, 0, 0, 0, 0,
                     0, 0, 1, 0, 0, 2, 0, 0, 0,
                     0, 0, 0, 0, 0, 0, 0, 1, 0,
                     0, 0, 0, 0, 0, 0, 0, 1, 0,
                     0, 0, 0, 0, 0, 0, 1, 0, 2]

devR :: Matrix Int 
devR = fromList 9 9 [1, 0, 0, 0, 0, 0, 0, 0, 0,
                     1, 0, 0, 0, 0, 0, 0, 0, 0,
                     0, 0, 1, 0, 0, 0, 0, 0, 0,
                     0, 0, 1, 0, 0, 0, 0, 0, 0,
                     0, 1, 0, 0, 2, 0, 0, 0, 0,
                     0, 0, 0, 1, 0, 2, 0, 0, 0,
                     0, 0, 0, 0, 0, 0, 1, 0, 0,
                     0, 0, 0, 0, 0, 0, 1, 0, 0,
                     0, 0, 0, 0, 0, 0, 0, 1, 2]

papTL = fromList 1 9 [1, 0, 0, 0, 0, 0, 0, 0, 0]
papTR = fromList 1 9 [0, 1, 0, 0, 0, 0, 0, 0, 0]
papBL = fromList 1 9 [0, 0, 1, 0, 0, 0, 0, 0, 0]
papBR = fromList 1 9 [0, 0, 0, 1, 0, 0, 0, 0, 0]