You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
aoc-racket/2017/d19/star1.rkt

203 lines
40 KiB
Racket

#lang reader "main.rkt" ; "LXWCKGRAOY"
|
+-+ +-+ +-+ +---+ +-+ +-----------------|-----------------------------------+ +---+ +-+ +-+
| | | | | | | | | | | | | | | | | | |
| +---+ +---------------------+ | | +-----------|-+ | | | +-------------------------------------|---|-+ | |
| | | | | | | | | | | | | | |
| +-------------------------------------+ Y-+ | +-----|-----+ | | | +-----------------------------|---|---|-+ | |
| | | | | | | | | | | | | | | | | | | |
+-----------------------|-----|-----------+ +-------------------+ +-+ | +-----+ +-------------------------------------------|-----------|---|-----------------------------|---------|---+
| | | | | | | | | | | | | | | |
| | | | | | | | +---------------------------------+ | | | +---+ | |
| | | | | | | | | | | | | | | |
| | +-----------------|-----|-----------|---------------------+ | | | | +-----------------|---+ | |
| | | | | | | | | | | | | | | | | |
+-------------+ +---|-----|-------------------------------|-|-----------------|-------+ | | +---------------|-----------|---------------------|-------|-+
| | | | | | | | | | | | | | | | | | | | | |
+-|-------------|-------+ | | +-----+ +---------------|---------------+ +-----+ | | +---------------------------------------|-------------------+ | +-----------|-+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | +---------|-------------------------------------|-------------|-----------|-+ +-----------+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | +---|-------------|---------------------------------------------|---------|---|-----|-------|---------------+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +---+ | | | | | | | | | | | | | | | +-------------------------------------|---------|---|-----------|-----------------|-|-|---------+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | +---------------------------|---------------------------+ | | | | | | | | +-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | +-----|---------|---|---------|-+ | | | | | | | | | | | | | +---+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | +---------------+ +-------+ | | | | | | | +---------------------------------------+ | | | | | | | | | +-+ | |
| | | | | | | | | | | | | | | | | | | O | | | | | | | | | | | | | | | | | |
| | | | +-------|-|-|-----|-+ | | | | | | | | | | | | | | | +---------+ | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | +---------|-------|-----|---------|-----------|-------|---------|---|-----|---------------+ | | | | | | | | +---------+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-+ | | | | | | | +-|-------------+ | | +---|-----|---------------------|---------------------+ +---|-------|-|-|-----|-----|-----|-|---|-----|-------+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | +---|---------|-----------------------------------+ | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-----|-----|-------------|-|-------+ | | | | | | | | | | | +-|-+ | | +-----|-----+ +-------------|-|-------+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-----|---|-|-------|-----------|-|-------|-|-------------|-|---|-----|---|-----------------|---------|---------------+ | +-|-------|-|-------------------|-|---------------|-+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | +---------------------|-+ | | | | | | | +-|-----------+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | +---------|-|-----|-+ | | | | | | | | | | | | | | | | | | | | +---------+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +---|-----------|-----+ | | | | | | | | | | | | | +-|---|-------------+ | | | +-------+ | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-----------|---|---------|---|-------|-----|-----------------|---|-------------|-------------|---------+ +-----|-------------------|-------------|------C|---+ | | | +-|-----|-+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-+ +-----|---------|-|---|-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|---|---+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | +-------|-----|---------+ | | | +---|-------------------------------|-|-------+ | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | +-|-----------|---|-----|-----|-------|-------+ | | | | | | +-----+ | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +-|-|-----|-|-|---------|-------------------|---|-----|-----|-------|-------------|-------------|-------------------------|---|---|---------|-|-+ | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | +-+ | | | | | | | +-|---------------|-----|---------|---------------------|-|-----------|-------------------------|-|-|---|---|-|-|-|---|-+ | +-|-+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-|-+ | | | | | | | +-|-|---+ | | | | +---|-----|---|---|-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-----+ | +-------|-|-|-----|---|-|-----------------------------|-----|---|-------------------------------|---|-----|---------------|---|---|---|---|-+ | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | G | | | | | | | | |
+-+ | | | | +---------------|-|---|-|-|-----------|---|---------------|-----|---------------|---------|---------|---------------|-------|---|---|-----|---|-|-|---|---+ | +-------|-+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-|-----+ | | | | | | | | | | | | | | | | +-------------+ +-------------|---|---+ | | | | | | | | | | | | | | +-----|-------|-------|-------|---+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-|-----|-----|---------|---|-------|-----------------------|-------------------------------|---------|---|-----|---------------|---|---|-----------------|---------|-|-----|-------------+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | +-----|-|-|-|-------|-----|-------|-----------|-----------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | +-|---|-----------------+ +-------|---------+ | | | | | | | | +-------+ | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +---------|---+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | +-|-------------|-----------+ | | | | | | +-|---------------------------------|-|-----|---|-|---|-------|-|-|-|---|---------|---------+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +---------|---|-|---|-+ +-------|-|-----------------|-----|---------|---------------|-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +---|-----------|---+ | +-|-|---|-|-----|-------------|---|-|---------------------------|-------|-|---------------------------------|-----|---------+ | | | | | | | | | | | | +-------+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-+ | | | | | | | | | +-|---|-----|-----------|-----|---|---+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | +----K------|-------------------|---------------+ | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | +-|-|---------------|-----------|-|-----|---------------------------------|-------------|-----------+ | | | | | | | | +-+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +---|---|---|---|---|-|-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+ | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +---|---------|---|---------|---|-------------|-------------------|-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | L
| | | | | | | | | | | | | | | | | | | | | | | +---|---|-----------|-----|---|-------|-|---|-----|-----|---------|-----|-----|-------|-|---|---|-|-----------|---+ | | | +-|-|-+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +---+ +-----|-----|-------|-------------|-----|-|-----------------|-----------|-----------|-|---|---------+ | | | | | | | | +---|-|---|---|-------+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | +-----------|---|---|-|-----|-|---------|-----------|---|-------|-|---------|---------|-|---------------+ | +-|-+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-|-------------|---|-|---|-|---|-|-|---|-|-|-----------------|-----|-----------|-----|-----------------|-----------|-----|---------------|-|-|---------|-----|-|-|-------|-|-------+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-----|-----------|-------|---|-|---------|---------|-----|-|-------|-----------------|---|---|---------+ | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +---|---|-----|-+ | | | | | | +-----------------------|-----|-------------------------|---------------|---------------|-----|-|-+ | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +-|-|-|---|-|---------|-----------|-------|-----|-----|---------------+ | | | | | +-----------|-----|---|---+ | | +---------+ | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | +-|-|---|-----------|-----------+ | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +---------+ | | | | | +---------|-------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | +---|---|---|-----------------|-|-------|-------|---|-----------|---|---+ | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | +---|-----|---------|-|-|-|---|-------------------|-----------|-------|-----------------|-----|---------|-+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-+ | | +-|---------|---|-----|-|---------|---|-|-----------|-|-|---------|-+ | | | | | | | +---|-----+ | | | | | | | +-|---+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---|-----------------|-----------|-|---|-------|-----|-----|---+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-----+ | | | +---------------------+ | | | +---|---|-|-----------|---|-|---|-|-----------------------|-------------|---------------|---------|-|-|-|---+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | +-------------|-|-|---|---------|-|-----|-----------+ | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-------|-------|-----|---|-----|-|-----|-+ | | | +---|---+ | | | | +-|---------|---|---+ | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | +---|---|---|---|-|-------------|---------|-----|---|-----|---|-----|-|-----------|---------|-------+ | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-------+ | | | | | | | | +-------|-|---|---|---|---|---|---------|-----|-|---|-------------+ | | +-----|-------|---|-+ +-----|-------|-----+ | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----+ | | +---|-+ | | | +-|-|---------------|-+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|---|-|---|---|-------|-----+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-|-|---------|-------|-------------------------------------|---|-----------------------------------|---|---|-|-------------------------|---|---------|-----|-|-----|---|---------|-|---+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +---------|---|-------------------|---------------|---|---------|-----|-------------------|-------|---------------------------|-----|---|---|-|---------+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | +-----------------|---|-----|---|-----|-|-----------|-----|-----+ | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +-|-----+ | | | | | | | | | | | | | | | | | +-----|-|-----|-------------|---|-----------------------------------|-|-+ | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +-|-----+ | +-------|---|-----------|-|---------|---|---+ | | | | | | | | | | | | | | | | | +-|-----|---|-|-------+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+---|---------|---|-----------------|-----|---|---------|-|-|-----|---|-----------------|---+ | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|-|-----|---|---+ |
| X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | +-----|-|---|-------+ | | | | | | | | | | | | +---+ | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-|-----------------|-------------------|-|-------|---|A|-|---+ | | | +---|-----------|-|---|---|---------------|---|---|-------|-|-+ | | | | | | | | | | | +-+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +---------------------|---------------------|-------|-|---+ | | | | | | | | | | +---------------|-+ | +---|-|---|-----|-----|-----|-----|-+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +-----|-----|-----------------------------|---------------|-----|-----|-------------|---|-----------------------|---|-------|---|---+ | +---+ +---|---|-|---+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +-----------|-------------|-+ +-+ +-|-|-------+ | | | | | | | | | | | | | | | +---|-----|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-|---------|-------|-------------------------------|-|-----------------------|-----|-----------|-|---|---|-----------------------|-------|-------|-----+ +-----+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | +-----|-|-------|---------|-----|---------|---------------|-----+ | | | | | | | | +---|-+ | | | | | | | | +-------|-+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +---------|---|---------------------|---|-------------------------+ | | | | | +-----------------|---|---|---|-+ | +-|---+ | +-+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | +-|-----------|-----------------|---------------------------|---|---|-+ +---|-|-|-+ +---+ | +-------|---|---|-+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +-+ +-----|---|---------------|---------|---------------|-----+ +-----------+ +-------|-----------------------|---+ | | | | | +---+ | | | +---|---+ | |
| | | W | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-------|---|---|---------|-|-----------|-------------------|-------|-----------------|-----|-----------------------|---|-|-----------------|-------------|---|---|-------------|---+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-----------------|-|---|-------|-------------+ | | | | | | | | | +-----|-----------------|-|------R|---|---+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-------------|---------+ | | | +---|---------------|-------|-+ +-----------------------------|-----+ | | +-+ | | | | | +---+ | +-|-+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
+-+ +-----------------------------------------------|-----|-----------------+ | | +-+ | | | +-+ | | | +-----------------|-------------+
| | | | | | | | | | | | | | | | | | | | | | | |
+-----------------------------|-------|-------|---------------------------------------|-------|-----------------------|-----|-----------|-----|-----------------|-----|---------------+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | |
| +---|-----------|-----------------------|---------------|-------|-----------------------|-----------------------------|-------------|-|-|---------------|-+ | | |
| | | | | | | | | | | | | | | | | | | | | |
| | | | +-----|-|---------------+ | +-----------------------------|-----------|-|-|-----------------|-------------+
| | | | | | | | | | | | | | | | | |
| | | +---------------------+ +-----------------------|-----------------------------|-----------------|---------------------|-----------------|-------+
| | | | | | | | | | | | | |
+---------------+ +-------------------------------------------------------+ +-----------+ +-----+ +-+ +-+ +-----+