Skip to contents

Enumerate all partitions of an nrow by ncol grid into num_parts connected pieces. Part sizes can be constrained either as a range via min_size and max_size, or as an explicit set of allowed sizes via exact_sizes. Exactly one of these two forms must be supplied.

Usage

enum_partitions(
  nrow,
  ncol,
  num_parts,
  min_size = NULL,
  max_size = NULL,
  exact_sizes = NULL,
  contiguity = c("rook", "queen"),
  file = NULL,
  progress = TRUE
)

Arguments

nrow

Integer. Number of rows in the grid.

ncol

Integer. Number of columns in the grid.

num_parts

Integer. Number of parts to partition the grid into.

min_size

Integer or NULL. Minimum number of cells per part. Must be supplied together with max_size; mutually exclusive with exact_sizes.

max_size

Integer or NULL. Maximum number of cells per part. Must be supplied together with min_size; mutually exclusive with exact_sizes.

exact_sizes

Integer vector or NULL. The exact set of allowed part sizes. For example, exact_sizes = c(4, 8) allows parts of size 4 or 8 only. Mutually exclusive with min_size/max_size.

contiguity

Character. Either "rook" (default) for edge-adjacency or "queen" for edge-and-corner adjacency.

file

Character or NULL. If a file path is provided, partitions are written to a binary file instead of returned as a matrix. Each partition is stored as nrow * ncol consecutive 32-bit integers. Use enum_read_partitions() to read the file back into R. When file is not NULL, the function returns the partition count invisibly.

progress

Logical. Whether to report enumeration progress. Default TRUE.

Value

When file is NULL (default), an integer matrix where each column is a partition and each row corresponds to a cell of the grid in row-major order. Cell values are integers from 1 to num_parts indicating part membership. When file is a path, returns the number of partitions written, invisibly.

Examples

# Partition a 2x3 grid into 2 rook-connected parts of size 3
enum_partitions(2, 3, num_parts = 2, min_size = 3, max_size = 3)
#>     0% |  ETA: ?
#>  ■■■■■■■■■■■                       33% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■             67% |  ETA:  0s
#>      [,1] [,2] [,3]
#> [1,]    1    1    1
#> [2,]    2    1    1
#> [3,]    2    2    1
#> [4,]    1    1    2
#> [5,]    1    2    2
#> [6,]    2    2    2

# Allow only parts of size 4 or 8 (exact sizes)
enum_partitions(4, 4, num_parts = 3, exact_sizes = c(4, 8))
#>     0% |  ETA: ?
#>     1% |  ETA:  1s
#>  ■■                                 2% |  ETA:  1s
#>  ■■                                 3% |  ETA:  1s
#>  ■■                                 4% |  ETA:  1s
#>  ■■                                 5% |  ETA:  1s
#>  ■■■                                5% |  ETA:  1s
#>  ■■■                                6% |  ETA:  1s
#>  ■■■                                7% |  ETA:  1s
#>  ■■■                                8% |  ETA:  1s
#>  ■■■■                               9% |  ETA:  1s
#>  ■■■■                              10% |  ETA:  1s
#>  ■■■■                              11% |  ETA:  1s
#>  ■■■■■                             12% |  ETA:  1s
#>  ■■■■■                             13% |  ETA:  1s
#>  ■■■■■                             14% |  ETA:  1s
#>  ■■■■■                             14% |  ETA:  1s
#>  ■■■■■■                            15% |  ETA:  1s
#>  ■■■■■■                            16% |  ETA:  1s
#>  ■■■■■■                            17% |  ETA:  1s
#>  ■■■■■■                            18% |  ETA:  1s
#>  ■■■■■■■                           19% |  ETA:  1s
#>  ■■■■■■■                           20% |  ETA:  1s
#>  ■■■■■■■                           21% |  ETA:  1s
#>  ■■■■■■■                           22% |  ETA:  1s
#>  ■■■■■■■■                          23% |  ETA:  1s
#>  ■■■■■■■■                          23% |  ETA:  1s
#>  ■■■■■■■■                          24% |  ETA:  1s
#>  ■■■■■■■■■                         25% |  ETA:  1s
#>  ■■■■■■■■■                         26% |  ETA:  1s
#>  ■■■■■■■■■                         27% |  ETA:  1s
#>  ■■■■■■■■■                         28% |  ETA:  1s
#>  ■■■■■■■■■■                        29% |  ETA:  1s
#>  ■■■■■■■■■■                        30% |  ETA:  1s
#>  ■■■■■■■■■■                        31% |  ETA:  1s
#>  ■■■■■■■■■■                        32% |  ETA:  1s
#>  ■■■■■■■■■■■                       32% |  ETA:  1s
#>  ■■■■■■■■■■■                       33% |  ETA:  1s
#>  ■■■■■■■■■■■                       34% |  ETA:  1s
#>  ■■■■■■■■■■■■                      35% |  ETA:  1s
#>  ■■■■■■■■■■■■                      36% |  ETA:  1s
#>  ■■■■■■■■■■■■                      37% |  ETA:  1s
#>  ■■■■■■■■■■■■                      38% |  ETA:  1s
#>  ■■■■■■■■■■■■■                     39% |  ETA:  1s
#>  ■■■■■■■■■■■■■                     40% |  ETA:  1s
#>  ■■■■■■■■■■■■■                     41% |  ETA:  1s
#>  ■■■■■■■■■■■■■                     41% |  ETA:  1s
#>  ■■■■■■■■■■■■■■                    42% |  ETA:  0s
#>  ■■■■■■■■■■■■■■                    43% |  ETA:  0s
#>  ■■■■■■■■■■■■■■                    44% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■                   45% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■                   46% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■                   47% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■                   48% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■                  49% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■                  50% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■                  50% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■                  51% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■                 52% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■                 53% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■                 54% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■                 55% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■                56% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■                57% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■                58% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■               59% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■               59% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■               60% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■               61% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■              62% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■              63% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■              64% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■              65% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■             66% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■             67% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■             68% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■            68% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■            69% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■            70% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■            71% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■           72% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■           73% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■           74% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■           75% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■          76% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■          77% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■          77% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■         78% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■         79% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■         80% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■         81% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■        82% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■        83% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■        84% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■        85% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■       86% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■       86% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■       87% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■       88% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■      89% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■      90% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■      91% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■     92% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■     93% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■     94% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■     95% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■    95% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■    96% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■    97% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■    98% |  ETA:  0s
#>  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■   99% |  ETA:  0s
#>       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
#>  [1,]    1    1    1    1    1    1    1    1    1     1     1     1     1
#>  [2,]    1    1    1    1    1    2    2    2    2     2     2     2     2
#>  [3,]    2    2    2    2    2    2    2    2    2     2     2     2     2
#>  [4,]    2    2    2    2    2    2    2    3    2     2     3     2     2
#>  [5,]    3    3    3    3    2    1    1    1    1     1     1     1     1
#>  [6,]    1    1    1    1    1    1    1    1    1     1     1     1     1
#>  [7,]    1    1    1    1    1    3    2    2    2     2     2     2     2
#>  [8,]    2    2    2    2    2    2    3    3    3     2     3     2     2
#>  [9,]    3    3    3    3    2    1    1    1    1     1     1     1     1
#> [10,]    3    2    3    3    2    3    3    3    2     3     2     2     3
#> [11,]    3    2    2    3    2    3    3    2    2     2     2     2     3
#> [12,]    2    2    2    2    2    3    3    3    3     2     3     2     2
#> [13,]    3    3    3    2    3    3    3    3    2     3     2     3     3
#> [14,]    3    3    2    2    3    3    3    3    2     3     2     3     3
#> [15,]    3    2    2    2    3    3    3    3    3     3     2     3     2
#> [16,]    3    2    2    2    3    3    3    3    3     2     3     3     2
#>       [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25]
#>  [1,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [2,]     1     1     1     1     1     1     1     1     2     2     2     2
#>  [3,]     1     1     1     1     1     1     1     1     2     2     2     2
#>  [4,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [5,]     3     3     3     3     3     3     2     2     1     1     1     1
#>  [6,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [7,]     2     2     3     2     2     2     2     2     1     1     1     1
#>  [8,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [9,]     3     3     3     3     3     3     2     2     3     3     3     3
#> [10,]     3     3     3     2     3     3     2     2     3     3     3     2
#> [11,]     2     3     3     2     2     3     2     2     3     2     3     2
#> [12,]     3     2     2     2     2     2     2     3     3     2     2     2
#> [13,]     3     3     3     3     3     2     3     2     3     3     3     3
#> [14,]     3     3     3     3     2     2     3     3     3     3     2     3
#> [15,]     3     3     3     2     2     2     3     3     3     2     2     3
#> [16,]     3     3     2     2     2     2     3     3     3     2     2     2
#>       [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37]
#>  [1,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [2,]     2     1     1     1     1     1     2     2     2     2     2     2
#>  [3,]     2     2     2     2     2     2     3     3     2     3     2     2
#>  [4,]     2     2     2     2     2     3     3     3     3     3     2     2
#>  [5,]     1     3     3     3     3     2     1     1     1     1     1     1
#>  [6,]     1     1     1     1     1     1     2     2     2     2     2     3
#>  [7,]     1     3     2     2     2     2     3     2     3     2     3     3
#>  [8,]     2     2     2     3     2     3     3     3     3     3     3     2
#>  [9,]     2     3     3     3     3     2     1     1     1     1     1     1
#> [10,]     2     1     1     1     1     1     2     3     2     2     3     3
#> [11,]     2     3     3     2     2     2     3     2     3     3     3     3
#> [12,]     2     2     3     3     2     3     3     3     3     3     3     3
#> [13,]     3     3     3     3     3     2     1     1     1     1     1     1
#> [14,]     3     3     3     3     3     2     2     3     3     3     3     3
#> [15,]     3     3     3     3     2     2     3     3     3     3     3     3
#> [16,]     3     3     3     3     2     3     3     3     3     3     3     3
#>       [,38] [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49]
#>  [1,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [2,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [3,]     2     2     3     2     3     2     3     2     2     2     2     2
#>  [4,]     2     3     3     3     3     2     3     2     3     2     2     2
#>  [5,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [6,]     3     3     2     2     2     2     2     2     2     3     3     2
#>  [7,]     2     2     3     2     3     3     2     2     3     3     3     2
#>  [8,]     3     3     3     3     3     2     3     3     3     2     2     2
#>  [9,]     1     1     1     1     1     1     1     1     1     1     1     1
#> [10,]     3     3     2     3     2     2     2     2     2     3     3     2
#> [11,]     3     2     2     3     2     3     2     3     3     2     3     2
#> [12,]     3     3     3     3     2     2     3     3     2     2     2     3
#> [13,]     1     1     1     1     1     1     1     1     1     1     1     1
#> [14,]     3     3     3     3     2     3     2     2     2     3     2     3
#> [15,]     3     3     3     3     2     3     2     2     2     2     2     3
#> [16,]     3     3     3     3     2     2     2     3     2     2     2     3
#>       [,50] [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61]
#>  [1,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [2,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [3,]     2     2     2     2     2     2     2     2     2     3     2     2
#>  [4,]     2     2     2     2     2     3     3     2     2     3     3     2
#>  [5,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [6,]     3     2     2     2     2     2     2     2     2     2     2     2
#>  [7,]     2     3     2     2     3     3     2     2     2     3     2     2
#>  [8,]     2     3     2     3     3     3     3     2     2     2     3     2
#>  [9,]     1     1     1     1     1     1     1     1     1     1     1     1
#> [10,]     3     2     3     2     2     2     2     3     2     2     2     2
#> [11,]     2     2     2     2     3     2     2     3     3     3     3     3
#> [12,]     2     3     2     3     3     3     3     2     2     2     3     3
#> [13,]     1     1     1     1     1     1     1     1     1     1     1     1
#> [14,]     3     2     3     2     2     2     2     3     3     2     2     2
#> [15,]     3     2     3     3     2     2     2     3     3     2     2     3
#> [16,]     2     3     3     3     2     2     3     2     3     2     2     3
#>       [,62] [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73]
#>  [1,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [2,]     2     2     2     2     1     1     1     1     1     1     1     1
#>  [3,]     2     2     2     2     1     1     1     1     1     1     1     1
#>  [4,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [5,]     1     1     1     1     3     3     3     3     2     2     3     3
#>  [6,]     2     2     2     3     3     3     2     3     2     2     3     3
#>  [7,]     3     3     3     2     1     1     1     1     1     1     1     1
#>  [8,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [9,]     1     1     1     1     3     3     3     2     3     2     3     3
#> [10,]     2     2     3     3     3     3     2     3     2     2     3     2
#> [11,]     3     3     3     3     3     2     2     3     2     2     2     2
#> [12,]     2     3     2     2     2     2     2     2     2     2     2     2
#> [13,]     1     1     1     1     3     3     3     2     3     3     2     3
#> [14,]     2     2     3     3     3     3     3     2     3     3     2     2
#> [15,]     3     2     2     2     3     3     2     2     3     3     2     2
#> [16,]     3     3     2     2     2     3     2     2     2     3     2     2
#>       [,74] [,75] [,76] [,77] [,78] [,79] [,80] [,81] [,82] [,83] [,84] [,85]
#>  [1,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [2,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [3,]     3     2     2     2     2     2     2     3     2     2     2     2
#>  [4,]     3     2     2     3     2     2     3     3     2     2     3     3
#>  [5,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [6,]     2     2     3     2     2     2     2     2     1     1     1     1
#>  [7,]     2     3     3     2     2     2     2     2     3     2     2     2
#>  [8,]     3     3     2     3     2     2     3     3     2     3     3     3
#>  [9,]     1     1     1     1     1     1     1     1     3     3     3     2
#> [10,]     1     1     1     1     1     1     1     1     1     1     1     1
#> [11,]     2     3     3     3     2     3     2     2     3     3     2     2
#> [12,]     3     3     3     3     2     2     3     3     3     3     3     3
#> [13,]     3     3     3     3     3     3     2     2     3     3     3     2
#> [14,]     3     3     3     3     3     3     2     2     3     3     3     2
#> [15,]     3     3     3     3     3     3     2     2     3     3     3     2
#> [16,]     3     3     3     3     3     2     3     2     3     3     3     3
#>       [,86] [,87] [,88] [,89] [,90] [,91] [,92] [,93] [,94] [,95] [,96] [,97]
#>  [1,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [2,]     2     1     1     1     1     1     1     1     1     1     1     1
#>  [3,]     2     1     1     1     1     1     1     1     1     1     1     1
#>  [4,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [5,]     1     1     1     1     1     1     1     1     1     1     1     1
#>  [6,]     1     3     3     3     2     3     2     2     2     2     2     3
#>  [7,]     2     2     2     3     2     3     2     2     2     2     2     2
#>  [8,]     2     2     2     2     2     2     2     2     2     2     2     2
#>  [9,]     3     3     3     3     3     3     3     2     2     2     2     3
#> [10,]     1     3     3     3     3     3     2     2     2     2     2     3
#> [11,]     2     2     3     3     3     2     2     3     3     2     2     2
#> [12,]     2     3     2     2     3     2     2     3     2     2     3     2
#> [13,]     3     3     3     3     3     3     3     2     2     3     2     3
#> [14,]     3     3     3     3     3     3     3     2     3     3     3     2
#> [15,]     3     3     3     3     3     3     3     3     3     3     3     2
#> [16,]     2     3     3     2     3     3     2     3     3     3     3     2
#>       [,98] [,99] [,100] [,101] [,102] [,103] [,104] [,105] [,106] [,107]
#>  [1,]     1     1      1      1      1      1      1      1      1      1
#>  [2,]     1     1      1      1      1      1      1      1      1      1
#>  [3,]     1     1      1      1      1      1      2      2      2      2
#>  [4,]     2     2      2      2      2      2      2      3      2      2
#>  [5,]     1     1      1      1      1      1      1      1      1      1
#>  [6,]     2     3      3      2      2      3      1      1      1      1
#>  [7,]     2     3      2      2      2      3      3      2      2      2
#>  [8,]     2     2      2      2      2      2      2      3      2      3
#>  [9,]     2     2      3      3      3      3      3      3      3      3
#> [10,]     2     3      3      3      3      3      3      2      3      3
#> [11,]     3     3      3      2      3      2      3      2      3      2
#> [12,]     2     2      2      2      2      2      2      3      3      3
#> [13,]     3     2      2      3      3      2      3      3      3      3
#> [14,]     3     2      2      3      2      2      3      3      3      3
#> [15,]     3     2      2      2      2      2      3      3      3      3
#> [16,]     2     2      2      2      2      2      3      3      3      3
#>       [,108] [,109] [,110] [,111] [,112] [,113] [,114] [,115] [,116] [,117]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      2      2      2      2      2      2      2      2      1      1
#>  [4,]      2      2      3      2      2      2      2      2      1      1
#>  [5,]      1      1      1      1      1      1      1      1      2      2
#>  [6,]      1      1      1      1      1      1      1      1      2      2
#>  [7,]      2      2      2      2      3      2      2      2      3      2
#>  [8,]      2      2      3      2      2      2      2      3      3      3
#>  [9,]      3      2      2      2      3      3      3      2      2      3
#> [10,]      2      2      2      2      3      3      3      2      3      2
#> [11,]      2      2      2      2      3      2      3      2      3      3
#> [12,]      2      2      3      3      2      2      2      3      3      3
#> [13,]      3      3      2      2      2      3      3      2      2      3
#> [14,]      3      3      2      3      2      3      2      2      3      3
#> [15,]      3      3      2      3      2      2      2      3      3      3
#> [16,]      2      3      3      3      2      2      2      3      3      3
#>       [,118] [,119] [,120] [,121] [,122] [,123] [,124] [,125] [,126] [,127]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      1      1      1      1      1      1      1      1      1      1
#>  [4,]      1      1      1      1      1      1      1      1      1      1
#>  [5,]      2      2      2      2      2      2      2      2      2      2
#>  [6,]      2      2      3      2      3      2      2      3      2      2
#>  [7,]      3      3      3      2      3      2      2      3      2      2
#>  [8,]      3      3      3      2      3      3      3      3      2      2
#>  [9,]      2      3      2      3      2      2      3      2      2      2
#> [10,]      2      2      2      3      2      3      3      3      3      2
#> [11,]      3      2      2      3      3      3      2      3      3      2
#> [12,]      3      3      3      3      3      3      3      3      2      3
#> [13,]      3      3      3      3      2      3      3      2      3      2
#> [14,]      3      3      3      3      3      3      3      2      3      3
#> [15,]      3      3      3      3      3      3      3      3      2      3
#> [16,]      3      3      3      3      3      3      3      3      2      3
#>       [,128] [,129] [,130] [,131] [,132] [,133] [,134] [,135] [,136] [,137]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      1      1      1      1      1      1      1      1      1      1
#>  [4,]      1      1      1      1      1      1      1      1      1      1
#>  [5,]      2      2      2      2      2      2      2      2      2      2
#>  [6,]      2      2      3      2      2      2      2      2      2      2
#>  [7,]      3      2      3      2      2      2      2      2      2      2
#>  [8,]      3      2      2      3      2      2      2      2      3      2
#>  [9,]      2      2      2      2      2      3      3      2      2      2
#> [10,]      2      2      3      2      3      3      3      3      3      3
#> [11,]      2      3      3      3      3      2      3      2      3      3
#> [12,]      3      2      2      3      2      2      2      2      3      2
#> [13,]      2      3      2      2      2      3      3      3      2      2
#> [14,]      2      3      2      2      2      3      2      3      2      3
#> [15,]      2      3      2      2      3      2      2      3      2      3
#> [16,]      3      2      2      3      3      2      2      2      2      2
#>       [,138] [,139] [,140] [,141] [,142] [,143] [,144] [,145] [,146] [,147]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      1      1      1      1      1      1      1      1      1      1
#>  [4,]      1      1      1      1      1      1      1      1      1      1
#>  [5,]      2      2      2      2      2      2      2      2      2      2
#>  [6,]      2      2      3      3      2      2      2      2      3      2
#>  [7,]      3      2      3      3      2      2      2      2      3      2
#>  [8,]      3      2      3      3      3      2      2      2      3      2
#>  [9,]      2      2      2      2      2      3      2      2      2      2
#> [10,]      2      3      2      3      2      2      2      2      2      2
#> [11,]      3      3      2      2      2      2      3      3      3      2
#> [12,]      3      3      3      2      3      2      3      2      2      2
#> [13,]      2      2      2      2      2      3      2      2      2      3
#> [14,]      2      2      2      2      2      3      2      3      2      3
#> [15,]      2      2      2      2      3      3      3      3      2      3
#> [16,]      2      3      2      2      3      2      3      3      2      3
#>       [,148] [,149] [,150] [,151] [,152] [,153] [,154] [,155] [,156] [,157]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      1      1      2      2      2      2      2      2      2      2
#>  [4,]      1      1      2      2      3      2      3      2      2      3
#>  [5,]      2      2      1      1      1      1      1      1      1      1
#>  [6,]      2      2      2      3      2      3      2      3      2      2
#>  [7,]      3      2      2      3      2      2      2      2      2      2
#>  [8,]      3      2      3      2      3      2      3      3      3      3
#>  [9,]      2      2      1      1      1      1      1      1      1      1
#> [10,]      3      3      3      3      3      3      2      3      2      2
#> [11,]      3      2      3      3      2      3      3      2      3      3
#> [12,]      2      2      3      2      3      3      3      3      3      3
#> [13,]      2      2      3      3      3      3      3      3      2      2
#> [14,]      2      3      3      3      3      3      3      3      2      2
#> [15,]      2      3      3      3      3      3      3      3      2      2
#> [16,]      2      3      3      3      3      3      3      3      3      2
#>       [,158] [,159] [,160] [,161] [,162] [,163] [,164] [,165] [,166] [,167]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      2      2      2      2      2      2      2      2      2      1
#>  [4,]      2      2      2      2      2      2      2      2      3      2
#>  [5,]      1      1      1      1      1      1      1      1      1      3
#>  [6,]      2      2      2      2      3      2      3      2      2      1
#>  [7,]      2      2      2      2      3      2      2      2      2      1
#>  [8,]      2      2      2      2      2      3      2      2      3      2
#>  [9,]      1      1      1      1      1      1      1      1      1      3
#> [10,]      2      2      3      2      3      2      3      3      2      1
#> [11,]      3      2      3      3      3      2      2      2      2      1
#> [12,]      3      2      2      2      2      3      2      2      3      2
#> [13,]      2      3      3      3      2      2      3      3      2      3
#> [14,]      2      3      3      3      2      2      3      3      2      3
#> [15,]      3      3      2      3      2      3      2      3      2      1
#> [16,]      3      3      2      2      2      3      2      2      3      2
#>       [,168] [,169] [,170] [,171] [,172] [,173] [,174] [,175] [,176] [,177]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      1      1      2      1      1      1      1      1      1      1
#>  [4,]      2      2      2      1      1      1      1      1      1      1
#>  [5,]      1      1      1      2      2      2      2      1      1      2
#>  [6,]      3      2      1      2      2      2      3      2      2      1
#>  [7,]      3      2      2      1      1      1      1      2      2      3
#>  [8,]      2      2      2      1      1      1      1      2      2      1
#>  [9,]      1      1      1      2      2      3      2      1      1      2
#> [10,]      3      3      1      3      2      2      3      1      1      2
#> [11,]      3      3      1      3      3      2      3      2      3      3
#> [12,]      2      3      3      1      1      1      1      3      2      1
#> [13,]      1      1      1      2      3      3      2      1      1      2
#> [14,]      1      1      3      3      3      3      2      3      3      3
#> [15,]      1      1      3      3      3      3      3      3      3      3
#> [16,]      2      3      3      1      1      1      1      3      3      1
#>       [,178] [,179] [,180] [,181] [,182] [,183] [,184] [,185] [,186] [,187]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      2      2      1      1      1      1      1      1
#>  [3,]      1      1      2      3      1      1      1      1      1      1
#>  [4,]      1      1      3      3      1      1      1      1      1      1
#>  [5,]      2      2      1      1      1      1      1      1      1      1
#>  [6,]      1      1      2      2      1      1      1      1      2      2
#>  [7,]      3      3      3      2      2      2      2      2      1      1
#>  [8,]      1      1      3      3      2      3      2      2      3      3
#>  [9,]      2      2      1      1      1      1      1      1      1      1
#> [10,]      3      1      2      2      3      2      3      2      2      2
#> [11,]      3      3      1      1      2      2      3      2      2      3
#> [12,]      1      1      3      3      2      3      2      3      3      3
#> [13,]      2      2      1      1      1      1      1      1      1      1
#> [14,]      2      2      1      1      3      2      3      3      2      2
#> [15,]      3      3      1      1      3      3      3      3      3      2
#> [16,]      1      3      1      1      3      3      2      3      3      3
#>       [,188] [,189] [,190] [,191] [,192] [,193] [,194] [,195] [,196] [,197]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      2      1      2      2      1      1      1      1      1      1
#>  [3,]      2      1      2      2      1      2      1      1      1      1
#>  [4,]      2      2      2      2      1      2      2      2      1      1
#>  [5,]      1      1      1      1      1      1      1      1      2      1
#>  [6,]      1      3      2      1      1      2      1      1      1      1
#>  [7,]      1      1      1      2      2      2      1      1      1      1
#>  [8,]      2      2      3      3      2      1      2      2      1      1
#>  [9,]      1      3      1      1      3      1      1      1      2      2
#> [10,]      1      3      1      1      1      1      1      1      1      2
#> [11,]      1      1      1      1      1      1      3      2      3      3
#> [12,]      1      2      3      3      2      1      2      2      3      3
#> [13,]      3      3      1      1      3      3      3      3      2      2
#> [14,]      3      1      1      1      3      3      3      3      2      2
#> [15,]      3      1      3      3      3      3      3      3      3      3
#> [16,]      3      2      3      3      2      3      2      3      3      3
#>       [,198] [,199] [,200] [,201] [,202] [,203] [,204] [,205] [,206] [,207]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      2      1      1
#>  [3,]      1      1      1      1      1      1      2      2      1      1
#>  [4,]      1      1      1      1      1      1      2      2      1      1
#>  [5,]      1      1      1      1      1      1      1      1      1      1
#>  [6,]      1      1      1      1      1      1      1      1      2      2
#>  [7,]      1      1      1      1      2      2      1      1      2      3
#>  [8,]      1      1      1      2      1      1      2      2      1      1
#>  [9,]      2      2      2      3      1      1      1      1      1      1
#> [10,]      2      3      2      3      2      3      1      3      2      2
#> [11,]      2      3      2      1      2      2      3      1      2      3
#> [12,]      2      3      3      2      2      2      2      1      1      1
#> [13,]      3      2      2      3      3      3      1      1      3      2
#> [14,]      3      2      3      3      3      3      3      3      3      2
#> [15,]      3      2      3      2      3      3      3      3      3      3
#> [16,]      3      3      3      2      3      2      3      3      3      3
#>       [,208] [,209] [,210] [,211] [,212] [,213] [,214] [,215] [,216] [,217]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      2      1      1      1      1
#>  [3,]      1      1      1      1      1      2      1      1      1      1
#>  [4,]      1      1      1      1      1      2      2      1      1      2
#>  [5,]      1      1      1      1      2      1      1      1      1      1
#>  [6,]      2      2      1      1      1      1      3      2      2      1
#>  [7,]      1      1      2      2      3      2      1      1      1      2
#>  [8,]      1      1      1      1      3      1      2      1      1      2
#>  [9,]      1      1      3      2      2      3      1      2      2      1
#> [10,]      2      2      3      2      1      1      3      2      2      3
#> [11,]      3      2      2      2      1      1      3      3      2      3
#> [12,]      3      2      1      1      3      1      2      1      1      2
#> [13,]      2      3      3      3      2      3      1      2      3      1
#> [14,]      2      3      3      3      2      3      1      3      3      1
#> [15,]      3      3      2      3      1      3      3      3      3      3
#> [16,]      3      3      2      3      3      1      2      3      3      3
#>       [,218] [,219] [,220] [,221] [,222] [,223] [,224] [,225] [,226] [,227]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      2      1      1      1      1      1      1      2      1
#>  [3,]      1      2      2      1      1      2      1      1      2      1
#>  [4,]      2      2      2      2      2      3      2      2      2      1
#>  [5,]      1      1      1      1      1      1      3      1      1      1
#>  [6,]      1      1      1      3      2      2      1      1      2      2
#>  [7,]      3      1      1      3      2      2      2      2      1      2
#>  [8,]      2      2      2      2      2      3      2      2      1      1
#>  [9,]      1      1      3      1      1      1      3      1      1      1
#> [10,]      3      1      3      1      1      2      1      1      1      2
#> [11,]      3      1      1      3      3      1      1      1      1      2
#> [12,]      2      3      2      2      3      3      2      2      1      3
#> [13,]      1      1      3      1      1      1      3      3      3      1
#> [14,]      1      3      3      1      1      1      3      3      3      3
#> [15,]      3      3      1      3      3      1      1      3      3      3
#> [16,]      2      3      1      2      3      3      1      3      3      3
#>       [,228] [,229] [,230] [,231] [,232] [,233] [,234] [,235] [,236] [,237]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      2      2      2      2      2      1      1
#>  [3,]      1      1      1      2      2      2      3      2      1      1
#>  [4,]      1      1      1      3      2      2      3      2      2      1
#>  [5,]      1      1      1      1      1      1      1      1      1      2
#>  [6,]      2      2      2      2      2      3      2      1      1      1
#>  [7,]      2      2      3      3      3      3      3      2      1      1
#>  [8,]      1      1      1      3      3      2      3      1      2      1
#>  [9,]      1      1      1      1      1      1      1      1      1      2
#> [10,]      2      3      2      2      3      3      2      1      3      2
#> [11,]      3      2      3      3      3      3      2      1      1      1
#> [12,]      3      2      3      1      1      1      1      1      2      3
#> [13,]      1      1      1      1      1      1      1      3      3      2
#> [14,]      2      3      2      1      1      1      1      3      3      3
#> [15,]      3      3      2      1      1      1      1      3      3      3
#> [16,]      3      3      3      1      1      1      1      3      2      3
#>       [,238] [,239] [,240] [,241] [,242] [,243] [,244] [,245] [,246] [,247]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      2      2      2
#>  [3,]      1      1      1      1      1      1      1      2      2      2
#>  [4,]      2      1      2      1      1      1      1      3      2      2
#>  [5,]      1      2      1      1      1      1      1      1      1      1
#>  [6,]      2      2      1      1      1      1      2      2      2      1
#>  [7,]      2      2      1      1      1      1      2      1      1      1
#>  [8,]      2      1      2      2      2      2      1      3      1      2
#>  [9,]      1      2      3      1      1      1      2      1      1      3
#> [10,]      1      1      3      3      2      3      2      2      1      3
#> [11,]      1      1      1      3      2      2      1      1      1      1
#> [12,]      1      1      2      2      2      2      1      3      3      1
#> [13,]      3      3      3      3      3      3      3      1      1      3
#> [14,]      3      3      3      3      3      3      3      1      3      3
#> [15,]      3      3      1      2      3      3      3      1      3      1
#> [16,]      3      3      2      2      3      2      3      3      3      1
#>       [,248] [,249] [,250] [,251] [,252] [,253] [,254] [,255] [,256] [,257]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      2      2      2      1      1
#>  [3,]      1      1      1      2      2      2      2      2      1      1
#>  [4,]      1      1      2      2      3      2      3      2      1      1
#>  [5,]      1      1      1      1      1      1      1      1      2      2
#>  [6,]      1      1      3      2      2      2      2      1      2      2
#>  [7,]      2      2      1      2      2      3      2      1      3      2
#>  [8,]      2      2      2      3      3      3      3      2      1      1
#>  [9,]      1      1      1      1      1      1      1      1      2      2
#> [10,]      1      1      3      1      1      1      1      3      3      3
#> [11,]      2      3      1      3      2      1      1      1      3      3
#> [12,]      2      2      2      3      3      3      3      1      1      1
#> [13,]      3      3      1      1      1      1      1      3      2      3
#> [14,]      3      3      3      1      1      1      1      3      3      3
#> [15,]      3      3      3      1      1      1      1      3      1      1
#> [16,]      3      2      2      3      3      3      3      1      1      1
#>       [,258] [,259] [,260] [,261] [,262] [,263] [,264] [,265] [,266] [,267]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      1      1      2      2      1      1      1      1      1      1
#>  [4,]      1      1      3      2      2      1      1      1      1      1
#>  [5,]      2      2      1      1      1      1      1      1      1      2
#>  [6,]      2      3      1      1      2      2      2      2      2      1
#>  [7,]      2      3      2      2      2      2      3      2      2      1
#>  [8,]      1      1      3      2      2      3      3      2      2      3
#>  [9,]      3      2      1      1      1      1      1      1      1      2
#> [10,]      3      3      2      3      1      2      2      3      2      1
#> [11,]      2      3      2      3      1      2      2      3      3      1
#> [12,]      1      1      3      3      3      3      3      2      3      3
#> [13,]      3      2      1      1      1      1      1      1      1      2
#> [14,]      3      2      1      1      3      1      1      1      1      2
#> [15,]      1      1      1      1      3      3      2      3      3      3
#> [16,]      1      1      3      3      3      3      3      3      3      3
#>       [,268] [,269] [,270] [,271] [,272] [,273] [,274] [,275] [,276] [,277]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      1      1      1      2      2      2      2      1      1      1
#>  [4,]      1      1      1      2      2      2      3      1      1      1
#>  [5,]      2      2      2      1      1      1      1      1      1      1
#>  [6,]      1      1      1      2      3      3      2      2      2      2
#>  [7,]      1      1      1      2      3      2      2      2      3      2
#>  [8,]      1      1      1      3      2      2      3      1      1      1
#>  [9,]      2      2      2      1      1      1      1      3      2      2
#> [10,]      2      2      3      3      3      3      2      2      2      2
#> [11,]      2      3      3      3      3      3      3      2      3      3
#> [12,]      1      1      1      3      2      3      3      1      1      1
#> [13,]      3      2      2      1      1      1      1      3      2      3
#> [14,]      3      3      2      1      1      1      1      3      3      3
#> [15,]      3      3      3      1      1      1      1      3      3      3
#> [16,]      3      3      3      1      1      1      1      1      1      1
#>       [,278] [,279] [,280] [,281] [,282] [,283] [,284] [,285] [,286] [,287]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      2      2      2      1      2      1      1
#>  [3,]      1      2      1      2      2      2      1      2      1      1
#>  [4,]      1      2      1      2      2      3      2      1      1      2
#>  [5,]      1      3      1      1      1      1      3      1      1      3
#>  [6,]      2      1      2      1      1      1      3      2      2      1
#>  [7,]      2      1      2      3      2      2      1      2      1      1
#>  [8,]      1      2      2      2      3      3      2      1      3      2
#>  [9,]      3      3      1      1      1      1      3      1      1      3
#> [10,]      3      1      1      1      1      1      1      1      2      3
#> [11,]      2      1      1      3      3      2      1      1      1      1
#> [12,]      1      2      2      3      3      3      2      1      3      2
#> [13,]      3      3      3      1      1      1      3      3      2      3
#> [14,]      3      3      3      1      1      1      1      3      2      1
#> [15,]      2      1      3      1      1      1      1      3      3      1
#> [16,]      1      1      3      3      3      3      2      3      3      2
#>       [,288] [,289] [,290] [,291] [,292] [,293] [,294] [,295] [,296] [,297]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      2      1      1
#>  [3,]      1      1      1      2      1      2      1      2      1      1
#>  [4,]      2      2      2      2      1      2      1      2      2      2
#>  [5,]      1      1      1      1      1      3      1      1      1      1
#>  [6,]      1      1      1      1      2      1      1      1      1      1
#>  [7,]      2      2      3      1      2      2      2      1      1      1
#>  [8,]      2      2      2      2      1      2      1      2      2      2
#>  [9,]      1      1      1      1      1      3      3      1      1      1
#> [10,]      1      1      1      3      1      1      1      3      3      3
#> [11,]      2      3      3      3      2      1      2      3      3      2
#> [12,]      3      2      2      2      2      1      2      3      2      2
#> [13,]      1      1      1      1      3      3      3      1      1      1
#> [14,]      3      3      3      1      3      3      3      1      3      3
#> [15,]      3      3      3      3      3      1      3      1      3      3
#> [16,]      3      3      2      3      3      1      2      3      2      3
#>       [,298] [,299] [,300] [,301] [,302] [,303] [,304] [,305] [,306] [,307]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      1      1      1      1
#>  [3,]      2      2      2      2      2      2      1      1      1      1
#>  [4,]      2      2      3      2      2      2      1      1      1      2
#>  [5,]      1      1      1      1      1      1      2      2      2      1
#>  [6,]      1      1      1      1      1      1      2      2      2      1
#>  [7,]      2      3      2      2      2      1      1      2      2      1
#>  [8,]      2      2      3      2      3      2      1      1      1      2
#>  [9,]      3      1      1      1      1      1      2      3      2      3
#> [10,]      1      1      1      1      1      1      1      2      3      1
#> [11,]      1      3      2      3      2      1      1      1      1      1
#> [12,]      1      2      3      3      3      2      3      1      1      2
#> [13,]      3      1      1      1      1      3      2      3      3      3
#> [14,]      3      1      1      1      1      3      3      3      3      3
#> [15,]      3      3      2      3      3      3      3      3      3      3
#> [16,]      1      3      3      3      3      3      3      1      1      2
#>       [,308] [,309] [,310] [,311] [,312] [,313] [,314] [,315] [,316] [,317]
#>  [1,]      1      1      1      1      1      1      1      1      1      1
#>  [2,]      2      2      1      1      1      2      2      2      2      1
#>  [3,]      2      2      1      1      1      3      2      2      2      1
#>  [4,]      2      2      1      1      2      3      2      2      3      2
#>  [5,]      1      1      2      2      3      1      1      1      1      1
#>  [6,]      1      1      2      2      3      2      2      3      2      3
#>  [7,]      3      2      1      1      1      2      3      3      2      1
#>  [8,]      2      3      1      1      2      3      3      2      3      2
#>  [9,]      1      1      2      2      3      1      1      1      1      1
#> [10,]      3      3      3      2      3      1      1      1      1      3
#> [11,]      3      3      1      1      1      2      3      3      3      1
#> [12,]      3      3      1      1      2      3      3      3      3      2
#> [13,]      1      1      2      3      1      1      1      1      1      3
#> [14,]      1      1      3      3      1      1      1      1      1      3
#> [15,]      1      1      3      3      1      1      1      1      1      1
#> [16,]      1      1      3      3      2      1      1      1      1      2
#>       [,318] [,319] [,320] [,321] [,322] [,323] [,324] [,325] [,326]
#>  [1,]      1      1      1      1      1      1      1      1      1
#>  [2,]      1      1      1      1      1      1      2      2      1
#>  [3,]      2      1      2      1      2      1      2      2      2
#>  [4,]      2      1      2      1      2      1      2      2      2
#>  [5,]      1      2      1      1      3      1      1      1      1
#>  [6,]      1      2      2      2      1      1      1      1      1
#>  [7,]      2      1      2      1      1      1      1      1      1
#>  [8,]      2      3      3      1      2      2      2      2      2
#>  [9,]      1      2      1      2      3      3      3      1      1
#> [10,]      1      1      1      2      3      1      1      1      3
#> [11,]      1      1      1      1      1      2      1      3      1
#> [12,]      1      3      3      3      2      2      1      3      2
#> [13,]      3      2      1      2      3      3      3      1      1
#> [14,]      3      1      1      3      1      3      3      1      3
#> [15,]      3      3      3      3      1      3      3      3      3
#> [16,]      3      3      3      3      1      2      1      3      3