Add day 11

master
Peter Resch 5 years ago
parent a8ab1a177e
commit 0696e2f585

@ -8,6 +8,7 @@ import 'package:aoc2020/aoc20201207.dart';
import 'package:aoc2020/aoc20201208.dart';
import 'package:aoc2020/aoc20201209.dart';
import 'package:aoc2020/aoc20201210.dart';
import 'package:aoc2020/aoc20201211.dart';
import 'package:aoc2020/aocbase.dart';
import 'dart:mirrors';
@ -28,6 +29,7 @@ class aoc2020 {
AOC20201208(),
AOC20201209(),
AOC20201210(),
AOC20201211(),
];
static void list() async {

@ -1,20 +1,123 @@
import 'dart:io';
import 'package:aoc2020/aocbase.dart';
import 'package:aoc2020/model/point.dart';
import 'package:aoc2020/model/readdata.dart';
enum SeatType { floor, taken, vacant }
class AOC20201211 extends AOCBase {
var mylist = <String>[];
List<List<String>> room = [];
var width = 0;
var height = 0;
void init(bool test) async {
mylist = await ReadData.readFile<String>(classString, test: test);
height = mylist.length;
width = mylist.first.length;
room = List.generate(height, (val) => mylist[val].split(''));
}
void printRoom() {
print(' ');
for (var y = 0; y < height; y++) {
for (var x = 0; x < width; x++) {
stdout.write(room[y][x] + ' ');
}
print(' ');
}
print(' ');
}
List<Point> dirs = [Point(-1, -1), Point(-1, 0), Point(-1, 1), Point(1, -1), Point(1, 0), Point(1, 1), Point(0, -1), Point(0, 1)];
Point adjacent(List<List<String>> _room, Point seat, {bool sectionB = false}) {
var open = 0;
var occupied = 0;
// var _seat = '.';
if (sectionB == false) {
for (var y = seat.item1 - 1; y < seat.item1 + 2; y++) {
for (var x = seat.item2 - 1; x < seat.item2 + 2; x++) {
if (x == seat.item2 && y == seat.item1) continue;
if (x < 0 || x >= width || y < 0 || y >= height || _room[y][x] != '#') open++;
if (x >= 0 && x < width && y >= 0 && y < height && _room[y][x] == '#') occupied++;
}
}
} else {
for (var dir in dirs) {
var x = seat.item2;
var y = seat.item1;
var done = false;
do {
x += dir.item2;
y += dir.item1;
if (x < 0 || x >= width || y < 0 || y >= height) {
done = true;
open++;
} else {
if (room[y][x] != '.') {
done = true;
if (room[y][x] == '#') {
occupied++;
} else {
open++;
}
}
}
} while (!done);
}
}
return Point(open, occupied);
}
List<List<String>> cycle({bool sectionB = false}) {
var tollerance = sectionB ? 5 : 4;
var _tmpRoom = List<List<String>>.generate(height, (val) => List.generate(width, (_) => ' '));
for (var y = 0; y < height; y++) {
for (var x = 0; x < width; x++) {
var test = adjacent(room, Point(y, x), sectionB: sectionB);
_tmpRoom[y][x] = test.item1 == 8 && room[y][x] != '.' ? '#' : room[y][x];
_tmpRoom[y][x] = test.item2 >= tollerance && _tmpRoom[y][x] == '#' ? 'L' : _tmpRoom[y][x];
}
}
return _tmpRoom;
}
Point testDifferent(List<List<String>> room1, List<List<String>> room2) {
var occupied = 0;
for (var y = 0; y < height; y++) {
for (var x = 0; x < width; x++) {
if (room1[y][x] != room2[y][x]) return Point(true, 0);
occupied += room2[y][x] == '#' ? 1 : 0;
}
}
return Point(false, occupied);
}
@override
Future<void> a({bool test}) async {
await init(test);
// printRoom();
var diff = Point(true, 0);
do {
var _tmpRoom = cycle();
// printRoom();
diff = testDifferent(room, _tmpRoom);
room = _tmpRoom;
} while (diff.item1);
answerA = diff.item2;
}
@override
Future<void> b({bool test}) async {
await init(test);
var diff = Point(true, 0);
do {
var _tmpRoom = cycle(sectionB: true);
diff = testDifferent(room, _tmpRoom);
room = _tmpRoom;
// printRoom();
} while (diff.item1);
answerB = diff.item2;
}
}

@ -0,0 +1,93 @@
LLLLLLLLLLLL.LLLLLLL.LLLLLLL..LLLL.LLLLL.LLLLL.LLL..LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLL.L.LLL.LLLLL.LLLL..LLLL.LLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLL.LLLLLLL
LLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLL.L.LLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL..LLLLL.
L.LLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLL.LLLL.LLLLLLLL.LL.L.LLLLLLL.LLLL.LLLLLLLL.LLLLLLL
LLLLL..LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLL.LL.LLLL
LLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLL.LLLLLLL
LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LL.LLLLL.LLLL.LLLLLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLL
.L...LL.L.L.L....L..L......LL...L..L.L.LLL.....L...L..LLL.L.LL..LLL......L..L.LLLLL.....L..L...
LLLLL..LLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLL.LLLLLLLLLLLLLLLLLLLLL
LLL.LLLLLLLL..LLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLL.L.LLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLL
LLLLL.L.LLLL.LLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLLL.LLLL.LLLLLLLLLLLL..LLLLLLL.LLLLLLLLLL.LL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLL.LLLLLLL.LLL.LLLL.LLLLLLL
LLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLL...LLLLLL
LLL.LLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLL.LLLLLLLL
LLLLL.LLLLLLLLLLLLLLLL.LL.LL.LLLLL.LLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLL..LLLLLLLLLLLLL.LLLLL.L
L.LLLLLLLLLL.LLLLLLLLL.LLLLL.L.LLL.LLLLL.LLLLLLLLLL.LLLLLLLL.LLLL.LLLLL.L.LLLL.LLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LL.LL.LLLLL.LLLLL.LLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLL.LLLL.L.LLLLLL.LLLLLLL
L...L.LL..L.L.LL.LL.L.....L..L.L.......L.L.LL...L....L......L.L.L.L.L..L....LL......L......L...
LLLL..LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLL.L.LLLL.LLLL.LLLLL..LLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLL.LL.LL.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.
L..LL.LLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLLL.LL.L.LLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL..LLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLL.LLLLL.LLLLLLLLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLL.LLLLLLL
LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLL.LLLL.LLLLLLL.LLLLL.L.LLLLL.LLLLLLL
LL.LL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLL.LLL.LLL
...............L.L..LL.....L.L..L...LL.......LL....L......L...L....L...............LLL...L.LLL.
LLLLLLLLLLL..LLLLLL.LLLLLLLL.LLLLL.LLLLL.LLLLLLLLLL..LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.L.LLLLL
LL.LL.LLLLLL.LLLLLLLLL.LLLLL.LLLL..LLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLL.LLL.LLLLLLLLL.LLLLLLL
.LLLL.LLLLLLL.LLLLLLLL.LLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLL.LLLLLLLLLLLLLLL.LLL.LLLLLLLLLLLL.LLLLL.LLLLLLLLLL
LLLLL.L.LLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLL..LLLLLLLLLLLLLLLL
LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLLLLL
LLL.L.LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLL.LLLLLLL
....L..L..........L......L.LL..L.L..LL.......L.....LL..L..LL...L......L....L..L..L....L.......L
.L.LLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLL.LLLLLL.LLLLLLLLLL.LL.LLLLLLLLLL.L.LLLL.LLLLLLLL.LLLLLLL
LLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLLL
LLLLL.LLL.LL.LLL.LLLLL.LLLLLLLLLLL.LLLLL.LLLLL.LLLL.L.LLLLLLLLLL..LLLLLLLLLLLL.LLLLLLLL.LLLLLLL
LL.LL.LLLLLL.LLLL.LLLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.L.LLLLLLLL.LLLLLLLLLLLL.L.LL.LLLLLLLL.LLLLLLL
LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLL..LLLLLLL
.....L.L..LL.LLL.LL.L.L.....L..L.L......L......L.LL...L....LL..L.........L..L.....L.L....L..L..
LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLL.LLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLL
LLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLL..LLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLLLLLLLL.L.LLL.LLLLL.LL.LL.LLLL.L.LLLLL...LLL.LLL.LLLLLLLL.LLLLLLLL.LLLLLLL
LLLLL.L.LLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLL
LLLLL.LLLLL..LLLLLLLLL.L.LLL.LLL.L.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.
LLLLLLLLLLLL.LLLLLLLL..LLLLLLLLLLLLLLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLLL.LLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLL.LLLL.LLLLL.LLLLLLLLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLL
...L..LL.L......L....LLL....L.L.LL..L.L..L.LL..L..L.L......L...L.L..L..LL....L..L..LL...LL.....
L..LL.LLLLLL.LLLLLLLLLL.LL.L.LLLLL.L.LLL.LLLLLL.LLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLLL.LLLLLLLLLLLLL.LLLL..LL.LLLLLLLL.LLLLLLLL.LLLLLLL
LLLLLLLLLLLL.L.LLLLLLL.LLLLL.LLLLLLLLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLL.LLLLLLL
LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLLLLL.LLLLLLLLLLL..LLLLLLLLLLLLL.LLLLLLL
LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLL.LLLLLL.LLLL.L.LLL.LL.LLLL.LLLLLLL.LLLLLLLLLLLLL.LLLLLLL
LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLL..LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLL.L.LLLL.LLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLL
LL..L.L.L.L..LL...LL....L.L..L..LLL..L.LL.L.LLLL..L.L.L..L...L.....L..LL........L...LL..L.L.LL.
LLLLL.LLLL.L.LL.LLLLLL.LLLLLLLLLLLLL.LLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.L.LLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLL.LLLLLL.LLLL.LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL
LLLLL.LLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LL.L.LLLLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL
LLLLL.LLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLL..LLLL.LLLLLLL.LLLL.LLLLLLLL.LLLLLLL
LL.L..L..L.....LL......L.......LLLLL..L.L.LL...L......L.L..L.L.L........L..L.L.L..LLLL....L....
LLL.L.LLLLLLLLLLL.LLLL.LLLLL..LLLLLLLLLLLLLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.L.LLL.LLLLLLL.LLLLLLL
LLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLL.LLLL..LLL.LLLLLL.LLLLLLLL.LLLL.LL.LLLLLLLLLLLLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLLLLL.LL.LLLLLLLLLLLLLLLLLLLLLL..LLLLLLL.L.LLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLL.LL.LLLLL.LLLLLLL
LLLLL.L.LLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLLL.LL.LLLLL.LLLLLLL
LLLLL.LLLLLLLLLLLLLL.L.LLLLL.L.LLL.LLLLL.LLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLL.LLLLL.LL.L.LLL.LLLLLLLLL.LLLLLLL.LLLL.LLLLLLLL.LLLLLL.
LLLLL.LLLLLLLLLLLL.LLL.LLL.L.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLL..LLLL.LLLLLLLL..LLLLLL
LL.LL..L......L...L.....LL...L......L..L..LL...LL..L.L.....L.L...L...........LL...L.L.L..L.L.L.
LLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLLL.LLL.LLLL.LLLLLLL
LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLL.L.LLL..L.LLLLL.LLLLLLLLLLLLL.LLLLLLL
LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLL
LLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLL..LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLL..LLLLLLL.LLLLLLL
LLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLL.LLL.LL.LLLL
L....L..L..L...LL.L....L..LL.LL..L....L.L.....LL..........L...L...L..L.L.........L....L..L.....
LLLLL.LLLL.LLLLL.LLLLL..LLLL.LLLLL.LLLLLLLLLLLL.LLLLLLLLLLLL.LLLL.L.LLLLLLLLLL.LLLLLLLLLLL.LLLL
..LLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLL.LLLLLLL
LLL.L.LLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLL.L.LLLL.LLLLLLLLLLLLLLLL
L.........LL.L..L.L....L.LLLL...L.L.....LLLL.........LL..LL....L...L..L.L...LL..LL...L.L.L..L.L
LLLLL.LLLLLL..LLLLLLLL.LLL.L.LLLLL.LLL.L.LLLLL.L.LL.LLLLLLLL.LLLL.L.LLLLL...LL.LL.LLLLLLLLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LL.LLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLL.L.LLLLLLLLL.LLLLL.LLL.L.LLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLLLLLL.LL.L.LLLLLLLL.L.LLLLL
LLLLL.LLLLLL.LLLLLLLLLLLLLL..LLLLL.LLLLL.LLLLL.LLLL.LLLLLLLL.LLLLLLLLLLLL.LLLL.LLLL.LLL.LLLLLLL
LLLLLLLLLLL..LLLLLLLLL.LLLLL.LLLLLLLLLLL.L.LLL.LLLL.LLLLLLLL.LLLL.LLLL.LL.LLL.LLLLLLLLLLLLLLLLL
LLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLL.LLLLLLLLL..LLLLLLLL.LLLL.LLLLLLL.LLLL.LLLLLLLL.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLL.LL.LLLLLLLLLLLLLL.LLLLL.LLLL.LLLLLLLL.LLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLL
.LLLL.LLLLLL.LLLLLLLLL.LLLLL.L.LLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LL.L.LLLLLLL
LLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLL.L.L..LLLLLLLLLLLLLLLL

@ -0,0 +1,10 @@
L.LL.LL.LL
LLLLLLL.LL
L.L.L..L..
LLLL.LL.LL
L.LL.LL.LL
L.LLLLL.LL
..L.L.....
LLLLLLLLLL
L.LLLLLL.L
L.LLLLL.LL
Loading…
Cancel
Save