Browse Source

Day 11 (warning: takes time)

Petra Lamborn 3 years ago
parent
commit
4d62ac6d89
2 changed files with 181 additions and 0 deletions
  1. 83
    0
      11.R
  2. 98
    0
      input11.txt

+ 83
- 0
11.R View File

@@ -0,0 +1,83 @@
1
+library(stringr)
2
+input <- str_split(readLines("input11.txt"), "", simplify=TRUE)
3
+input <- ifelse(input == ".", 0, ifelse(input == "L", -1, 1))
4
+di <- dim(input)
5
+adj <- as.matrix(expand.grid(-1:1, -1:1))[c(1:4, 6:9), 1:2]
6
+getadj <- function(x, state) {
7
+    apply(adj, 1, function(a) {
8
+              n <- a + x
9
+              ifelse(any(n > di) || any(n < 1), 0, state[n[1], n[2]])
10
+    })
11
+}
12
+getnext <- function(state) {
13
+    t(sapply(1:nrow(state), function(x) {
14
+               sapply(1:ncol(state), function(y) {
15
+                          cv <- state[x, y]
16
+                          if (cv == 0) {
17
+                              return(0)
18
+                          }
19
+                          av <- getadj(c(x, y), state)
20
+                          if (cv == -1 && sum(av == 1) == 0) {
21
+                              return(1)
22
+                          }
23
+                          if (cv == 1 && sum(av == 1) >= 4) {
24
+                              return(-1)
25
+                          }
26
+                          return(cv)
27
+            })
28
+        }))
29
+}
30
+
31
+last <- 0
32
+cur <- input
33
+
34
+while (!identical(cur, last)) {
35
+    last <- cur
36
+    cur <- getnext(cur)
37
+    print(sum(cur == 1))
38
+}
39
+
40
+getadj2 <- function(x, state) {
41
+    apply(adj, 1, function(a) {
42
+              f <- 0
43
+              while (TRUE) {
44
+                  f <- f + 1
45
+                  n <- a*f + x
46
+                  if (any(n > di) || any(n < 1)) {
47
+                      return(0)
48
+                  }
49
+                  tv <- state[n[1], n[2]]
50
+                  if (tv != 0) {
51
+                      return(tv)
52
+                  }
53
+              }
54
+    })
55
+}
56
+
57
+getnext2 <- function(state) {
58
+    t(sapply(1:nrow(state), function(x) {
59
+               sapply(1:ncol(state), function(y) {
60
+                          cv <- state[x, y]
61
+                          if (cv == 0) {
62
+                              return(0)
63
+                          }
64
+                          av <- getadj2(c(x, y), state)
65
+                          if (cv == -1 && sum(av == 1) == 0) {
66
+                              return(1)
67
+                          }
68
+                          if (cv == 1 && sum(av == 1) >= 5) {
69
+                              return(-1)
70
+                          }
71
+                          return(cv)
72
+            })
73
+        }))
74
+}
75
+
76
+last <- 0
77
+cur <- input
78
+
79
+while (!identical(cur, last)) {
80
+    last <- cur
81
+    cur <- getnext2(cur)
82
+    print(sum(cur == 1))
83
+}

+ 98
- 0
input11.txt View File

@@ -0,0 +1,98 @@
1
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
2
+LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
3
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL
4
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLL.LLLLLLLLLLLL
5
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLL.LL.LLLLLLLLLL.LLLLLLLLLLLLLLLLLL
6
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL..LLLLLLL.LLLLLLLLL
7
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL
8
+LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
9
+LLLLL.L.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
10
+..LLL..L.L..LL...LL......L..LL..L..LL........L.....LLLL.L.L.L.........L.L..L.L.....L..L............
11
+LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
12
+LLLLLLL.LLLLLLLLLLLL.LLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
13
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
14
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
15
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL
16
+LLLLLLL.LLLLL.LLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
17
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL
18
+....L..LL...L.L.L.......LL....L.....L..L...L.L.L....LL.L..L...LL...L....L..L...L.............LL..LL
19
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLLLLL.L.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
20
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
21
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
22
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL
23
+LLLLL.L.LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLL..LLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
24
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
25
+LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
26
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
27
+LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLL.L.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLL
28
+..L...L.L....L........L.......L.L...L..L.LL.........L.......LLL.LL.L...LL....L..L.L.L.LL.....L.....
29
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
30
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
31
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
32
+LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLLLL.LLLLLLLLLLLLLLLL
33
+LLLLLLL..LLLLLLLL.LLLLLL.LLLLLLL.LLLL.L.LLLLLLL.LLLLL.LLLLLLL.LLLL.LL.L.LLLLLLLLLLLLLLLLL.LLLLLLLLL
34
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLL.L.L.LLLLL.LLLLLLLLL.LLLLLLLLL
35
+LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
36
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLL.LLLLLL.LLLLL..LLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
37
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
38
+L......L..L...L....L...L...L...L...L..LL...L......LL......LL......LLLL..L.....LL...L.LL..L....LL..L
39
+LLLLLLL.LLLLLLLLL.LLLLLL..LLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
40
+LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL
41
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLL.LLLLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
42
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
43
+LLLLLL.LLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLL.LLLL
44
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLL.LLL.LLLLL.LLLLLLL.LL.L.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
45
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.L.LLL.LLLLLLL.LLLL.LLLL..LLLLLLL.LLLLLLLLLLLLLLLLLL
46
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.L.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
47
+L....L...L....L...L.....L....L.LL..L..L.LL.L..L..LL...LL..L......L...L.LL...L.L.....L.L.LLL.LL.L.L.
48
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLL.LLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
49
+LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
50
+LLLLLLLLLLLLLLLLL.LLLLL..LLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL
51
+LLLLLLL.LLLLLLLLL.LLLLL..LLLLLLL.LLLLLLLLLLLLLL.LLLLL.LLLLLL..LLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
52
+........L........L......L...L...L.L.....L..L..LL.L..L.L.LLL.L..L..L.L.LL.L.LL......L...L..LLL....L.
53
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
54
+LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLLLL.LL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
55
+LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLL.L.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLL
56
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
57
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL..LLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL..LLLLLLLLLLLLLLLLL
58
+LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
59
+LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.L..LLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
60
+LLLLL.L.LLLL.LLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
61
+..LL..L......L.L.L...LL.L.LLL.L.....LLL..LL...L...L.L.LL....L.....L.LL..LLL...LL...L.....LLL.L..LL.
62
+LLLLLLL.LLLLLLL.L.LLLLLL.LLLLLLL..LLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
63
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LL.L.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
64
+LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
65
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLL..LLLLLLL.LLLLLLLLLLLLLLLLLL
66
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
67
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLL..LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
68
+..L..L.L....L.L..L.L.LL......LLL.L...L..L..L..........LL.......L...LL.L.L.L...L.......L........L...
69
+LLLLLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
70
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
71
+LLLLL.L.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLL.LLL.LLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
72
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLL.LLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLL.LLL.
73
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
74
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
75
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
76
+LLLLL.L.LLLLLLLLL.LLLLL..LLLLLLL.LLLL.LLLL.LLLL.LLLLL.LLLLLLL.LLLL.LLLL.LL.LLLLL.LLLLLLLL.LLLLLLLLL
77
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
78
+..L.......L..LL.L..L..LLLLL..L...L.L.L....L...L.LL.L.......L.....LL.........L.L......L.L..L.....L..
79
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLL.LLLLLLLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
80
+LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
81
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
82
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
83
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
84
+LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
85
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
86
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
87
+L...LL.L..LLLL.LLL.L....L......L.............LL.....L...LL.L...L.L......LL....L......L...LL.L.....L
88
+LLLLLLL.LLLLLLLLL.LLLLLL.L.LLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL
89
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
90
+LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL
91
+LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
92
+LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLL.LLLLLLL.L.LL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL
93
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLL.LLLLLL.LL.LLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL
94
+LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
95
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL
96
+LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
97
+LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL
98
+LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLL.LLLL.LLLLL.LLLLLLL.LLLL.L.LLLLLLLLLLL.LLLLLL.L.LLLLLLLLL