Author SKopp at German Wikipedia (Wikimedia Commons)

Code Snippet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env stack
{- stack
   --resolver lts-12.0
   --install-ghc
   script
   --ghc-options -Werror
   --ghc-options -Wall
   --
-}

--------------------------------------------------------------------------------

module Main (main) where

--------------------------------------------------------------------------------

primes :: Integer -> [ Integer ]
primes u =
  aux $ 2 : [ 3, 5 .. u ]
  where
    aux [    ] = [                                          ]
    aux (x:xs) = x : (aux $ filter (\y -> 0 /= y `mod` x) xs)

pprint :: Integer -> Integer -> [Integer] -> [Char]
pprint _ _ [    ] = []
pprint s i (x:xs) =
  (if (i `mod` s == 0) then ' ' else y) : pprint s (i + 1) ys
  where
    (y,ys) =
      if i == x
      then ('■',   xs)
      else ('□', x:xs)

chunksOf :: Int -> [a] -> [[a]]
chunksOf _ [] = [                 ]
chunksOf n xs = y : (chunksOf n ys)
  where
    (y,ys) = splitAt n xs

--------------------------------------------------------------------------------

main :: IO ()
main =
  mapM_ putStrLn $ chunksOf 80 $ pprint 10 1 $ primes 17530

Code Output:

□■■□■□■□□ ■□■□□□■□■ □□■□□□□□■ ■□□□□□■□□ ■□■□□□■□□ □□■□□□□□■ ■□□□□□■□□ ■□■□□□□□■ 
□□■□□□□□■ □□□□□□■□□ ■□■□□□■□■ □□■□□□□□□ □□□□□□■□□ ■□□□□□■□■ □□□□□□□□■ ■□□□□□■□□ 
□□■□□□■□□ □□■□□□□□■ ■□□□□□□□□ ■□■□□□■□■ □□□□□□□□□ ■□□□□□□□□ □□■□□□■□■ □□■□□□□□■ 
■□□□□□□□□ ■□□□□□■□□ □□■□□□□□■ ■□□□□□■□□ ■□■□□□□□□ □□■□□□□□□ □□□□□□■□□ ■□■□□□■□□ 
□□□□□□□□□ ■□□□□□■□□ □□□□□□■□■ □□■□□□□□■ □□□□□□■□□ □□■□□□□□■ □□■□□□□□■ □□□□□□■□□ 
■□□□□□□□■ □□□□□□□□■ ■□□□□□□□□ ■□■□□□□□■ □□■□□□□□■ □□□□□□■□□ ■□■□□□■□□ □□□□□□□□■ 
□□□□□□■□□ ■□□□□□□□■ □□■□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□■□□ 
□□■□□□□□■ ■□□□□□■□□ □□□□□□■□□ □□■□□□□□■ ■□□□□□■□□ □□■□□□■□■ □□□□□□□□□ ■□□□□□□□□ 
■□■□□□■□□ □□■□□□□□■ ■□□□□□□□□ □□■□□□■□□ □□■□□□□□□ ■□□□□□□□□ ■□□□□□□□■ □□□□□□□□■ 
□□□□□□■□□ □□■□□□□□■ □□■□□□□□□ ■□□□□□■□□ ■□□□□□□□■ □□■□□□□□□ □□□□□□■□□ □□□□□□■□□ 
□□□□□□□□■ ■□□□□□□□□ ■□■□□□■□■ □□□□□□□□■ □□□□□□□□□ □□■□□□■□■ □□■□□□□□□ □□□□□□■□□ 
■□■□□□■□□ □□□□□□□□□ □□□□□□■□□ ■□□□□□□□■ □□□□□□□□■ □□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ 
□□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ ■□□□□□■□□ □□□□□□□□■ □□■□□□□□■ ■□□□□□□□□ ■□■□□□□□■ 
□□□□□□□□■ ■□□□□□□□□ ■□■□□□□□■ □□□□□□□□□ □□□□□□■□□ ■□■□□□■□□ □□■□□□□□■ □□□□□□■□□ 
□□■□□□□□■ □□□□□□□□□ □□□□□□□□□ ■□■□□□□□□ □□■□□□□□□ ■□□□□□□□□ ■□□□□□■□□ □□■□□□□□□ 
■□□□□□□□□ □□■□□□■□□ □□■□□□□□■ ■□□□□□■□□ □□□□□□□□■ □□□□□□□□■ □□□□□□□□□ □□□□□□■□■ 
□□■□□□□□■ ■□□□□□■□□ ■□■□□□■□□ □□□□□□□□■ ■□□□□□■□□ □□□□□□□□□ □□□□□□□□□ □□□□□□□□□ 
■□□□□□■□□ □□■□□□□□□ ■□□□□□□□□ □□□□□□□□■ □□□□□□□□■ □□□□□□□□□ □□■□□□■□■ □□■□□□□□■ 
□□□□□□■□□ ■□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ ■□■□□□■□■ □□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ 
□□■□□□□□□ ■□□□□□□□□ □□■□□□□□■ □□■□□□□□■ □□□□□□■□□ ■□□□□□□□■ □□■□□□□□□ □□□□□□■□□ 
■□□□□□■□■ □□■□□□□□■ ■□□□□□■□□ □□□□□□■□□ □□□□□□□□□ □□□□□□■□□ □□■□□□■□■ □□□□□□□□□ 
□□□□□□□□□ □□■□□□■□■ □□□□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□■□□□□□□ ■□□□□□■□□ □□■□□□□□■ 
□□□□□□□□□ □□□□□□■□□ □□■□□□■□■ □□□□□□□□□ ■□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ ■□□□□□□□□ 
□□□□□□■□□ □□□□□□□□□ ■□□□□□■□□ ■□■□□□■□■ □□□□□□□□■ □□□□□□□□□ ■□□□□□■□□ □□■□□□□□□ 
□□□□□□□□□ ■□■□□□□□□ □□□□□□□□■ ■□□□□□□□□ □□□□□□□□□ □□■□□□□□■ □□□□□□■□□ □□■□□□■□■ 
□□■□□□□□□ ■□□□□□■□□ □□□□□□■□■ □□□□□□□□■ □□□□□□□□□ □□■□□□□□□ □□■□□□□□■ □□□□□□□□□ 
■□■□□□■□■ □□□□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□■ ■□□□□□■□□ ■□■□□□□□□ □□■□□□□□□ 
■□□□□□□□□ □□□□□□□□■ □□□□□□□□□ □□□□□□□□□ □□■□□□■□□ □□■□□□□□□ ■□□□□□□□□ □□□□□□■□■ 
□□■□□□□□□ ■□□□□□□□□ □□□□□□■□■ □□■□□□□□□ ■□□□□□■□□ □□■□□□■□□ □□□□□□□□■ ■□□□□□□□□ 
□□□□□□□□□ □□■□□□□□■ ■□□□□□■□□ ■□□□□□■□□ □□□□□□□□□ ■□□□□□■□□ ■□■□□□□□■ □□■□□□□□■ 
□□□□□□□□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□■□□ ■□□□□□■□□ □□□□□□□□■ □□□□□□■□□ □□■□□□■□□ 
□□□□□□□□□ □□□□□□□□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□□ ■□□□□□□□■ □□■□□□□□■ ■□□□□□■□□ 
□□□□□□□□□ □□□□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□■ □□□□□□■□□ ■□□□□□□□□ □□■□□□□□□ 
□□□□□□■□□ □□□□□□■□■ □□■□□□□□□ ■□□□□□■□□ □□■□□□■□■ □□■□□□□□■ □□□□□□■□□ ■□■□□□□□■ 
□□□□□□□□■ ■□□□□□□□□ ■□□□□□□□■ □□■□□□□□□ □□□□□□■□□ □□□□□□■□□ □□□□□□□□■ ■□□□□□■□□ 
■□■□□□□□□ □□□□□□□□■ □□□□□□□□□ □□■□□□■□□ □□■□□□□□□ ■□□□□□■□□ ■□□□□□□□□ □□□□□□□□■ 
□□□□□□■□□ □□□□□□■□□ □□■□□□□□■ □□□□□□■□□ □□□□□□■□□ □□□□□□□□■ □□□□□□□□□ □□■□□□■□□ 
□□■□□□□□■ ■□□□□□□□□ □□□□□□□□□ □□□□□□□□■ ■□□□□□□□□ ■□□□□□□□■ □□■□□□□□□ □□□□□□■□□ 
■□□□□□□□■ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□■ □□■□□□□□■ □□□□□□□□□ □□□□□□□□■ □□□□□□□□■ 
■□□□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□□□□ □□■□□□■□■ □□□□□□□□□ ■□□□□□■□□ ■□□□□□□□□ 
□□■□□□□□■ □□□□□□■□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□□□□ ■□■□□□■□■ □□□□□□□□□ ■□□□□□□□□ 
□□□□□□□□□ □□□□□□□□■ ■□□□□□■□□ □□■□□□□□■ □□■□□□□□■ ■□□□□□□□□ □□■□□□■□□ □□□□□□□□■ 
■□□□□□□□□ ■□■□□□□□□ □□□□□□□□■ ■□□□□□□□□ □□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□■□□□□□□ 
□□□□□□□□■ □□□□□□■□□ ■□■□□□■□■ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□■ □□□□□□□□□ ■□□□□□■□□ 
□□□□□□■□■ □□■□□□□□■ ■□□□□□■□□ □□□□□□■□■ □□□□□□□□□ ■□□□□□□□□ ■□■□□□□□□ □□■□□□□□□ 
□□□□□□■□□ □□■□□□■□□ □□■□□□□□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□□□■ □□□□□□□□□ ■□■□□□■□□ 
□□□□□□□□□ ■□□□□□■□□ ■□□□□□□□■ □□□□□□□□■ □□□□□□■□□ □□■□□□□□■ □□□□□□□□□ □□□□□□□□□ 
■□□□□□■□■ □□□□□□□□■ □□□□□□□□□ □□■□□□■□□ □□■□□□□□□ □□□□□□□□□ ■□■□□□□□□ □□■□□□□□□ 
□□□□□□■□□ ■□■□□□□□□ □□■□□□□□□ □□□□□□■□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□■□□ ■□□□□□■□■ 
□□■□□□□□■ ■□□□□□□□□ □□■□□□■□□ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□□□■ □□□□□□□□□ 
■□■□□□■□□ □□■□□□□□■ ■□□□□□■□□ □□□□□□□□□ □□□□□□□□■ ■□□□□□■□□ □□□□□□□□□ □□■□□□□□■ 
□□□□□□□□□ ■□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□□□□□■□■ □□■□□□□□■ □□□□□□□□□ □□■□□□■□■ 
□□□□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□□ ■□□□□□■□■ □□□□□□□□■ ■□□□□□□□□ 
■□■□□□□□□ □□■□□□□□■ ■□□□□□□□□ ■□■□□□□□□ □□■□□□□□■ □□□□□□■□□ □□□□□□□□□ □□□□□□□□□ 
□□□□□□■□□ □□□□□□■□■ □□□□□□□□■ □□□□□□■□□ □□■□□□□□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□■□□ 
□□□□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□□ ■□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ 
■□■□□□□□□ □□■□□□□□□ □□□□□□■□□ □□■□□□■□■ □□■□□□□□□ □□□□□□□□□ □□□□□□■□■ □□□□□□□□□ 
■□□□□□■□□ □□□□□□□□□ □□■□□□□□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□□ □□□□□□■□■ 
□□■□□□□□■ ■□□□□□■□□ □□■□□□□□□ □□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ 
■□■□□□□□■ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□□□□ □□■□□□■□■ □□■□□□□□■ 
■□□□□□□□□ □□■□□□■□□ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□□ ■□□□□□■□□ 
□□□□□□□□■ □□□□□□□□□ □□■□□□□□■ □□□□□□□□■ □□□□□□□□□ ■□■□□□■□□ □□■□□□□□□ ■□□□□□■□□ 
□□□□□□■□■ □□■□□□□□□ □□□□□□■□□ □□■□□□□□■ □□■□□□□□■ ■□□□□□□□□ ■□■□□□□□□ □□□□□□□□■ 
□□□□□□□□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□■□□ ■□□□□□■□□ □□□□□□□□■ ■□□□□□■□□ □□■□□□□□■ 
□□□□□□□□□ □□□□□□□□□ □□□□□□■□□ □□■□□□□□□ □□□□□□■□□ ■□□□□□□□■ □□□□□□□□■ □□□□□□■□□ 
□□□□□□□□■ □□□□□□□□□ □□□□□□■□□ ■□■□□□■□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□■ 
■□□□□□□□□ □□□□□□■□□ □□■□□□□□■ □□□□□□□□□ □□■□□□□□□ □□■□□□□□□ □□□□□□■□□ ■□□□□□□□□ 
□□□□□□□□□ □□□□□□□□□ ■□□□□□■□□ □□■□□□□□■ □□□□□□■□□ □□■□□□■□■ □□□□□□□□□ ■□□□□□■□□ 
■□■□□□□□■ □□□□□□□□□ □□□□□□□□□ ■□□□□□■□■ □□■□□□□□□ □□□□□□□□□ ■□■□□□■□□ □□□□□□□□■ 
■□□□□□■□□ ■□□□□□□□□ □□□□□□□□□ □□□□□□■□□ □□■□□□□□■ □□■□□□□□□ ■□□□□□□□□ ■□□□□□□□□ 
□□□□□□□□□ □□□□□□□□□ □□■□□□□□□ □□□□□□□□■ ■□□□□□■□□ ■□■□□□■□■ □□□□□□□□■ □□□□□□□□□ 
□□■□□□□□■ □□■□□□□□□ ■□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ □□□□□□■□□ ■□■□□□□□■ □□□□□□□□□ 
□□□□□□□□□ □□□□□□□□■ □□■□□□□□□ ■□□□□□□□□ ■□□□□□■□□ □□■□□□□□□ ■□□□□□■□□ □□□□□□□□■ 
□□■□□□□□■ ■□□□□□■□□ ■□□□□□■□■ □□□□□□□□■ ■□□□□□□□□ □□□□□□■□□ □□■□□□□□□ □□□□□□□□□ 
□□■□□□■□□ □□□□□□□□■ □□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ 
□□□□□□■□□ ■□□□□□□□□ □□□□□□□□■ □□□□□□■□□ □□■□□□■□□ □□■□□□□□□ □□□□□□■□□ □□■□□□□□■ 
□□□□□□□□■ ■□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ ■□□□□□□□□ ■□■□□□□□□ □□■□□□□□□ ■□□□□□□□□ 
□□■□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□■□■ □□■□□□□□□ ■□□□□□■□□ ■□□□□□□□■ □□□□□□□□□ 
□□□□□□■□□ □□□□□□■□□ □□■□□□□□■ ■□□□□□■□□ □□□□□□■□□ □□□□□□□□■ ■□□□□□□□□ ■□□□□□■□□ 
□□■□□□□□■ □□□□□□■□□ □□■□□□□□□ □□■□□□□□■ ■□□□□□■□□ □□■□□□□□■ □□□□□□□□■ □□□□□□■□□ 
□□□□□□□□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ □□□□□□□□■ ■□□□□□□□□ □□□□□□□□■ □□■□□□□□□ 
■□□□□□□□□ ■□□□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□■□□ ■□■□□□□□□ 
□□■□□□□□■ ■□□□□□■□□ ■□□□□□□□□ □□□□□□□□■ □□□□□□■□□ □□□□□□□□■ □□□□□□□□□ □□□□□□■□□ 
□□□□□□□□□ □□■□□□□□■ ■□□□□□□□□ □□■□□□□□■ □□□□□□□□■ ■□□□□□□□□ ■□■□□□□□■ □□□□□□□□■ 
□□□□□□□□□ □□■□□□■□□ □□□□□□□□□ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□■ ■□□□□□□□□ ■□■□□□□□□ 
□□■□□□□□□ □□□□□□□□□ □□■□□□■□■ □□■□□□□□□ ■□□□□□□□□ □□□□□□■□□ □□■□□□□□■ ■□□□□□□□□ 
□□■□□□□□□ □□□□□□□□■ □□□□□□■□□ ■□□□□□■□□ □□□□□□□□□ □□□□□□□□□ □□□□□□■□■ □□□□□□□□■ 
■□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ ■□□□□□■□□ ■□□□□□□□□ □□■□□□□□■ □□□□□□■□□ □□□□□□□□■ 
□□■□□□□□□ □□□□□□■□□ □□□□□□□□■ □□□□□□□□■ □□□□□□□□□ □□□□□□□□□ □□■□□□□□■ □□□□□□□□□ 
■□□□□□■□■ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□■□□ □□□□□□■□□ □□■□□□□□□ 
□□□□□□■□□ ■□■□□□□□■ □□□□□□□□■ □□□□□□■□□ □□■□□□■□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ 
□□■□□□□□□ □□□□□□■□□ □□□□□□■□■ □□□□□□□□□ ■□□□□□□□□ ■□■□□□□□□ □□□□□□□□■ ■□□□□□□□□ 
□□□□□□□□■ □□□□□□□□□ □□□□□□□□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ □□■□□□□□□ 
□□□□□□□□□ ■□□□□□■□■ □□□□□□□□□ □□□□□□■□□ ■□□□□□■□■ □□□□□□□□■ □□□□□□■□□ □□□□□□■□□ 
□□■□□□□□■ □□□□□□■□□ ■□□□□□■□■ □□□□□□□□■ ■□□□□□□□□ □□■□□□■□□ □□■□□□□□■ ■□□□□□□□□ 
□□■□□□■□□ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□■ □□■□□□□□■ □□□□□□□□□ □□□□□□□□■ □□■□□□□□□ 
■□□□□□■□□ ■□□□□□□□■ □□■□□□□□□ □□□□□□■□□ □□■□□□■□□ □□□□□□□□□ ■□□□□□□□□ □□■□□□■□■ 
□□□□□□□□□ □□□□□□□□□ □□□□□□□□■ □□■□□□□□□ □□□□□□□□□ □□□□□□■□□ □□■□□□□□■ □□□□□□□□□ 
■□□□□□□□□ □□■□□□□□□ □□□□□□■□□ □□■□□□■□■ □□■□□□□□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□■ 
□□□□□□■□□ □□■□□□■□□ □□□□□□□□■ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ □□■□□□□□□ 
□□□□□□□□■ ■□□□□□■□□ □□□□□□□□□ □□□□□□□□■ □□□□□□□□□ □□■□□□□□■ □□□□□□□□■ □□□□□□□□□ 
■□□□□□■□■ □□■□□□□□□ ■□□□□□□□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ 
■□□□□□■□□ ■□□□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□■ □□□□□□□□■ ■□□□□□□□□ ■□■□□□■□□ 
□□■□□□□□□ □□□□□□□□□ □□■□□□□□■ □□■□□□□□□ □□□□□□■□□ ■□■□□□■□□ □□□□□□□□□ ■□□□□□■□□ 
□□□□□□□□■ □□□□□□□□□ □□□□□□□□□ □□■□□□□□□ □□■□□□□□■ □□□□□□■□□ □□□□□□■□■ □□□□□□□□□ 
□□□□□□□□□ □□□□□□□□■ □□■□□□□□■ ■□□□□□□□□ □□■□□□■□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ 
□□□□□□□□□ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ ■□□□□□■□□ □□□□□□■□■ □□■□□□□□□ □□□□□□□□□ 
□□■□□□□□□ □□■□□□□□□ ■□□□□□□□□ □□□□□□■□■ □□□□□□□□■ □□□□□□□□□ □□■□□□■□■ □□□□□□□□□ 
■□□□□□■□□ □□□□□□□□□ □□■□□□□□■ □□□□□□■□□ ■□□□□□□□■ □□■□□□□□■ □□□□□□■□□ □□■□□□□□■ 
□□□□□□□□□ ■□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ ■□□□□□□□□ □□□□□□□□■ □□■□□□□□□ □□□□□□□□□ 
□□■□□□■□□ □□□□□□□□■ ■□□□□□□□□ ■□□□□□■□■ □□□□□□□□■ □□□□□□□□□ ■□■□□□■□□ □□□□□□□□□ 
□□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ □□■□□□□□■ □□■□□□□□□ ■□□□□□□□□ ■□□□□□□□□ 
□□■□□□□□■ ■□□□□□□□□ □□□□□□□□□ □□□□□□□□■ ■□□□□□■□□ ■□■□□□□□□ □□□□□□□□■ □□□□□□□□□ 
■□■□□□□□■ □□□□□□□□■ □□□□□□■□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□■ □□□□□□□□□ 
□□□□□□■□□ □□■□□□■□□ □□□□□□□□□ ■□□□□□■□□ ■□□□□□□□□ □□■□□□□□□ ■□□□□□■□□ □□□□□□□□■ 
□□■□□□□□■ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□■ ■□□□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□■□□ 
■□■□□□□□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□■ □□■□□□□□□ □□□□□□■□□ ■□■□□□□□■ □□□□□□□□□ 
□□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ ■□□□□□■□□ □□■□□□□□□ □□■□□□□□■ ■□□□□□□□□ ■□■□□□■□■ 
□□□□□□□□□ □□□□□□□□□ ■□■□□□■□□ □□■□□□□□■ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ ■□□□□□□□□ 
■□□□□□□□□ □□■□□□□□■ □□□□□□■□□ ■□□□□□□□□ □□□□□□□□□ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ 
■□□□□□□□□ □□■□□□□□■ □□■□□□□□■ ■□□□□□□□□ □□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□□□□□■□■ 
□□□□□□□□■ □□□□□□■□□ □□□□□□□□□ □□□□□□□□■ ■□□□□□□□□ □□■□□□□□■ □□■□□□□□■ □□□□□□□□□ 
□□□□□□■□■ □□□□□□□□□ ■□□□□□■□□ ■□□□□□□□□ □□■□□□□□□ ■□□□□□■□□ □□□□□□□□■ □□■□□□□□■ 
□□□□□□□□□ ■□□□□□■□■ □□□□□□□□□ ■□□□□□□□□ □□■□□□■□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ 
□□■□□□□□■ ■□□□□□□□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ 
□□□□□□■□■ □□□□□□□□□ □□□□□□□□□ □□□□□□■□■ □□□□□□□□□ □□□□□□□□□ ■□□□□□■□■ □□□□□□□□■ 
□□□□□□□□□ ■□■□□□□□■ □□■□□□□□□ ■□□□□□□□□ □□□□□□□□□ □□■□□□□□■ ■□□□□□□□□ ■□□□□□□□■ 
□□■□□□□□■ □□□□□□■□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ 
□□■□□□■□□ □□■□□□□□■ □□□□□□■□□ ■□■□□□□□□ □□□□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□■□□□□□□ 
■□□□□□□□□ ■□■□□□■□□ □□■□□□□□□ □□□□□□■□□ □□□□□□□□■ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□■ 
□□□□□□□□□ □□□□□□□□□ □□□□□□■□■ □□■□□□□□□ □□□□□□□□□ □□■□□□■□■ □□■□□□□□□ □□□□□□■□□ 
□□□□□□■□□ □□□□□□□□■ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□■ ■□□□□□□□□ □□□□□□□□□ □□□□□□□□■ 
□□□□□□■□□ □□□□□□□□□ □□□□□□□□■ □□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□■□□ ■□□□□□□□■ 
□□□□□□□□□ ■□□□□□■□□ □□■□□□■□□ □□□□□□□□□ □□□□□□■□□ ■□□□□□□□□ □□□□□□□□■ ■□□□□□□□□ 
□□■□□□□□■ □□■□□□□□■ □□□□□□□□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□□ ■□□□□□□□■ □□□□□□□□■ 
□□□□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□■□□ □□■□□□□□■ ■□□□□□■□□ □□□□□□□□□ 
□□■□□□□□■ ■□□□□□□□□ □□■□□□□□■ □□□□□□□□□ □□□□□□□□□ □□□□□□■□■ □□□□□□□□■ □□□□□□■□□ 
□□□□□□□□□ □□■□□□□□■ □□□□□□■□□ □□■□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ 
□□□□□□■□□ □□□□□□■□■ □□□□□□□□■ ■□□□□□□□□ □□■□□□■□□ □□■□□□□□□ □□□□□□□□□ □□■□□□■□■ 
□□□□□□□□□ ■□□□□□□□□ □□□□□□□□■ □□□□□□□□■ ■□□□□□□□□ ■□■□□□■□□ □□□□□□□□□ □□□□□□■□□ 
□□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□■ □□■□□□□□□ ■□□□□□■□□ ■□□□□□□□□ □□■□□□□□■ 
□□□□□□■□□ □□□□□□□□■ □□□□□□□□□ ■□□□□□■□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□□□□ ■□■□□□□□□ 
□□□□□□□□■ □□□□□□□□□ □□■□□□□□□ □□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□■□□ 
□□■□□□■□□ □□□□□□□□□ □□□□□□■□□ ■□□□□□□□□ □□■□□□□□■ ■□□□□□■□□ □□■□□□□□□ □□□□□□□□■ 
□□□□□□■□□ □□□□□□□□□ □□□□□□□□■ ■□□□□□□□□ □□□□□□□□□ □□□□□□□□■ □□□□□□■□□ □□■□□□■□□ 
□□□□□□□□□ □□□□□□■□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□■□□ 
■□□□□□□□■ □□□□□□□□■ ■□□□□□□□□ □□□□□□■□■ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ 
□□□□□□□□□ □□□□□□■□■ □□■□□□□□■ □□□□□□□□□ ■□□□□□■□□ □□■□□□□□□ ■□□□□□■□□ ■□■□□□□□■ 
□□□□□□□□□ □□□□□□□□□ □□■□□□■□□ □□□□□□□□□ □□□□□□■□□ □□□□□□■□□ □□■□□□□□■ □□□□□□□□□ 
□□■□□□■□□ □□■□□□□□■ ■□□□□□□□□ □□■□□□□□■ □□□□□□□□■ ■□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ 
□□□□□□■□□ ■□□□□□□□□ □□□□□□□□□ □□□□□□■□□ ■□■□□□□□■ □□□□□□□□□ □□□□□□□□□ ■□■□□□□□□ 
□□□□□□□□□ □□□□□□■□□ ■□□□□□■□■ □□■□□□□□■ □□□□□□□□□ □□□□□□□□□ □□■□□□□□■ □□□□□□■□□ 
■□■□□□□□□ □□□□□□□□□ □□□□□□□□□ □□□□□□■□□ □□■□□□□□□ ■□□□□□□□□ □□□□□□■□□ □□□□□□□□■ 
■□□□□□□□□ ■□■□□□□□□ □□■□□□□□■ □□□□□□■□□ ■□□□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□□ 
□□■□□□□□■ □□□□□□□□□ □□■□□□■□□ □□□□□□□□□ □□□□□□□□□ □□■□□□■□■ □□□□□□□□□ ■□□□□□□□□ 
■□□□□□□□■ □□■□□□□□□ ■□□□□□□□□ □□■□□□■□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ □□■□□□□□■ 
□□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ ■□□□□□■□□ □□□□□□■□□ □□□□□□□□■ ■□□□□□■□□ □□■□□□□□□ 
□□□□□□□□■ □□□□□□■□□ □□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ ■□■□□□□□■ □□□□□□□□□ □□□□□□■□□ 
■□□□□□■□□ □□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□■ □□□□□□■□□ □□■□□□□□□ □□■□□□□□□ 
■□□□□□□□□ □□□□□□□□■ □□■□□□□□□ □□□□□□■□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□□ ■□□□□□□□■ 
□□□□□□□□■ □□□□□□□□□ ■□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ 
□□□□□□□□■ □□■□□□□□■ □□□□□□■□□ ■□□□□□■□■ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□■ 
□□□□□□■□□ □□■□□□□□■ □□■□□□□□□ □□□□□□□□□ ■□■□□□■□■ □□□□□□□□□ □□□□□□□□□ □□■□□□■□□ 
□□■□□□□□■ □□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ □□■□□□□□■ □□■□□□□□■ □□□□□□□□□ 
■□□□□□■□□ □□□□□□□□□ □□□□□□■□□ ■□□□□□□□■ □□■□□□□□□ ■□□□□□■□□ □□■□□□■□□ □□□□□□□□□ 
□□□□□□□□□ □□□□□□■□■ □□□□□□□□■ □□□□□□□□□ ■□□□□□□□■ □□□□□□□□■ □□□□□□■□□ □□□□□□□□□ 
□□□□□□□□□ ■□□□□□■□□ □□□□□□□□■ □□■□□□□□□ □□□□□□■□□ ■□□□□□■□■ □□□□□□□□□ □□□□□□□□□ 
□□□□□□■□□ □□□□□□□□□ ■□□□□□□□□ □□□□□□■□■ □□□□□□□□□ ■□□□□□■□□ ■□□□□□□□□ □□□□□□□□□ 
■□□□□□□□□ ■□□□□□■□□ □□■□□□□□■ □□□□□□■□□ □□□□□□■□□ □□□□□□□□■ □□□□□□□□□ □□■□□□□□□ 
□□■□□□□□□ □□□□□□■□□ □□□□□□□□□ □□■□□□□□□ □□□□□□■□□ □□□□□□■□□ □□□□□□□□□ ■□□□□□■□□ 
□□□□□□□□□ □□■□□□□□■ □□□□□□■□□ □□■□□□□□□ □□□□□□□□■ □□□□□□□□□ □□□□□□□□■ □□□□□□□□■ 
■□□□□□■□□ ■□■□□□■□□ □□□□□□□□■ ■□□□□□□□□ ■□■□□□□□■ □□□□□□□□□ □□□□□□□□□ ■□□□□□■□■ 
□□■□□□□□□ □□□□□□□□□ ■□□□□□□□■ □□□□□□□□■ □□□□□□■□□ □□□□□□□□□ □□□□□□□□■ ■□□□□□□□□ 
■□□□□□□□□ □□□□□□□□■ □□□□□□□□□ □□■□□□■□■ □□■□□□□□□ □□□□□□□□□ ■□■□□□■□□ □□■□□□□□□ 
■□□□□□□□□ ■□■□□□□□□ □□□□□□□□□ □□□□□□□□□ □□■□□□■□□ □□□□□□□□□ □□□□□□□□□ □□□□□□■□■ 
□□□□□□□□■ ■□□□□□□□□ □□□□□□□□■ □□■□□□□□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ ■□□□□□□□□ 
■□■□□□■□□ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□□□□ □□□□□□□□□ □□■□□□□□■ □□■□□□□□■ 
□□□□□□□□□ □□■□□□■□□ □□□□□□□□□ □□□□□□■□□ □□□□□□■□□ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□□ 
□□■□□□□□■ ■□□□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ □□■□□□□□□ □□□□□□□□□ 
■□■□□□■□□ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ □□□□□□□□■ □□□□□□□□□ □□□□□□■□■ □□□□□□□□□ 
■□□□□□■□□ ■□□□□□□□■ □□■□□□□□□ ■□□□□□■□□ □□□□□□■□■ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□■ 
□□□□□□□□■ □□□□□□□□□ □□■□□□□□□ □□□□□□□□■ □□□□□□□□□ □□■□□□■□□ □□■□□□□□■ ■□□□□□■□□ 
■□■□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□■□■ □□■□□□□□■ 
□□□□□□□□□ □□■□□□■□□ □□□□□□□□■ □□□□□□□□□ □□■□□□□□□ □□□□□□□□■ □□□□□□□□□ □□■□□□■□□ 
□□■□□□□□□ ■□□□□□■□□ ■□□□□□■□□ □□■□□□□□■ □□□□□□■□□ ■□□□□□□□■ □□■□□□□□□ □□□□□□■□□ 
□□□□□□□□□ □□■□□□□□□ ■□□□□□■□□ ■□□□□□□□□ □□■□□□□□□ ■□□□□□□□□ □□□□□□■□■ □□□□□□□□■ 
□□□□□□■□□ ■□□□□□■□□ □□□□□□□□□ □□□□□□□□□ □□■□□□□□■ □□□□□□□□■ □□□□□□■□□ ■□□□□□■□□ 
□□□□□□□□■ □□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ □□■□□□■□□ □□□□□□□□□ ■□□□□□□□□ 
□□□□□□□□□ □□■□□□□□□ ■□□□□□□□□ □□■□□□■□□ □□■□□□□□□ ■□□□□□□□□ ■□□□□□■□□ □□□□□□□□□ 
■□□□□□□□□ ■□□□□□■□■ □□□□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□■□□ □□■□□□□□■ 
□□□□□□□□□ □□□□□□■□□ □□□□□□■□□ □□■□□□□□□ ■□□□□□□□□ □□□□□□□□■ □□■□□□□□■ ■□□□□□■□□ 
□□□□□□■□■ □□□□□□□□■ □□□□□□■□□ □□■□□□□□■ □□□□□□□□■ ■□□□□□□□□ □□□□□□□□■ □□□□□□□□■ 
■□□□□□□□□ □□■□□□■□□ □□■□□□□□□ ■□□□□□□□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□■□□ □□□□□□□□■ 
□□■□□□□□□ ■□□□□□□□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□■□□□■□□ □□□□□□□□□ ■□□□□□□□□ 
□□□□□□■□□ □□□□□□□□□ ■□□□□□□□□ ■□□□□□□□■ □□□□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□□ 
■□□□□□■□□ □□□□□□□□■ □□□□□□□□■ □□□□□□□□□ ■□■□□□■□■ □□□□□□□□□ ■□□□□□■□□ ■□□□□□□□■ 
□□■□□□□□□ □□□□□□□□□ □□□□□□□□□ □□□□□□□□□ □□□□□□■□□ ■□■□□□■□■ □□□□□□□□■ □□□□□□□□□ 
■□□□□□■□□ □□■□□□□□□ □□□□□□■□□ ■□□□□□■□□ □□■□□□□□■ □□□□□□■□□ □□■□□□□□□ □□□□□□□□□ 
□□□□□□□□□ □□□□□□□□■ □□□□□□□□□ □□□□□□■□□ ■□□□□□■□■ □□□□□□□□□ ■□□□□□■□□ □□■□□□□□■ 
□□■□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□□ ■□□□□□□□□ 
■□□□□□■□□ □□□□□□□□□ □□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□■□□ ■□■□□□■□■ □□■□□□□□□ 
□□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ ■□□□□□□□□ □□□□□□■□□ □□□□□□□□■ ■□□□□□□□□ □□□□□□□□□ 
□□□□□□□□□ □□□□□□□□□ □□■□□□■□■ □□■□□□□□□ □□□□□□□□□ □□□□□□■□□ □□■□□□□□■ ■□□□□□□□□ 
□□□□□□□□■ □□■□□□□□□ □□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□■ 
□□□□□□□□□ □□■□□□□□■ □□□□□□□□■ □□□□□□□□□ ■□■□□□□□■ □□□□□□□□□ ■□□□□□□□□ □□□□□□□□□ 
□□□□□□□□□ ■□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□■□□ ■□■□□□□□□ □□□□□□□□□ □□□□□□■□□ 
■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□■ □□□□□□□□■ □□□□□□□□□ □□□□□□■□□ □□■□□□□□□ 
■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ □□■□□□■□□ □□□□□□□□■ □□□□□□□□□ ■□■□□□□□□ 
□□□□□□□□■ ■□□□□□■□□ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ ■□■□□□□□■ □□■□□□□□□ □□□□□□□□□ 
□□□□□□□□■ □□□□□□□□□ ■□□□□□■□□ □□□□□□□□■ □□■□□□□□□ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ 
□□□□□□□□□ ■□□□□□□□□ □□■□□□□□■ ■□□□□□□□□ □□■□□□□□□ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□■ 
□□■□□□□□■ □□□□□□□□□ ■□■□□□□□□ □□□□□□□□□ ■□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ 
□□■□□□□□□ □□□□□□□□■ ■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ ■□□□□□□□□ ■□□□□□■□■ □□■□□□□□□ 
■□□□□□■□□ □□■□□□□□□ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ □□■□□□□□■ □□□□□□■□□ □□□□□□■□□ 
□□■□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□□□■ □□□□□□■□□ □□□□□□□□□ □□■□□□□□■ ■□□□□□□□□ 
□□■□□□■□■ □□□□□□□□□ □□□□□□□□□ ■□□□□□□□■ □□□□□□□□□ □□□□□□■□□ □□□□□□□□□ □□□□□□□□□ 
□□□□□□□□□ ■□■□□□□□■ □□□□□□□□□ □□□□□□■□□ ■□□□□□■□□ □□■□□□□□□ ■□□□□□□□□ ■□□□□□□□■ 
□□□□□□□□□ □□□□□□■□□ □□■□□□■□■ □□■□□□□□□ ■□□□□□□□□ □□□□□□■□■ □□□□□□□□□ ■□□□□□□□□ 
□□■□□□□□■ □□□□□□□□□ □□□□□□■□□ ■□□□□□■□□ □□■□□□□□■ ■□□□□□■□□ □□□□□□□□■ □□□□□□□□■

References: