Browse Source
git-subtree-dir: 2020 git-subtree-mainline:mainab8f135946
git-subtree-split:aaabfa90c9
29 changed files with 8729 additions and 0 deletions
@ -0,0 +1,200 @@
|
||||
1974 |
||||
1773 |
||||
1841 |
||||
1932 |
||||
1951 |
||||
1852 |
||||
2000 |
||||
1988 |
||||
1998 |
||||
1670 |
||||
969 |
||||
2008 |
||||
1713 |
||||
2007 |
||||
1916 |
||||
1286 |
||||
1652 |
||||
1821 |
||||
1730 |
||||
2002 |
||||
1761 |
||||
1656 |
||||
814 |
||||
1999 |
||||
2010 |
||||
1936 |
||||
1794 |
||||
1905 |
||||
1250 |
||||
1920 |
||||
1986 |
||||
1709 |
||||
1914 |
||||
1681 |
||||
1820 |
||||
1982 |
||||
1961 |
||||
1931 |
||||
1331 |
||||
1923 |
||||
1972 |
||||
1631 |
||||
1643 |
||||
1719 |
||||
1926 |
||||
1994 |
||||
1952 |
||||
1981 |
||||
1847 |
||||
1774 |
||||
1296 |
||||
1946 |
||||
873 |
||||
2005 |
||||
173 |
||||
2006 |
||||
1960 |
||||
1872 |
||||
1894 |
||||
1695 |
||||
1769 |
||||
1800 |
||||
1734 |
||||
1675 |
||||
1860 |
||||
1383 |
||||
1947 |
||||
1768 |
||||
1827 |
||||
1877 |
||||
1721 |
||||
1738 |
||||
384 |
||||
1996 |
||||
1958 |
||||
1909 |
||||
1639 |
||||
1831 |
||||
1212 |
||||
1627 |
||||
1699 |
||||
1661 |
||||
1653 |
||||
1748 |
||||
1919 |
||||
1983 |
||||
1223 |
||||
1690 |
||||
1948 |
||||
1218 |
||||
1971 |
||||
1969 |
||||
1753 |
||||
1957 |
||||
1977 |
||||
1943 |
||||
1978 |
||||
1778 |
||||
1937 |
||||
1868 |
||||
1641 |
||||
1979 |
||||
1854 |
||||
1959 |
||||
1739 |
||||
2004 |
||||
1964 |
||||
760 |
||||
1890 |
||||
1701 |
||||
1940 |
||||
1840 |
||||
1817 |
||||
1966 |
||||
1799 |
||||
1941 |
||||
1934 |
||||
1929 |
||||
1962 |
||||
1691 |
||||
1927 |
||||
1764 |
||||
1945 |
||||
795 |
||||
1993 |
||||
1804 |
||||
1693 |
||||
1970 |
||||
1728 |
||||
1818 |
||||
1545 |
||||
1992 |
||||
1965 |
||||
1786 |
||||
2009 |
||||
1980 |
||||
1698 |
||||
1647 |
||||
1935 |
||||
1880 |
||||
1921 |
||||
1904 |
||||
1953 |
||||
1871 |
||||
1671 |
||||
1826 |
||||
1989 |
||||
1950 |
||||
1791 |
||||
1990 |
||||
1949 |
||||
1301 |
||||
1975 |
||||
1968 |
||||
1895 |
||||
1208 |
||||
1424 |
||||
1985 |
||||
1665 |
||||
1685 |
||||
1942 |
||||
1669 |
||||
64 |
||||
1832 |
||||
1995 |
||||
1987 |
||||
1955 |
||||
352 |
||||
1984 |
||||
1925 |
||||
1891 |
||||
1933 |
||||
1679 |
||||
2001 |
||||
1930 |
||||
1991 |
||||
1227 |
||||
1973 |
||||
1723 |
||||
1683 |
||||
132 |
||||
1718 |
||||
1944 |
||||
1908 |
||||
1900 |
||||
1657 |
||||
1954 |
||||
92 |
||||
1997 |
||||
1938 |
||||
1976 |
||||
1747 |
||||
1226 |
||||
1782 |
||||
1963 |
||||
1746 |
||||
1540 |
||||
1759 |
||||
1939 |
||||
1743 |
@ -0,0 +1,24 @@
|
||||
const fs = require('fs') |
||||
const readline = require('readline'); |
||||
|
||||
const readInterface = readline.createInterface({ |
||||
input: fs.createReadStream('input'), |
||||
console: false |
||||
}); |
||||
|
||||
let numbers = []; |
||||
|
||||
readInterface.on('line', function(line) { |
||||
numbers.push(Number(line)); |
||||
}); |
||||
|
||||
readInterface.on('close', function(line) { |
||||
numbers.forEach(function(a) { |
||||
numbers.forEach(function(b) { |
||||
if (a + b == 2020) { |
||||
console.log(a*b); |
||||
process.exit(); |
||||
} |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,26 @@
|
||||
const fs = require('fs') |
||||
const readline = require('readline'); |
||||
|
||||
const readInterface = readline.createInterface({ |
||||
input: fs.createReadStream('input'), |
||||
console: false |
||||
}); |
||||
|
||||
let numbers = []; |
||||
|
||||
readInterface.on('line', function(line) { |
||||
numbers.push(Number(line)); |
||||
}); |
||||
|
||||
readInterface.on('close', function(line) { |
||||
numbers.forEach(function(a) { |
||||
numbers.forEach(function(b) { |
||||
numbers.forEach(function(c) { |
||||
if (a + b + c == 2020) { |
||||
console.log(a*b*c); |
||||
process.exit(); |
||||
} |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,33 @@
|
||||
const fs = require('fs') |
||||
const readline = require('readline'); |
||||
|
||||
const readInterface = readline.createInterface({ |
||||
input: fs.createReadStream('input'), |
||||
console: false |
||||
}); |
||||
|
||||
let re = /^(\d+)-(\d+) (\w+): (\w+)$/i |
||||
let valid = 0; |
||||
|
||||
readInterface.on('line', function(line) { |
||||
let result = re.exec(line); |
||||
if (result == null) { |
||||
return; |
||||
} |
||||
|
||||
let min = Number(result[1]); |
||||
let max = Number(result[2]); |
||||
let match = result[3]; |
||||
let pass = result[4]; |
||||
|
||||
let count = 0; |
||||
pass.split('').forEach(x => x == match ? count++ : null); |
||||
|
||||
if (count >= min && count <= max) { |
||||
valid++; |
||||
}; |
||||
}); |
||||
|
||||
readInterface.on('close', function(line) { |
||||
console.log(valid); |
||||
}); |
@ -0,0 +1,30 @@
|
||||
const fs = require('fs') |
||||
const readline = require('readline'); |
||||
|
||||
const readInterface = readline.createInterface({ |
||||
input: fs.createReadStream('input'), |
||||
console: false |
||||
}); |
||||
|
||||
let re = /^(\d+)-(\d+) (\w+): (\w+)$/i |
||||
let valid = 0; |
||||
|
||||
readInterface.on('line', function(line) { |
||||
let result = re.exec(line); |
||||
if (result == null) { |
||||
return; |
||||
} |
||||
|
||||
let pos1 = Number(result[1]) - 1; |
||||
let pos2 = Number(result[2]) - 1; |
||||
let match = result[3]; |
||||
let pass = result[4]; |
||||
|
||||
if ((pass[pos1] == match && pass[pos2] != match) || (pass[pos1] != match && pass[pos2] == match)) { |
||||
valid++; |
||||
}; |
||||
}); |
||||
|
||||
readInterface.on('close', function(line) { |
||||
console.log(valid); |
||||
}); |
@ -0,0 +1,323 @@
|
||||
..#.#...#.#.#.##.....###.#....# |
||||
...........##.#...#.#.......... |
||||
....#.....#..#.............#... |
||||
.#....###..##...#...##...#.#..# |
||||
#.......#.........#..#.......#. |
||||
...#.##..##...#.#......#.##.#.. |
||||
#.#..##.....#.....#..##........ |
||||
...#.####...#.##...#........... |
||||
.#...#..#..#....#.#.#.#.##..... |
||||
##.#..#.##..#......#..##.#.#..# |
||||
.#.##.....#.#...............#.# |
||||
..##.#.....#.....##..##.#....#. |
||||
#..#..........#...##........#.. |
||||
#..##.#.#...............#..#... |
||||
..#....#...#.......#.......#... |
||||
.........#.#.##.#........#..... |
||||
#...##....#..#.........#.#...## |
||||
...#.#...#...........#..#...#.. |
||||
...#..#........#...#........... |
||||
.#....##.#...#.#....#....##.... |
||||
...#...#......#.#.......#...##. |
||||
####..........##....#.......... |
||||
#..#........................... |
||||
#....#...####..##.#......#.#... |
||||
..#..#.....##.....#...#....#..# |
||||
#.##......#..##........#....... |
||||
..........#.....#...#.#.#....## |
||||
....##...##..#........#...#..#. |
||||
#..#..#...##..............##... |
||||
###.##..##.###...#....##.#..#.. |
||||
.#......#.................#.#.. |
||||
#.#..#.##.#.#.#.....#.........# |
||||
..##......#.......##........#.. |
||||
#..............#.##.#.....#.... |
||||
............................##. |
||||
..#.##......#..........#....#.. |
||||
..##.....#..##.#....#.......##. |
||||
..#.#.##.#.........#........... |
||||
...........##.#.#...#......###. |
||||
#....#...#........#.#...#.#.### |
||||
..............#...#.....##....# |
||||
#...#...#..............#..#...# |
||||
.##..#.........#.##.#..#...##.. |
||||
.....#.........#..#..#.......#. |
||||
.#......#.#.#....##..#...#..##. |
||||
#....................#.#....#.. |
||||
......#.....##............#.... |
||||
.#.....#......####.....#....##. |
||||
##.####.#..#..........#......#. |
||||
##....................#..##.... |
||||
.....#...#.#.##.#.###.....#.... |
||||
.#..#...####.#.#...#.#.....#... |
||||
#.....##.........##.##.##.....# |
||||
....#....##.###.........#...### |
||||
.......#........#.##.....#####. |
||||
...#.##..#...#...####.....##... |
||||
..#....#....#......#......#.#.. |
||||
...#.#.#.........#.......#..#.. |
||||
.....#...........#.#........##. |
||||
..##...#.#.##.#.#.#...###.#.... |
||||
..##.............###....#.#.... |
||||
#.......#....#..#...#..##..#... |
||||
....##..#.......####....#..#.## |
||||
##....#...#.#.#...#...#........ |
||||
....#.#................#...#... |
||||
...#.....#.#.......##....#.#..# |
||||
#....##.#...#.#..#.#.........#. |
||||
#..##.........##.....#...#..... |
||||
....#.....#.#..#..##..##.##...# |
||||
#.....#...#.#.#.##....#.#.##... |
||||
.#.#........#..##.......#...#.# |
||||
..###.....#..#.##....#...#....# |
||||
...#..###...#...#.......#..#... |
||||
.#....##.......#.#..........##. |
||||
...#.#.............##.....##... |
||||
..#..#...#.....#...#........... |
||||
.#.#......#.##....#.....#...... |
||||
........#.#.....#.#...#..#.#..# |
||||
#.....#.#.....#.##..#.#....#.#. |
||||
..#..###.#.#........#.....##..# |
||||
#.#....#......#.#....###..#...# |
||||
...#.#....#..#.##.....#...#.... |
||||
....##....#.#...#.........#..## |
||||
.#......#...#.............#..#. |
||||
#........#........#.#.....##... |
||||
..##..#.##..#........#......... |
||||
.....#...#...#..#.....#.#.##.#. |
||||
..#..#..#.........#...#.......# |
||||
....#.....#.......#.##.#.##..## |
||||
......#.......##...#......#.... |
||||
....#....##.......###.#......#. |
||||
.....#..#.#........#....#.....# |
||||
#...#...#....#...###........#.. |
||||
#...........####.......#.#..#.# |
||||
..###....#..........#...#.###.. |
||||
....#.#.....#....#..#.....#.##. |
||||
...##.#..#..#.......#......#.#. |
||||
....#......###..#.....#.....#.. |
||||
.....#.#.#.....#.##.#....####.. |
||||
.##....#.....#.#....##..#...... |
||||
#..#.....#..#...#....#.#....... |
||||
.##.#..####..#.##.#......#..... |
||||
......#....#.......##.##....#.. |
||||
...#....#....#..##.......##.### |
||||
..##..........##.............#. |
||||
.#...#.#...##..##.....#..#..... |
||||
....#.#.##...................#. |
||||
.......#.#..#....#.....#....... |
||||
.#.#..#....####...#.#.##....#.. |
||||
.#.##...#..#..#...#.#.......#.. |
||||
##.#.....##.........#.......#.. |
||||
.##...#.....#.........##.#....# |
||||
.............#..#............## |
||||
...##.......#.....#.......#.##. |
||||
##..##......................... |
||||
.##.#........#........#........ |
||||
.....#................#.#...... |
||||
.............#....#....##....#. |
||||
#..##...##...#..#.#............ |
||||
.......#...####.#..#..#.....##. |
||||
..#.#..#......#.....#.#.#.....# |
||||
...#..##........#..#.#....#.#.. |
||||
.#.....#..###..#....#.##.#...#. |
||||
#.#..#.##.#..#......#.###...#.. |
||||
##..#.#..###....##.#...#...##.# |
||||
##..#.........#...##......#.... |
||||
#.#...#.#..#..........#.......# |
||||
.......#.#.......#.....##..#... |
||||
........#..##............##.#.. |
||||
........##.....#........#..#... |
||||
#..##.#..###......##........... |
||||
..#.....#.#.#....#...#.#..#..## |
||||
#...............#.......#.#.##. |
||||
#..#.....#....#............#.#. |
||||
...#....#...#....#..#..###..... |
||||
..#....#.#.....#..#......##.#.# |
||||
.#.#....#..#...#....#........#. |
||||
..##....##....#.....#.#........ |
||||
.#...#....##..##.....##.....##. |
||||
.#...........#....##...##.#.... |
||||
...#.....#......###.##.#....... |
||||
......#.#..##.#.#....#...#...## |
||||
....#...###.##....#.#.....#.... |
||||
.......#.....#......#.....##..# |
||||
.####.#...##..#....#........... |
||||
................###...#....#..# |
||||
...#...#.....###.#.##.......#.. |
||||
..#....#...##...#.###......#.#. |
||||
#...#......#............#.....# |
||||
#.........#...............#..#. |
||||
...#.##.....#............#..... |
||||
........#......##..#..#..#.#..# |
||||
....#....#.....#.#.....##..#... |
||||
.....#....#..##.....#.......... |
||||
.##....#..#...........##....... |
||||
#......##.....#...#.....#...... |
||||
...#.....#......#.#....#....... |
||||
...#................##...#..#.. |
||||
........#..........#....#...... |
||||
......#....#.#.#...........#.#. |
||||
.#............#....##.......##. |
||||
#.......#.....#...##.#..##..... |
||||
.#.....#.##..#..#....#.#..#.#.# |
||||
....#...............###........ |
||||
#####...........#..#.......#..# |
||||
...#.......#...#.#............# |
||||
#...#..#.#...#.#...#.##.....##. |
||||
.#..#..#..#.....#....#...#..... |
||||
.#...#......#.......#.........# |
||||
.#....#.....#...#...#..#....#.. |
||||
#....#....#.......#.....##..... |
||||
.#...#.#.##.#....#..##........# |
||||
..##...#............#.......... |
||||
..........#..#..#...#....#..... |
||||
..#.......#....#.....##..##.... |
||||
.#...#......#...#..###...#...#. |
||||
..##...#......#...#.#.#...#.... |
||||
.....#..#.#.#.#.#...#....##..#. |
||||
##..#..##....#.#........##.#... |
||||
.##..#.#...##..#....#..#....... |
||||
.....#...#...#..#.#..#......#.. |
||||
.#.....##.##..#....####..#....# |
||||
......##.................#....# |
||||
....##.......###...#.##...##.#. |
||||
...#...#.................##.#.. |
||||
.#.....##...#...#.....#.....##. |
||||
##.........####..#...#...#....# |
||||
...##.....#......#.###..#...... |
||||
.....###..##.#.......###..##... |
||||
#....#...#.#...#...#.#....#..#. |
||||
#...#.........##.#.........###. |
||||
#....#..###..........##........ |
||||
.###.....#.#.....#........##..# |
||||
....#.........##..#..#.#.#..#.. |
||||
..#......#...........#..##...#. |
||||
...#.#..#..#...#.##..#..#.....# |
||||
.#...#...#....................# |
||||
..#..##..#.............#.....#. |
||||
.....###.#.#.#...##..#.##....#. |
||||
..#...####..##.#....#...#...#.. |
||||
.....#..#........#.#.#..#.##... |
||||
#.#.........####..#...#.#...... |
||||
..............#..#........#.... |
||||
....#........#......#.........# |
||||
#..#.##......#.#.......#....#.. |
||||
....#..............#.#.#..#.... |
||||
#.#......#.....##.......#..##.. |
||||
.#.#..........#....#......#.... |
||||
.....#.......#.##.....#......## |
||||
...#...#.##.............####... |
||||
..#....##...#...##..#.#..##.#.. |
||||
..#.........##.......###.#..... |
||||
..#.........#####..##...#...... |
||||
..#.#...#.......#.####......##. |
||||
......#.#.#....#......####....# |
||||
.###...........#...#..#..#..##. |
||||
..#...#..##.##...#.#.##.....#.. |
||||
.....#..#....##.......#...#.... |
||||
......#.....#.........#..#..#.. |
||||
...#..#.........##.....##.#...# |
||||
....##...#......#..#.....#..... |
||||
....#..#....#....#........##... |
||||
##.....#.......#.....#.#.#..#.. |
||||
.....#..##.....##.##.#......... |
||||
.#.#..##.............#.#....... |
||||
......#.##.#.....#.#......#..#. |
||||
..........#.#..#....#.#.#.#..## |
||||
...##.....#..#...#...#...##.... |
||||
........#.#......#..###..#..... |
||||
..#.##......#.......#.......#.. |
||||
...#....##.##.........#.#...... |
||||
......#....#.#.........#......# |
||||
.....#...#....#...#......#..#.. |
||||
.##...#......#.........#...#.#. |
||||
..#.#.#......#....#............ |
||||
..#.....##.............#.##.##. |
||||
#......#......#...##.......#.#. |
||||
##........#.....#.............. |
||||
.#.###.................#.#....# |
||||
........##.#..##........#.#.... |
||||
.......###...#...##.#..#....#.. |
||||
.#..#....#..#......##......#... |
||||
.#...#....#..........##..##.#.. |
||||
.#..###.......#............#... |
||||
...#.....###.#..#........#.#.#. |
||||
...#....#..#.##..........#.#.#. |
||||
.#..##..#.....#...........#.... |
||||
#...#...##....#..#....##....... |
||||
#..#......#................#... |
||||
#..##....#.#..#......#.#.#..... |
||||
##.#..#...#.....#.#...#......## |
||||
#....#.#.#....#.....##.....##.. |
||||
....#...##.#...####.#.#.#.#..#. |
||||
.....#.#....#..#.....#..#...... |
||||
.........#.#................... |
||||
........#.....####......#..#..# |
||||
.#.#.##.#...#.#......#...##.##. |
||||
.#......#.#.#...#..#.......#... |
||||
..#......#.##.##.#.#....#...... |
||||
..........#.#...###............ |
||||
.##..#..#.#.#..#.....#..#.#.... |
||||
......#.......#.#..#.#....#...# |
||||
.#.......###......#...#.#.#.... |
||||
.............##..#..#...#....#. |
||||
....#......#.#...#.#...#...#... |
||||
..#....#.......#.#..#..#.#..#.# |
||||
.#..#.#...#.....#.#...#####...# |
||||
.##............#....#.......... |
||||
#.......####...#.#.#........... |
||||
...#.......##.#..........#....# |
||||
..#.#......#.......##.....#..## |
||||
#......#.###..#......#......#.# |
||||
##....#..#....#.##....#..#..... |
||||
...##...#.#....#.#.......#..... |
||||
#...####....#..#.#..#.##....### |
||||
.....#..#..........###..#...... |
||||
.#..#..#...#....#.##..#..#..... |
||||
#..#.....#....#..#.##...##..... |
||||
.....###.#..#.......#...###.##. |
||||
#..#........#.#..#.#.........#. |
||||
....##........................# |
||||
.#....#.#.#.#.#...#......#....# |
||||
#....#...#.##.......#.#.###.... |
||||
..........###..##....#..##.#... |
||||
...##..###...#.#.#.......##...# |
||||
##.#...#..#.....###....#....... |
||||
..#..##....###........##....### |
||||
.....##..#...#..#.....#..#....# |
||||
#................#....#...#..## |
||||
#....#.#....#..###.#.#...#..#.# |
||||
........##.#...#.#.#.#...#..... |
||||
..#..###....#......##.#...##... |
||||
..#..##....#.##..#.....#.....#. |
||||
.#.#...#.....#..#..#......##.#. |
||||
........#.#...#..##....#..#.... |
||||
...##...#...#...#...##...##..#. |
||||
.......#..#..#....#.#..#...##.. |
||||
.#.....#.##........#...#.#..... |
||||
##.#..#....#.#....#.#....#...#. |
||||
..#.#......#.......##...#....#. |
||||
#.#..####..#........#.......### |
||||
....#.......#.......##.#...#.#. |
||||
..#..#.#.............#..#...... |
||||
........###.....##....#.......# |
||||
...#.....#...#...#....#.###.... |
||||
#...##.#........#..#...##..#..# |
||||
...##..#....#....#.#.#...#.#... |
||||
#......#.....#....###......##.. |
||||
.....#.........####...##..#.... |
||||
.......#...##...#..#..#.#...... |
||||
.#.#....#.....#.......#........ |
||||
...##...#....##..#.....###..... |
||||
.#....#........##......#....#.# |
||||
.........#.#.#.#...........#.#. |
||||
....#.#..##......#.#.#..##..... |
||||
.........#.....##....#......... |
||||
....#.............#...........# |
||||
...#..##........#.....###...... |
||||
#....#....#......#..#..#..#.#.. |
||||
#......##.....#..#....#..#.#... |
||||
#..............#....#.#....###. |
||||
..##..#..#...#...##........##.. |
||||
..#.##....#..#......###..#..... |
@ -0,0 +1,52 @@
|
||||
const fs = require('fs') |
||||
const readline = require('readline'); |
||||
|
||||
const readInterface = readline.createInterface({ |
||||
input: fs.createReadStream('input'), |
||||
console: false |
||||
}); |
||||
|
||||
|
||||
// array of arrays of bool. Coordinates are [y][x]. True = tree.
|
||||
let map = []; |
||||
|
||||
readInterface.on('line', function(line) { |
||||
let row = []; |
||||
|
||||
line.split('').forEach(function(char) { |
||||
if (char == '.') { |
||||
row.push(false); |
||||
} else if (char == '#') { |
||||
row.push(true); |
||||
}; // ignore any other character
|
||||
}); |
||||
|
||||
console.log(line); |
||||
console.log(row); |
||||
|
||||
map.push(row); |
||||
}); |
||||
|
||||
readInterface.on('close', function(line) { |
||||
let treesHit = 0; |
||||
let x = 0; |
||||
let y = 0; |
||||
|
||||
while (y + 1 < map.length) { |
||||
x += 3; |
||||
y += 1; |
||||
|
||||
if (x + 1 > map[y].length) { |
||||
x -= map[y].length; |
||||
} |
||||
|
||||
if (map[y][x]) { |
||||
treesHit++; |
||||
} |
||||
|
||||
console.log(x, y, map[y][x]); |
||||
} |
||||
|
||||
console.log(treesHit); |
||||
}); |
||||
|
@ -0,0 +1,57 @@
|
||||
const fs = require('fs') |
||||
const readline = require('readline'); |
||||
|
||||
const readInterface = readline.createInterface({ |
||||
input: fs.createReadStream('input'), |
||||
console: false |
||||
}); |
||||
|
||||
|
||||
// array of arrays of bool. Coordinates are [y][x]. True = tree.
|
||||
let map = []; |
||||
|
||||
readInterface.on('line', function(line) { |
||||
let row = []; |
||||
|
||||
line.split('').forEach(function(char) { |
||||
if (char == '.') { |
||||
row.push(false); |
||||
} else if (char == '#') { |
||||
row.push(true); |
||||
}; // ignore any other character
|
||||
}); |
||||
|
||||
map.push(row); |
||||
}); |
||||
|
||||
|
||||
readInterface.on('close', function(line) { |
||||
let totals = []; |
||||
|
||||
[[1,1], [3,1], [5,1], [7,1], [1,2]].forEach(function(step) { |
||||
|
||||
let treesHit = 0; |
||||
let x = 0; |
||||
let y = 0; |
||||
|
||||
while (y + 1 < map.length) { |
||||
x += step[0]; |
||||
y += step[1]; |
||||
|
||||
if (x + 1 > map[y].length) { |
||||
x -= map[y].length; |
||||
} |
||||
|
||||
if (map[y][x]) { |
||||
treesHit++; |
||||
} |
||||
|
||||
// console.log(x, y, map[y][x]);
|
||||
} |
||||
|
||||
totals.push(treesHit); |
||||
});
|
||||
|
||||
console.log(totals.reduce((a,b) => a * b)); |
||||
}); |
||||
|
@ -0,0 +1,53 @@
|
||||
const fs = require('fs') |
||||
const readline = require('readline'); |
||||
|
||||
const readInterface = readline.createInterface({ |
||||
input: fs.createReadStream('input'), |
||||
console: false |
||||
}); |
||||
|
||||
|
||||
let passports = []; |
||||
let cPass = {}; |
||||
|
||||
readInterface.on('line', function(line) { |
||||
if (line.length == 0) { |
||||
passports.push(cPass); |
||||
cPass = {}; |
||||
return; |
||||
} |
||||
|
||||
line.split(' ').forEach(function(kv) { |
||||
parts = kv.split(':'); |
||||
cPass[parts[0]] = parts[1]; |
||||
}); |
||||
|
||||
// console.log(cPass);
|
||||
}); |
||||
|
||||
let required = new Set(['byr', 'iyr', 'eyr', 'hgt', 'hcl', 'ecl', 'pid' ]); |
||||
let optional = new Set([ 'cid' ]); |
||||
|
||||
readInterface.on('close', function(line) { |
||||
// Save the last passport if it has any fields
|
||||
if (Object.keys(cPass).length > 0) { |
||||
passports.push(cPass); |
||||
} |
||||
|
||||
let count = 0; |
||||
passports.forEach(function(passport) { |
||||
let keys = new Set(Object.keys(passport)); |
||||
let missing = new Set([...required].filter(x => !keys.has(x))) |
||||
|
||||
console.log(passport); |
||||
console.log(missing); |
||||
console.log(""); |
||||
|
||||
if (missing.size == 0) { |
||||
count++; |
||||
} |
||||
}); |
||||
|
||||
console.log(count); |
||||
}); |
||||
|
@ -0,0 +1,99 @@
|
||||
const fs = require('fs') |
||||
const readline = require('readline'); |
||||
|
||||
const readInterface = readline.createInterface({ |
||||
input: fs.createReadStream('input'), |
||||
console: false |
||||
}); |
||||
|
||||
|
||||
let passports = []; |
||||
let cPass = {}; |
||||
|
||||
readInterface.on('line', function(line) { |
||||
if (line.length == 0) { |
||||
passports.push(cPass); |
||||
cPass = {}; |
||||
return; |
||||
} |
||||
|
||||
line.split(' ').forEach(function(kv) { |
||||
parts = kv.split(':'); |
||||
cPass[parts[0]] = parts[1]; |
||||
}); |
||||
|
||||
// console.log(cPass);
|
||||
}); |
||||
|
||||
let required = new Set(['byr', 'iyr', 'eyr', 'hgt', 'hcl', 'ecl', 'pid' ]); |
||||
let optional = new Set([ 'cid' ]); |
||||
|
||||
function validKeys(passport) { |
||||
let keys = new Set(Object.keys(passport)); |
||||
let missing = new Set([...required].filter(x => !keys.has(x))) |
||||
|
||||
return missing.size == 0; |
||||
} |
||||
|
||||
function validBYR(passport) { |
||||
let byr = Number(passport['byr']); |
||||
|
||||
return byr >= 1920 && byr <= 2002; |
||||
} |
||||
|
||||
function validIYR(passport) { |
||||
let iyr = Number(passport['iyr']); |
||||
|
||||
return iyr >= 2010 && iyr <= 2020; |
||||
} |
||||
|
||||
function validEYR(passport) { |
||||
let eyr = Number(passport['eyr']); |
||||
|
||||
return eyr >= 2020 && eyr <= 2030; |
||||
} |
||||
|
||||
function validHGT(passport) { |
||||
if (!passport.hasOwnProperty('hgt')) { |
||||
return false; |
||||
} |
||||
|
||||
let hgt = parseInt(passport['hgt']); |
||||
|
||||
if (passport['hgt'].endsWith('cm')) { |
||||
return hgt >= 150 && hgt <= 193; |
||||
} |
||||
|
||||
// inches
|
||||
return hgt >= 59 && hgt <= 76; |
||||
} |
||||
|
||||
const validHCLs = /^#[a-f0-9]{6}$/; |
||||
function validHCL(passport) { |
||||
return validHCLs.test(passport['hcl']); |
||||
} |
||||
|
||||
const validECLs = new Set(['amb', 'blu', 'brn', 'gry', 'grn', 'hzl', 'oth']); |
||||
function validECL(passport) { |
||||
return validECLs.has(passport['ecl']); |
||||
} |
||||
|
||||
const validPIDs = /^[0-9]{9}$/ |
||||
function validPID(passport) { |
||||
return validPIDs.test(passport['pid']); |
||||
} |
||||
|
||||
function valid(p) { |
||||
return (validKeys(p) && validBYR(p) && validIYR(p) && validEYR(p) && validHGT(p) && validHCL(p) && validECL(p) && validPID(p)); |
||||
} |
||||
|
||||
readInterface.on('close', function(line) { |
||||
// Save the last passport if it has any fields
|
||||
if (Object.keys(cPass).length > 0) { |
||||
passports.push(cPass); |
||||
} |
||||
|
||||
let count = passports.filter(valid).length; |
||||
console.log(count); |
||||
}); |
||||
|
@ -0,0 +1,782 @@
|
||||
FBBBFBBLRR |
||||
BFFFBBFLRR |
||||
BFBFBBFLLR |
||||
BBFFFFBLLR |
||||
FBBFBBFRLL |
||||
BBFFFFBRLL |
||||
FBBFBFFLLR |
||||
BFFBBBFRRL |
||||
FFBFBFFRLR |
||||
FBFFFFBLLL |
||||
FBFFFFFLRL |
||||
FFFBFBBRLR |
||||
FFBFFFFLLL |
||||
BFBBBFFLLL |
||||
FFBBBFBRLR |
||||
BFFBFBFLLL |
||||
FBFBFFFLLL |
||||
BBFFBBBRRL |
||||
FBFFBFBLLL |
||||
BFFBFBFRRL |
||||
FBFBFFFRLR |
||||
BFBBBFBRLL |
||||
FFBBFBFLRL |
||||
FBBFFBFRRR |
||||
BFBBBBBLRL |
||||
FFBFBFBLRL |
||||
FFBFFFFLRL |
||||
BFBFBFBRRR |
||||
FBBBBBBRRR |
||||
BFBFFBBRLL |
||||
BBFFBFBLLL |
||||
BFBFBBFRLL |
||||
FBFBBBBRLR |
||||
BFFBBFBRRL |
||||
BFBBBFBRRR |
||||
FBBBFBBLRL |
||||
BBFFBBBLRL |
||||
FFBBFFFRRR |
||||
FBFFBFFLLL |
||||
FBFFBBFRLL |
||||
FBBBFBFRLL |
||||
BFFBBFFLRL |
||||
FFFBFBBRRR |
||||
BFBBBBFRLR |
||||
FBFBFBBRRL |
||||
BFFFFFFRRL |
||||
BFBBBBFRRL |
||||
FBFBBFFRRL |
||||
FBFFBFFRLR |
||||
FBBFFBBRRR |
||||
FBFBBFFRRR |
||||
FFFBBFFRLR |
||||
BBFFBFBRRL |
||||
FBBBBBFRRR |
||||
BFBBBBBRLL |
||||
BFFBFFBLRL |
||||
FBBBFFBRRR |
||||
BFFFBBFRLR |
||||
FFBFBBBRLL |
||||
BFBBBFFRLL |
||||
BFBBFBFRRR |
||||
FBFBFBBLLL |
||||
BBFBFBBRLL |
||||
FBBFFBBRLR |
||||
FFBBFBFLRR |
||||
FBFFFFFRLL |
||||
BFBFBBBRLR |
||||
FBFFFFBLRR |
||||
FBFFFFBRLL |
||||
BFFFFFFRLL |
||||
BBFBFFFRRL |
||||
BFBFBBBRRR |
||||
FFBFFFBLRL |
||||
BFFFBBBLLR |
||||
FBFFBFFRLL |
||||
FFFBFBBLRL |
||||
BFBFBBFRRL |
||||
FFBFFBBRLL |
||||
FBBFBFFLRR |
||||
FBFFFFFLLR |
||||
FFBFFBFRLL |
||||
FFBFFBFLRR |
||||
FBFBBBFRLR |
||||
FFBFBBFLLR |
||||
BBFFBFBLLR |
||||
FFBBBBBRRL |
||||
BFFBBBBRLL |
||||
FFBFBFFLLL |
||||
BBFFFBBRRL |
||||
FFBFFBFRRL |
||||
BBFFBFFRLR |
||||
FBFBBFFRLR |
||||
FBBFFBFRRL |
||||
FBBBFBBRRR |
||||
FFBBBBBRRR |
||||
BFFBBFBRLL |
||||
BFBFBBFLLL |
||||
FFBFBBBRRR |
||||
BBFFFBBRRR |
||||
BFFBFFBLRR |
||||
FFFBBFFLRL |
||||
BFFBBBFRLR |
||||
BFBBFBBRLL |
||||
BFBBFBBLLL |
||||
FFBFBFBRRL |
||||
BFFBBFFRRR |
||||
FBFBBBBLLL |
||||
FBFFFBFRRR |
||||
BFFBFFFLRL |
||||
FFFBFBBRRL |
||||
FBFBFBBRRR |
||||
FBBFBFBLLR |
||||
FBBBFFBRLR |
||||
FBFBFFBLLR |
||||
FBFFBBBRLL |
||||
FBFFFBBLRR |
||||
BFFFBFFLLL |
||||
BFBBBBBLLR |
||||
FFBBFFBRLR |
||||
BFBFBBFLRL |
||||
BBFFBBBRRR |
||||
FFBBFFFLRR |
||||
BFBFFFFRLR |
||||
BFBBBFBRRL |
||||
BFFBBBBRLR |
||||
BFFBFBBLLR |
||||
BFFBBFFLLR |
||||
FBFFBBBRLR |
||||
FBFFBBBLLR |
||||
BBFFBFFLLL |
||||
BFFBFBFRRR |
||||
BFBFFBFRLR |
||||
FBFFFBBLRL |
||||
FBBBFBFRRL |
||||
BBFFFFBLLL |
||||
FFBBBFFLRL |
||||
BFFBFFFRLR |
||||
FBBFBBFLLL |
||||
FBFFBFFRRL |
||||
FFBFFBBRLR |
||||
BBFFBFFLRR |
||||
FBFBBBBLLR |
||||
FFBBBFFLRR |
||||
BFBBFBFLLR |
||||
FBBFBBFLLR |
||||
FFBFFBBRRL |
||||
BBFFFFBRRL |
||||
FBBBBFBRRL |
||||
FBFBFFFLLR |
||||
BFBFBFBLLR |
||||
FFBFBFBRRR |
||||
BFFFBFFLLR |
||||
BBFFBFFRLL |
||||
FBBBFFBRLL |
||||
FBBFFFFRRL |
||||
FBBBFFFRRR |
||||
BBFFFBBRLL |
||||
BFFBBFFLRR |
||||
BFFBFBBRLR |
||||
BFFBFBBLLL |
||||
BBFBFFBLLR |
||||
FBBBBFFLLL |
||||
BFFBBFBLRL |
||||
FBBBBFBRRR |
||||
FBBFBBBRRL |
||||
BFFBBFFRLL |
||||
BFFFFFBLLR |
||||
BFFBBFBLRR |
||||
FFBBFBFRRR |
||||
BFBFFBFRRL |
||||
BFFFFBBLRR |
||||
FFFBBFBLRR |
||||
BFFFBBBLRR |
||||
FFBFBBFLRL |
||||
FBBBFFFLLL |
||||
FBFBFBFLRR |
||||
FFFBBFBLLL |
||||
FFBBFBBLLR |
||||
FBBFBBFLRL |
||||
FFBFFBBRRR |
||||
FBBBBFFRRL |
||||
FFFBBBFRLR |
||||
FBBFFFBLRL |
||||
BFFBFBBLRL |
||||
BFFBFBFLRR |
||||
BFFBFFBRRR |
||||
FFBFBBBRRL |
||||
BFFBFFFLLR |
||||
BFFBBFBRLR |
||||
FBBBFFFRRL |
||||
BBFBFFBLRL |
||||
BBFFFBBLLR |
||||
FBFBFFFRRR |
||||
BFFFBBBLRL |
||||
FBFFBFFLLR |
||||
BBFFFFFRLL |
||||
FFBFFFBLLL |
||||
BFBBFBBRLR |
||||
BFFFFFBLLL |
||||
BFBBFFFLLL |
||||
FFBBBBFRLR |
||||
BBFFFFFLLR |
||||
BFFFFBFLRL |
||||
FFBFFBBLLR |
||||
BBFFBFFLLR |
||||
BFBFFBFRRR |
||||
FBFFBFFRRR |
||||
BBFFFBFLLL |
||||
FFBFFFFRRL |
||||
FBBFBFFRRR |
||||
FFBBFBBRRL |
||||
FFBBBFFLLR |
||||
BFFFFBBLLR |
||||
FFBFBFBLLR |
||||
BFFBBBBLLR |
||||
FBBBBFBLLL |
||||
BFBFBBBRLL |
||||
FFBFBBFRRR |
||||
FFFBFBBLLR |
||||
FFFBBFBRRR |
||||
FFFBBBBLRR |
||||
FBBFFFFLRL |
||||
FFFBBFFLRR |
||||
FFBFBFFRLL |
||||
FBBFBBBRLR |
||||
FFBFBFBRLR |
||||
FBBBFFBLRL |
||||
BFFFFFFLRL |
||||
BFFBBBBLRR |
||||
FBBFFBBLRR |
||||
BBFFBBFRRL |
||||
FFBFBBBLLR |
||||
FFBFFFFRRR |
||||
FBFFFBBRRL |
||||
BFBFFFBLLR |
||||
FBBFBFBRRL |
||||
BBFBFFBRLR |
||||
FBBBBBFRLR |
||||
BFFBBBFLRR |
||||
BFFFFFBLRR |
||||
BBFFBBFRLL |
||||
FFFBBFFRRR |
||||
FBBBBFFRLL |
||||
FFBFFFFRLR |
||||
BFFFBFFRRL |
||||
FBBBBFFLRL |
||||
BBFBFFFRLL |
||||
BBFFFBBLRR |
||||
FBBBFFFLLR |
||||
BFFBFBFLRL |
||||
FFBBBBFLLL |
||||
BFFFBFFRLL |
||||
FBBFFBFLLR |
||||
BBFBFBBRRR |
||||
FFBFFFBRLL |
||||
FBFBBBFRLL |
||||
BFBBFBBLRR |
||||
FBBBBFFRLR |
||||
BFFBBBBLLL |
||||
FFFBBBBRLR |
||||
FBBFBBBRLL |
||||
FFBBBFBLRL |
||||
BBFBFFBLRR |
||||
FFBBFFFLLR |
||||
FFBBFBFRLR |
||||
BFBBBFBRLR |
||||
FBBFFFFLLL |
||||
BBFFFBFRRR |
||||
FFBFBBFLLL |
||||
FBBFBBBRRR |
||||
BFBBFFBRRR |
||||
FBBFFBFLLL |
||||
FFBFBBBLRL |
||||
FBFBBFBRRR |
||||
FBFBFFFRLL |
||||
BFFFFFFLLR |
||||
FBFBBBFLLR |
||||
BFBFFBFRLL |
||||
BFBFFBBRLR |
||||
BFFBBFBLLR |
||||
BFFBFBBLRR |
||||
BFBBBFFLRL |
||||
BFBBFBFLRR |
||||
BFBBBFFRLR |
||||
FFFBBFFRRL |
||||
BFFFBBFRRL |
||||
BFFBFBFLLR |
||||
BFBFFBBLRR |
||||
BFBBBBBRRR |
||||
FFBBFBBLRR |
||||
BFFBBFFRLR |
||||
FFBFBFBRLL |
||||
BFBBBBFLRL |
||||
FBBFBBFLRR |
||||
FBFBBBFLRL |
||||
FBFFFBBRRR |
||||
BBFBFFFRRR |
||||
FBFFBFBRLL |
||||
FBBBBBBRLL |
||||
FFBBBFFRRL |
||||
FFBBFFFRLL |
||||
FBFBBFBRLL |
||||
FFFBBBBLLL |
||||
BFBFBBBLLL |
||||
FFFBBBFLLR |
||||
FFBFBBFRLL |
||||
BBFFBBBLLR |
||||
FFFBBFBLRL |
||||
FFBBFBBLLL |
||||
FBFFFBFRLR |
||||
BFBBFBBLRL |
||||
FFFBFBFRLR |
||||
BFBFFFBRLR |
||||
FFBBBBBLLL |
||||
FBFBFFBRRR |
||||
BFFBBBBRRL |
||||
FBBBBFBLLR |
||||
BFBBFBFRRL |
||||
BBFBFBFLLR |
||||
BFFFBFBRRR |
||||
FFFBBFBRRL |
||||
BFBBBBFLLR |
||||
FBBBFBFLLR |
||||
FFBFFBFLRL |
||||
BFFFBFBLLL |
||||
BFBBBBBLRR |
||||
BFBFBBBLRR |
||||
BFFBFBBRLL |
||||
FFBFBFFLRL |
||||
FBBBFBBRRL |
||||
BFFBBFFLLL |
||||
FBFBFFBRLR |
||||
FBBFFFFLRR |
||||
FBBFBFBLRL |
||||
BBFFBBBLRR |
||||
BBFFBBFLLL |
||||
FBBBBBBRRL |
||||
BFFFFBFRRL |
||||
BFFFFBBLRL |
||||
BBFFFBFRLL |
||||
BFFBBFFRRL |
||||
FBBBFBFRLR |
||||
FBFFBFBLLR |
||||
FFBFFFFLRR |
||||
FBBBBBBLRL |
||||
FFBBFBBRLL |
||||
FFBBFBBLRL |
||||
FBFFFBBRLR |
||||
FFBBFFFLLL |
||||
BFFFFBFRRR |
||||
BFBFBFBLLL |
||||
FFFBBFFLLR |
||||
FBBBFBBRLL |
||||
BFFFFBBRLL |
||||
FBFBFFBRRL |
||||
BFBBBFBLLR |
||||
BFFBBBBRRR |
||||
BBFFFFFRLR |
||||
BFFFBBBRRL |
||||
BBFFFFFRRL |
||||
BFFBFBFRLL |
||||
BBFFFFFLRR |
||||
FBFBBBBLRR |
||||
FBFFBBBLRL |
||||
BFBFBFFRLL |
||||
FFFBBBBLLR |
||||
FBFBBBBRRR |
||||
FBBBBBFRRL |
||||
BFBFFFBRRL |
||||
BFBFFFBRRR |
||||
BBFBFBBLRR |
||||
FFBBBFBLLR |
||||
FFBBBFBRLL |
||||
BFBFFFFLLR |
||||
BFBFBFFLRL |
||||
FBFFFBBLLR |
||||
BFFFFFBRLL |
||||
BBFBFBBRRL |
||||
BFBBFFFRLL |
||||
BFFFFFFRLR |
||||
FBFFBFBRRR |
||||
BBFFBBFRRR |
||||
FFBBBFFRRR |
||||
FFBBBFFLLL |
||||
BFBBFFFLRR |
||||
FBBFFBFLRL |
||||
FBFFFFBLLR |
||||
BFBBBFBLRL |
||||
BFFBBBFRRR |
||||
BFBBBFFLLR |
||||
BFFFBBBRRR |
||||
BBFBFBFRRR |
||||
FFBFFBFRLR |
||||
FBBFFFFRLR |
||||
BFBFBBFRRR |
||||
BBFFBBFLRR |
||||
FBBBFFBLRR |
||||
BFBBFFBLRL |
||||
FBFBBBBRRL |
||||
FFFBBBFLRL |
||||
FBBFFFBRLR |
||||
FFFBBFFLLL |
||||
BFFBFBBRRL |
||||
BFFFBFBLRR |
||||
FBBFFFBRRR |
||||
FBBFFFBRRL |
||||
FBBBBBBRLR |
||||
FBFFFBFLRL |
||||
BBFFBFBLRL |
||||
FBBFFFBLLR |
||||
BFBFFBBRRR |
||||
FBFBBFFLRR |
||||
FBBFFBBLLR |
||||
FFBBBFFRLR |
||||
BFFBFFFLLL |
||||
FBBFFFFRLL |
||||
BFBFFBBLRL |
||||
BFBFFBFLLR |
||||
BFBBFFFRRR |
||||
BBFFFBFRLR |
||||
FBFBBBFRRL |
||||
FFBBFBBRLR |
||||
BFFFFFFRRR |
||||
BBFBBFFLLL |
||||
BBFBFFBRRR |
||||
FBBFFBBLLL |
||||
FFBFBFBLRR |
||||
BFBBFFFRRL |
||||
BBFBFFFLRR |
||||
FBBBBFBLRL |
||||
FBBFBFBRRR |
||||
FBFBFBBLRR |
||||
FBFFBBBLLL |
||||
FFBFBFFLRR |
||||
BFBFBFFRRR |
||||
BFBFBFFLRR |
||||
BFFFFFFLRR |
||||
FBFBFBBRLR |
||||
FFBFFFFRLL |
||||
FBBBFBFLRL |
||||
BFBFBBFLRR |
||||
FFBBFBBRRR |
||||
FBFBFFFLRR |
||||
BBFBFFBRRL |
||||
BFBFBFFLLL |
||||
FBFFBFBRLR |
||||
FBBBBBBLLR |
||||
FFBBBBFRLL |
||||
BFBFBBBLLR |
||||
FBFBBBBRLL |
||||
BFBBBBFLLL |
||||
FBFBFFBLRL |
||||
FFFBBBBRRR |
||||
BFFFFBFLLR |
||||
BBFFFFBLRR |
||||
BBFFFBFRRL |
||||
FBBFBFFLLL |
||||
BFFFBFBRLL |
||||
FBBBFFBRRL |
||||
FFFBFBBLRR |
||||
BBFFBBFLRL |
||||
BBFFBFFRRR |
||||
BFFFFBFRLR |
||||
FBFBBFBLRL |
||||
FBFFBBFLLL |
||||
FBFFFBBLLL |
||||
FFBBFFBLRL |
||||
FBBFBBFRLR |
||||
FBBFBBBLRL |
||||
FBFFFBBRLL |
||||
BFBFBBBRRL |
||||
BFBFBFBRLR |
||||
FBFFBFFLRR |
||||
BFFFBFFLRR |
||||
BFBBBFFLRR |
||||
FBBBBBFLLL |
||||
FFBFBFFRRR |
||||
BBFFBFFRRL |
||||
BFBBBFBLLL |
||||
FFBBFBFRLL |
||||
FBBBFBFRRR |
||||
FBFFBBBLRR |
||||
BBFFFFBRRR |
||||
FBFBFFFRRL |
||||
BFFFBBFLRL |
||||
FBBFFFBLLL |
||||
BFBBFFBLLR |
||||
BFBBFFBLLL |
||||
FBFFBBFRRR |
||||
BFFBBFBRRR |
||||
BFFFFFBRLR |
||||
FBBBBBBLLL |
||||
FFBFBBFLRR |
||||
FBFBFBBRLL |
||||
BBFBFFFLLR |
||||
BFFFFBBRRL |
||||
BFFBFFBLLR |
||||
BFFFBBFRLL |
||||
BBFFFFFLRL |
||||
FBFFFFFLLL |
||||
BBFFBBBRLL |
||||
BFBBFFBRRL |
||||
BFFFBBBRLL |
||||
FBFFBBFLRL |
||||
BBFBFFBLLL |
||||
FBFBBFBLRR |
||||
FFFBBBFLRR |
||||
BBFBFBFLRR |
||||
BFBBBBFRRR |
||||
BFFFBFFLRL |
||||
FBFFFFBRRL |
||||
BBFBFBFLLL |
||||
BFFFBBBRLR |
||||
FBFFBBFRRL |
||||
FBBFFBBRRL |
||||
FBFBFBFRLR |
||||
BFFBFFFRRL |
||||
FFFBFBBLLL |
||||
BFBBFBFRLL |
||||
BFFFBFBLLR |
||||
FBBFBBFRRL |
||||
FBBBBBFLRR |
||||
FBFFBFBLRR |
||||
FBBBFFBLLL |
||||
BFBBBFFRRR |
||||
BFBFFFFLRL |
||||
FFBBFFBRRL |
||||
BFFFFFFLLL |
||||
FFBFFBBLRL |
||||
FFFBBBFRLL |
||||
BFFFBBFLLL |
||||
FBBBFBBRLR |
||||
BBFBFFFRLR |
||||
BFFBFFBLLL |
||||
FFBBFBFLLR |
||||
FBFFBBBRRR |
||||
BFBFFBFLRR |
||||
FBFBFBBLRL |
||||
FFBFFFBRRR |
||||
FBBFFFFLLR |
||||
BFBBBFFRRL |
||||
FFBBBFFRLL |
||||
FFFBFBFRRR |
||||
FFBBBBFLRL |
||||
BFBFBFBRLL |
||||
FFFBBBFLLL |
||||
BFBFFFFLRR |
||||
BFFBFFBRRL |
||||
BFBFFBBLLL |
||||
FBBBBFBLRR |
||||
FFBFFBFRRR |
||||
FFBFFFBLLR |
||||
FFBBFFFRRL |
||||
BFBFFFFRLL |
||||
BBFFFBBRLR |
||||
FBFBBFBRRL |
||||
BFFFFFBLRL |
||||
FFBFFFFLLR |
||||
FBFFFBFLLR |
||||
FFFBBFBRLR |
||||
BBFBBFFLRL |
||||
FFBBBBBLLR |
||||
BFBBFBFLLL |
||||
BFBFFFFRRL |
||||
BFBBFFBRLR |
||||
FBBBFFFRLR |
||||
FBBFFBFRLR |
||||
BBFBFBBRLR |
||||
FBBBFFBLLR |
||||
FBBBFFFRLL |
||||
FBFBFBFRRR |
||||
BBFFBFBRRR |
||||
FFBBBBBRLL |
||||
FBFFBFBRRL |
||||
FBFFBBFLRR |
||||
FFFBBBFRRL |
||||
FFBBFFBRLL |
||||
BFBFFFBRLL |
||||
FBFFFBFLLL |
||||
FBBBBFFRRR |
||||
FBBFBFBRLL |
||||
BFFBFBFRLR |
||||
FFBFBFBLLL |
||||
FFBBFFBRRR |
||||
FBFFFFBLRL |
||||
FBBBFFFLRR |
||||
FFBBBBFRRL |
||||
FFBFBBBRLR |
||||
FBBBBFFLRR |
||||
BFBFBFBLRR |
||||
BBFBFFFLRL |
||||
FFFBBFBRLL |
||||
FBBBBBFLRL |
||||
FBBFBBBLLR |
||||
BFBBFFFLLR |
||||
FBFFFFFRLR |
||||
BBFFFFBRLR |
||||
FBFFFFFRRL |
||||
FFBBFFFLRL |
||||
FFBBBFBRRR |
||||
BBFFFBBLRL |
||||
FBBBBFBRLR |
||||
FBFBBFFLRL |
||||
FBFFBFFLRL |
||||
FFBFFFBRRL |
||||
FFBBBBFLLR |
||||
FBBFBFBLRR |
||||
FBFBBFBLLL |
||||
FFBBBFBLLL |
||||
BFFFFBBRRR |
||||
BBFFFBFLRL |
||||
FFFBBBBRLL |
||||
FFBFFBBLLL |
||||
FBFFFBFLRR |
||||
FBFBFFBLLL |
||||
BFFFBFFRRR |
||||
FFBBFFBLRR |
||||
BFBBFBFRLR |
||||
FFBFBFFRRL |
||||
BBFFFFBLRL |
||||
FFBBFFFRLR |
||||
BFBBFFBLRR |
||||
BBFBFBFRLL |
||||
FBFFFFBRLR |
||||
BBFFBBFLLR |
||||
FBBFFBBLRL |
||||
BFFFFFBRRL |
||||
BFBBFBFLRL |
||||
BBFFBFBRLR |
||||
BFFFFBFLRR |
||||
BFBFBFBLRL |
||||
FBFBFFFLRL |
||||
BFFFBBFLLR |
||||
BBFBFBBLRL |
||||
BFFFFBBLLL |
||||
BBFBFBBLLL |
||||
BFBBBBBRRL |
||||
FBFFBBFLLR |
||||
FFBFFBBLRR |
||||
FFBBFBFRRL |
||||
FBFBBBFLRR |
||||
FBFBBFFLLR |
||||
FFBBBBBRLR |
||||
FBFBBBFLLL |
||||
FBBFBBFRRR |
||||
FBBFBBBLLL |
||||
BFBFFBFLRL |
||||
FBFBFFBRLL |
||||
BFBFBFFLLR |
||||
FBBFFBFRLL |
||||
BFFBBBFLLR |
||||
BFFFFBBRLR |
||||
BFFBBFBLLL |
||||
BFFFFBFRLL |
||||
FFBFBBFRLR |
||||
BFFFBBBLLL |
||||
FBFBFBFLLL |
||||
BFBBBBBRLR |
||||
BFBBBFBLRR |
||||
FBBBFBFLLL |
||||
FBFFBBFRLR |
||||
BBFFBBBRLR |
||||
FFBFBBFRRL |
||||
BFBFBBFRLR |
||||
FBFFFFFLRR |
||||
BBFFFBFLRR |
||||
FBBFBFFRLR |
||||
BFBBFFFLRL |
||||
FBFBBFBLLR |
||||
BFFBBBFLRL |
||||
BFFBBBFLLL |
||||
BFBBFFFRLR |
||||
FBFFBBBRRL |
||||
BFFFBFBLRL |
||||
FBBBBBFRLL |
||||
BFFBBBBLRL |
||||
FBBFFFBRLL |
||||
FBBFBFFRLL |
||||
FBBFFBFLRR |
||||
FFBFBBBLLL |
||||
FFBFBBBLRR |
||||
BFBFFFBLLL |
||||
FFBFFFBLRR |
||||
FBFBBFBRLR |
||||
FBFBBBFRRR |
||||
FFFBFBFRLL |
||||
FBFFFBFRLL |
||||
BBFFBFBRLL |
||||
FFFBBBBRRL |
||||
FBFBFBBLLR |
||||
BBFFBBBLLL |
||||
FBBBBBFLLR |
||||
BFBFFFFRRR |
||||
FBBBBFFLLR |
||||
BFBBBBFLRR |
||||
BFBFFFBLRR |
||||
BFFFBBFRRR |
||||
FFFBBFBLLR |
||||
BFBBBBFRLL |
||||
BBFBFBFRRL |
||||
BBFBFFFLLL |
||||
FBFBFBFRLL |
||||
FBFBFFBLRR |
||||
BFBFBFBRRL |
||||
BFBBFFBRLL |
||||
BBFBFFBRLL |
||||
BFBBFBBRRR |
||||
FFBBBBFLRR |
||||
BBFFFBBLLL |
||||
FBBBFBBLLL |
||||
FFBBBFBLRR |
||||
BFBFBFFRLR |
||||
BBFBFBBLLR |
||||
BFBFFBFLLL |
||||
FBFBBFFRLL |
||||
FBFBFBFLRL |
||||
FBBFFFBLRR |
||||
BFBFFBBRRL |
||||