├── README.md ├── p1.dyalog ├── p1.txt ├── p10.dyalog ├── p10.txt ├── p11.dyalog ├── p11.txt ├── p12.dyalog ├── p12.txt ├── p13.dyalog ├── p13.txt ├── p14.dyalog ├── p14.txt ├── p15.dyalog ├── p15.txt ├── p16.dyalog ├── p16.txt ├── p17.dyalog ├── p17.txt ├── p18.dyalog ├── p18.txt ├── p19.dyalog ├── p19.txt ├── p2.dyalog ├── p2.txt ├── p20.dyalog ├── p20.txt ├── p21.dyalog ├── p21.txt ├── p22.dyalog ├── p22.txt ├── p23.dyalog ├── p23.txt ├── p24.dyalog ├── p24.txt ├── p25.dyalog ├── p25.txt ├── p3.dyalog ├── p3.txt ├── p4.dyalog ├── p4.txt ├── p5.dyalog ├── p5.txt ├── p6.dyalog ├── p6.txt ├── p7.dyalog ├── p7.txt ├── p8.dyalog ├── p8.txt ├── p9.dyalog └── p9.txt /README.md: -------------------------------------------------------------------------------- 1 | # aoc2020apl 2 | Advent of Code 2020 solutions in Dyalog APL 3 | 4 | Tested on Linux with: 5 | ``` 6 | dyalog -script < pN.dyalog # Dyalog version 17.1 or earlier 7 | dyalog -script pN.dyalog # Dyalog version 18.0 or later 8 | ``` 9 | 10 | Some solutions require Dyalog APL version 18.0 or later. 11 | 12 | See also: 13 | * My [solutions for 2015](https://github.com/jayfoad/aoc2015apl). 14 | * My [solutions for 2016](https://github.com/jayfoad/aoc2016apl). 15 | * My [solutions for 2017](https://github.com/jayfoad/aoc2017apl). 16 | * My [solutions for 2018](https://github.com/jayfoad/aoc2018apl). 17 | * My [solutions for 2019](https://github.com/jayfoad/aoc2019apl). 18 | -------------------------------------------------------------------------------- /p1.dyalog: -------------------------------------------------------------------------------- 1 | p←⍎¨⊃⎕NGET'p1.txt'1 2 | f←{∪(,2020=⊃∘.+/⍵)/,⊃∘.×/⍵} 3 | f 2/⊂p ⍝ part 1 4 | f 3/⊂p ⍝ part 2 5 | -------------------------------------------------------------------------------- /p1.txt: -------------------------------------------------------------------------------- 1 | 1895 2 | 1732 3 | 1660 4 | 1658 5 | 1878 6 | 367 7 | 2010 8 | 1989 9 | 431 10 | 1946 11 | 1614 12 | 2003 13 | 945 14 | 1856 15 | 1934 16 | 1937 17 | 1781 18 | 1947 19 | 1991 20 | 1917 21 | 1604 22 | 1707 23 | 1966 24 | 1959 25 | 1182 26 | 1828 27 | 1880 28 | 1908 29 | 1942 30 | 1687 31 | 1611 32 | 1922 33 | 1913 34 | 1803 35 | 1976 36 | 1718 37 | 1885 38 | 1971 39 | 2000 40 | 1912 41 | 1981 42 | 1776 43 | 1901 44 | 1941 45 | 1935 46 | 1977 47 | 1907 48 | 1893 49 | 1898 50 | 1975 51 | 2001 52 | 1833 53 | 1951 54 | 1939 55 | 1988 56 | 1870 57 | 1985 58 | 1932 59 | 1930 60 | 1938 61 | 1926 62 | 1931 63 | 1982 64 | 76 65 | 1979 66 | 657 67 | 1872 68 | 1933 69 | 1961 70 | 1987 71 | 1998 72 | 1994 73 | 418 74 | 1914 75 | 1929 76 | 1810 77 | 2009 78 | 1712 79 | 830 80 | 1990 81 | 1900 82 | 1876 83 | 1753 84 | 1859 85 | 1965 86 | 1963 87 | 1905 88 | 1921 89 | 1685 90 | 1694 91 | 697 92 | 1899 93 | 1997 94 | 1964 95 | 1927 96 | 1952 97 | 1894 98 | 1960 99 | 1986 100 | 1883 101 | 1616 102 | 1993 103 | 1892 104 | 1943 105 | 2005 106 | 1995 107 | 1915 108 | 1663 109 | 1954 110 | 1902 111 | 1191 112 | 1948 113 | 1875 114 | 1850 115 | 1955 116 | 1962 117 | 1984 118 | 1957 119 | 1969 120 | 1887 121 | 1953 122 | 1786 123 | 1638 124 | 1909 125 | 1881 126 | 603 127 | 1973 128 | 1784 129 | 1869 130 | 1925 131 | 1968 132 | 1737 133 | 1807 134 | 1950 135 | 1992 136 | 1936 137 | 1918 138 | 1891 139 | 1897 140 | 1940 141 | 1919 142 | 1910 143 | 1862 144 | 1958 145 | 1832 146 | 1904 147 | 1791 148 | 1920 149 | 1874 150 | 1729 151 | 1643 152 | 2007 153 | 1871 154 | 1999 155 | 1584 156 | 1890 157 | 1924 158 | 1974 159 | 1701 160 | 1906 161 | 143 162 | 1725 163 | 1945 164 | 1783 165 | 1873 166 | 1903 167 | 167 168 | 1855 169 | 1633 170 | 1956 171 | 1996 172 | 1808 173 | 1884 174 | 1916 175 | 829 176 | 2002 177 | 1852 178 | 1835 179 | 1889 180 | 1983 181 | 1949 182 | 1970 183 | 1774 184 | 1764 185 | 1609 186 | 1882 187 | 1857 188 | 2004 189 | 1911 190 | 1896 191 | 1980 192 | 2006 193 | 1967 194 | 2008 195 | 1972 196 | 1648 197 | 1923 198 | 1978 199 | 1675 200 | 1831 201 | -------------------------------------------------------------------------------- /p10.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 ⋄ ⎕PP←17 2 | q←3+⊃⌽p←{⍵[⍋⍵]}⍎¨⊃⎕NGET'p10.txt'1 3 | ×/+/1 3∘.=¯2-/0,p,q ⍝ part 1 4 | a←1,q/0 ⋄ {a[⍵]←+/¯3↑⍵↑a}¨p,q ⋄ ⊃⌽a ⍝ part 2 5 | -------------------------------------------------------------------------------- /p10.txt: -------------------------------------------------------------------------------- 1 | 86 2 | 149 3 | 4 4 | 75 5 | 87 6 | 132 7 | 12 8 | 115 9 | 62 10 | 61 11 | 153 12 | 78 13 | 138 14 | 43 15 | 88 16 | 108 17 | 59 18 | 152 19 | 109 20 | 63 21 | 42 22 | 60 23 | 7 24 | 104 25 | 49 26 | 156 27 | 35 28 | 2 29 | 52 30 | 72 31 | 125 32 | 94 33 | 46 34 | 136 35 | 26 36 | 16 37 | 76 38 | 117 39 | 116 40 | 150 41 | 20 42 | 13 43 | 141 44 | 131 45 | 127 46 | 67 47 | 3 48 | 40 49 | 54 50 | 82 51 | 36 52 | 100 53 | 41 54 | 56 55 | 146 56 | 157 57 | 89 58 | 23 59 | 8 60 | 55 61 | 111 62 | 135 63 | 144 64 | 77 65 | 124 66 | 18 67 | 53 68 | 92 69 | 126 70 | 101 71 | 69 72 | 27 73 | 145 74 | 11 75 | 151 76 | 31 77 | 19 78 | 34 79 | 17 80 | 130 81 | 118 82 | 28 83 | 107 84 | 137 85 | 68 86 | 93 87 | 85 88 | 66 89 | 97 90 | 110 91 | 37 92 | 114 93 | 79 94 | 121 95 | 1 96 | -------------------------------------------------------------------------------- /p11.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 2 | p←'L'=↑⊃⎕NGET'p11.txt'1 3 | f←{p∧(1+4×⍵)>{+/,⍵}⌺3 3⊢⍵} 4 | +/,f⍣≡0×p ⍝ part 1 5 | a←1⍪0⍪↑⊃{(⊂⍋⍺)⌷⍵}/↓⍉⊃{⍺,⊂⍵}⌸/{⍵,¨⌽⍵}↓⍉↑⊃,/2,/¨⊃,/({(+/¨⍵)(-/¨⍵)(⊣/¨⍵)(⊢/¨⍵)}⍸p){⊂⍵}⌸¨⊂2+⍳+/,p 6 | g←{(1+4×⍵)>+/⍵[a]} 7 | +/2↓g⍣≡0 1,0/⍨+/,p ⍝ part 2 8 | -------------------------------------------------------------------------------- /p11.txt: -------------------------------------------------------------------------------- 1 | LLLL.LLLLL.LLLLLLLLLLLLLLLL.L.LLLLLL.LLLL..L.LLLLLLLL.LLLLLL.LLLL..LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 2 | LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLL.L..LLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL 3 | LLLLLLLLLL.LLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LL.LLLL.LL.LLLLLLLLLLLLLLLLLLLL 4 | LLL.LLLLLLLLLLL.LLLL.LLLLLLLLLL.LL.L.LLLLLLL.LLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLL.LLLLLLLL 5 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLL.LLLL.LLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 6 | LLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLL 7 | ...L..LL.LL.LLL....L......L..L.....L.....L....L.LL.....LL..L.L...LL.L...LL..L.L...L.LL...L..LL..L. 8 | LLLLLLLLLLLLLLLLLL.L.LLLLLL.LLLLLLLL.LLLLL.L.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLL.LLLLL.LLLLLLLL.LLLLL 9 | LLLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLL. 10 | LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 11 | LLLLLLLLLLLLLLLLLLLLLLLLLLL.L.LLLL.L.LLLLL.L.LLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLL.LLLLLLLL 12 | LLLLLLL..L.LLLLLLLL..LLL.LL.LLLLLL.L.LLLLLLL.LLLLLLLL.LLLLLL.LLLLL.LL.LLLL.LLLLLLLL.LLLL.LLLLLLLLL 13 | ...L..L.L.L......L....L.L..L...L.L..L.L...LL.LL....L...L........L.L.LLL....L..L..L...L.L..L..LL... 14 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.L.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLL.L.LLLLLLLLLLLLLLLL 15 | LLLLLLLLLLLLLLLLLLLL.LLLL.L.LLLLLLLLLLLLLLL..LLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL 16 | LLL.LLL.LL.LLLLLLLLL.LLLLL..LLLLLLLL.LLLLLLLLLLLLLLL..LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLL.LLLLLLLLLL 17 | .LLLLLLLLL.LL.LLLLLL.LLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LL.LLLLLLLLLLL 18 | LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 19 | .LLLLLLLLLLLLLLLLLLL.L.LLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLL..LL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 20 | L....LL.....L......LLL......L.LLL..L....L.L....L....LL.L.LL.LL........LL....L.L.L..LLLL.......L... 21 | LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLL.LLL.LLLLLLLL.LLLLLLLLLLLLLL 22 | .LL..LL.LL.LLLLLLLLL.LL.LLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL 23 | LLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LL.LLLLLL.LLLLL.LLLLLLL.L.LL.LLLLLLLLLLLLLLLLLL 24 | LLLLLLLLLL..LLLLLLLL.LLLL.L.LLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLL..LLLLLLLLLL..LLLL.LLLLLLLLLLLLLL 25 | LLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL..LLLLLLL..LLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 26 | .LLLLLLLLLLLLLLLLLLL.LLLLLL.LL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 27 | LLLLLLLLLLLLLLLLLLLL.LL.LLL.LLLLLLLL.LLLLLLL.LLLLLLLL..LLL.L.LLLLL.LLLLLLL.LLLLLL...LLLLLLLLLLLLLL 28 | LLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLL.LLLL 29 | LLLL.LLLLL...LLLLLLLLLLL.LL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL..LLLLL.LLLLLLL..LLLLLLL.LLLLLLLLLLLLLL 30 | ..L...LLL........LL....L.....L.....L..L..L.....L.L.LL...L......LLLLL.L.L...........L.LL.....LL...L 31 | LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 32 | LLLLLLLLLL.L.LLL.LLL.LLLLLL.LLLLLLLL.LLLLL.LLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLL 33 | LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLL.LLL 34 | LLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLL.LL.LL.LLLLLLLLLLLL.LLLLL.LLLLLLLLLLLL.LL.LLL.LLLLLLLLLLL 35 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL...LLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLL.LL 36 | LLLLLLL.LL.LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL..LLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 37 | ....L..L.L.LL..LLL..L....LL...L.L..LL.L......L...LLL.L.L.L.....L.......L......LL.....L..L.L..LL... 38 | LLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLL.L 39 | LLLLLLLLLL.LLLLLLLLL.LLLL.L.LLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL 40 | LLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLL...LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL 41 | LLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL..LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLLLL.LLL.LLLLLLLLLL 42 | LLLLLLLLLL.L.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLL 43 | LL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLL.LL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 44 | ..LL.LLL...LLL.....L.L.L......L......L........L.LL......LLL..LL..L..L.LLL..LL..LL.L.....L.LL....L. 45 | LLLLLLLLLL.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL..LLLL.LLLLLLLL 46 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LL.LLLLLL.L.LLLLLLLLL.L.LLLLL.LL.L.LLLLLLLLLLLL 47 | LLLLLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 48 | LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLL.LLLLLLL.LL.LLLLL.LLLLLLLLLLL.LL 49 | LLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLL.LLL.LLL.LLLLL.LL.LLLLLLLLLLLLLL 50 | L..L..LL..LLL...L......L.....L...LL..L..L.....L.L...LL......L.L.LLL.L..L....L....L...L.L........LL 51 | LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL..LLLLLLLLLLLLLL 52 | LLLLLL.LLL.LLLLLLLLL.LLLLLLLLLLLLLLL.L.LL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLL 53 | L.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.L.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL 54 | LLLLLLLLLL.LLL.LL.LL.LLLLLLLLL.LL.LL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLL.LL.LLLLLLLLLLLLLL 55 | LL.LLLLLLLLLLLLLL.LL.LLLLLLLLLLLLLL..LLLLLLLLLL.LLL.L..LLLLL.LLLLL..LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 56 | LLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL..LLLLLLL.LLLLLLLLLLLLLL 57 | LLLLLLLLLL.LLL.LLLLL.LL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLL.LL.L.LLLLLLL.LLL.L. 58 | LLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLL.LLL.LLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.L.LL.LLLLLLLLLL.LLL 59 | ..L....L....L....L........L...L....L..LL.L.L..L.LLLL.L.LLL...L...L..LL..L...L....L....L.......L.L. 60 | LLLLLLLLLL..LLL.LLLLLLLLLLL.LLLLLLLL.LLL.LLL..LLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLL..LL..LLLLLLLLLL 61 | LLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LL.LLLLL.LLLLLL.LLLLLLLLLLLL..LLLLLLLLLLLLLLLLLLLLLLL 62 | LLLLLLLLL.LLLLLLLLLLLLLLLLL..LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL 63 | LLLLLLLLLL.LLLLLLLLL.LLLLLL..LLLLLLL..LLLLLL.LL.LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.L 64 | L.LLLLLLLL.LLLLLLLLL.LL.LLL.LLLLLLLLLLLLLLL..LLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 65 | LLLLLLLLLL..LLL.LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLL..LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 66 | L.....L..LLL.....LL.L..L..LL....LLLLL.LL..L.......L...LL.....LL...L...........L.....L.L..L.....L.L 67 | LLLLLLLLLL.LLL.LLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLL.LLLL..LLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLL 68 | LLLLLLLLLL..LLLLL.LL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 69 | LLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLL.LLLL.L.LLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 70 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLL.LL.LLLLLLLLLLLLLLL 71 | LLLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL..LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL 72 | LLLLLLLLLLLLLLLLLLLL..LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLL..LLLLLLLL.LLLLLLLLLLLLLL 73 | ........LLLLLL.LL.L..L...L...LLL....L.......LLLL..L.LL.L..L.L.LLL...L...L.......L..L.....L.L.L..LL 74 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LL.LLL..LLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 75 | LLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL..LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLL 76 | L.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLLLLL.LLLL.LLL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLL.LLLLLLLL 77 | LLLLLL.LLL.LLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLL.L.L.LLLLLLLL.LLLLLLLLLLLLLL 78 | LLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 79 | LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLL.LL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLL..LLLLLLL.LLLLLLLLLLLLLL 80 | ..LL..L....L.......L....L....LL...L.L..L.........LL..L..LL.L....LLL.L.LLL...L.....LL.....LL.LL.... 81 | LLLLLLLLLL.LLLLLL.LL.LLLLLLLL..LLLLL.LLLLLLLLLLLLLLLL.LLLLLL.L.LLLLLLLLLLL.LLLLLLLL.LLLLLLLLLL.LLL 82 | L.LLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LL.LLLLLL.LLLLL.LLLLLLL.LLLLL.LLLLLLLLLL.LLLLLL 83 | LLLLLLLLLL.LLLLLLLLL.LLL.LL.LLLLLLLL.L.LLLLLLLLLLLLLLLLLLLLL.L.LLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLL. 84 | LLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL 85 | LLLLL.LLLL.LLLLLLLLL.LLLLLL.LLLL.LLL..LLLLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL 86 | LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLL.LLLL 87 | LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLL.L.LLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LL.LLLLLLLLLLL 88 | .L.L....L........L....LL...L...L...L..L.............LL.LL..L.L.L...LL.......LLL.......LLL.L.L.L..L 89 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LL.LLLLLLLLLLLLLL.L.LLLLL..LLLLL.LLLLLLL.LLLLLLLL.LLLL.LLLLLLLLL 90 | LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLL.LLLLLL.LLLLLLL 91 | LLLLLLLLLL..LLLLLLLL.LLLLLL..LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL 92 | LLLLLLLLLL.L.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLL 93 | LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLLLLL.L.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.L.LLLLLLLLLLLL 94 | -------------------------------------------------------------------------------- /p12.dyalog: -------------------------------------------------------------------------------- 1 | p←{(⊃⍵)(⍎1↓⍵)}¨⊃⎕NGET'p12.txt'1 2 | +/|9 11○⊃⊃{m n x v←⍺,⍵ ⋄ (x+n×(0J1 0J¯1 1 ¯1 0['NSEW'⍳m])+v×m='F')(v×(0J1 0J¯1 1['LR'⍳m])*n÷90)}/(⌽p),⊂0 1 ⍝ part 1 3 | +/|9 11○⊃⊃{m n x v←⍺,⍵ ⋄ (x+n×v×m='F')((n×0J1 0J¯1 1 ¯1 0['NSEW'⍳m])+v×(0J1 0J¯1 1['LR'⍳m])*n÷90)}/(⌽p),⊂0 10J1 ⍝ part 2 4 | -------------------------------------------------------------------------------- /p12.txt: -------------------------------------------------------------------------------- 1 | N3 2 | F18 3 | L180 4 | F40 5 | N3 6 | R90 7 | S5 8 | R90 9 | N4 10 | F24 11 | R90 12 | E5 13 | F36 14 | R180 15 | W3 16 | W4 17 | F63 18 | N4 19 | W1 20 | N1 21 | E1 22 | L90 23 | W1 24 | N2 25 | E2 26 | S2 27 | F39 28 | W4 29 | S3 30 | F93 31 | N1 32 | F83 33 | S1 34 | R90 35 | W3 36 | R90 37 | W4 38 | L90 39 | F53 40 | S4 41 | F4 42 | L90 43 | W3 44 | F83 45 | L180 46 | W2 47 | L90 48 | W2 49 | L90 50 | W1 51 | N3 52 | F63 53 | R90 54 | N2 55 | N3 56 | E4 57 | F10 58 | S3 59 | E4 60 | R90 61 | F11 62 | L90 63 | R90 64 | S2 65 | W2 66 | F100 67 | W5 68 | R270 69 | F40 70 | S5 71 | L90 72 | E2 73 | L90 74 | E2 75 | L180 76 | N5 77 | F81 78 | N4 79 | E4 80 | L180 81 | F38 82 | W2 83 | F22 84 | W5 85 | N5 86 | E1 87 | N2 88 | W4 89 | N2 90 | F68 91 | N1 92 | F2 93 | S1 94 | F47 95 | W5 96 | F80 97 | N3 98 | E3 99 | S2 100 | L180 101 | F87 102 | L180 103 | E4 104 | L90 105 | E2 106 | S3 107 | L180 108 | E2 109 | L90 110 | W2 111 | N4 112 | F21 113 | S4 114 | W5 115 | F70 116 | F4 117 | N2 118 | F14 119 | E2 120 | S3 121 | R90 122 | W3 123 | N2 124 | E3 125 | S1 126 | F85 127 | R90 128 | E1 129 | F80 130 | L90 131 | F100 132 | R90 133 | W1 134 | R180 135 | S4 136 | F58 137 | L90 138 | N3 139 | R90 140 | E1 141 | F42 142 | E3 143 | F93 144 | S3 145 | R90 146 | W2 147 | N3 148 | L90 149 | W3 150 | W2 151 | N2 152 | W1 153 | S4 154 | R180 155 | N5 156 | R180 157 | F52 158 | N5 159 | F20 160 | L180 161 | E5 162 | R90 163 | W2 164 | S4 165 | E1 166 | S3 167 | F75 168 | R90 169 | F49 170 | L180 171 | N3 172 | F31 173 | S3 174 | E3 175 | S5 176 | L180 177 | N3 178 | E2 179 | R270 180 | W5 181 | N3 182 | W5 183 | N3 184 | L270 185 | F54 186 | R90 187 | W5 188 | F73 189 | S3 190 | W2 191 | R90 192 | N2 193 | R90 194 | S5 195 | R90 196 | W4 197 | S2 198 | L90 199 | F3 200 | S2 201 | R90 202 | F76 203 | S3 204 | F56 205 | L90 206 | F5 207 | N1 208 | R180 209 | E3 210 | N2 211 | F20 212 | E2 213 | L180 214 | F38 215 | R180 216 | W4 217 | R90 218 | S3 219 | N5 220 | E5 221 | F26 222 | S2 223 | L180 224 | E4 225 | R90 226 | F52 227 | N3 228 | L90 229 | N5 230 | E4 231 | F63 232 | L90 233 | F48 234 | W5 235 | F29 236 | N1 237 | E3 238 | L90 239 | N5 240 | L90 241 | S3 242 | F8 243 | N2 244 | R90 245 | E4 246 | S2 247 | E2 248 | F10 249 | W2 250 | L90 251 | N2 252 | R90 253 | F2 254 | E2 255 | N4 256 | R90 257 | F74 258 | W3 259 | W5 260 | S2 261 | R90 262 | N3 263 | L90 264 | E3 265 | F58 266 | N4 267 | E5 268 | S4 269 | E3 270 | F72 271 | L180 272 | E3 273 | S2 274 | L90 275 | W4 276 | S1 277 | F14 278 | W1 279 | N1 280 | E3 281 | W4 282 | L90 283 | N1 284 | F97 285 | R90 286 | N4 287 | E3 288 | F95 289 | F95 290 | L90 291 | S4 292 | F55 293 | R90 294 | W2 295 | N1 296 | R90 297 | F16 298 | L90 299 | S5 300 | F4 301 | R90 302 | F24 303 | S4 304 | E2 305 | R90 306 | W5 307 | E1 308 | L270 309 | F12 310 | L90 311 | F100 312 | W1 313 | S5 314 | W2 315 | S3 316 | F95 317 | L90 318 | F44 319 | N5 320 | F79 321 | S4 322 | R180 323 | E2 324 | S1 325 | F40 326 | R90 327 | W2 328 | R90 329 | F67 330 | S5 331 | F15 332 | L90 333 | N4 334 | L90 335 | S5 336 | E1 337 | R90 338 | N3 339 | W5 340 | N4 341 | L270 342 | F61 343 | L90 344 | E1 345 | L90 346 | E1 347 | F38 348 | E2 349 | F19 350 | W2 351 | L90 352 | S4 353 | R180 354 | W4 355 | F59 356 | N1 357 | F26 358 | N1 359 | W5 360 | F7 361 | N4 362 | F72 363 | E2 364 | R90 365 | F59 366 | N1 367 | F58 368 | N5 369 | F13 370 | N2 371 | F2 372 | S2 373 | W1 374 | F85 375 | R270 376 | S2 377 | F17 378 | R90 379 | F96 380 | S2 381 | L90 382 | E1 383 | N4 384 | F9 385 | R270 386 | F58 387 | N1 388 | L90 389 | W2 390 | S2 391 | F73 392 | W1 393 | S2 394 | F20 395 | E2 396 | S4 397 | F94 398 | L180 399 | F27 400 | S2 401 | F48 402 | N1 403 | L270 404 | S2 405 | F77 406 | E3 407 | F10 408 | W3 409 | L270 410 | S4 411 | F53 412 | F66 413 | E5 414 | S2 415 | F33 416 | S5 417 | L90 418 | W3 419 | S3 420 | E3 421 | R90 422 | E1 423 | F62 424 | S1 425 | L90 426 | S3 427 | E3 428 | N1 429 | S1 430 | E5 431 | S2 432 | F66 433 | N4 434 | N1 435 | W4 436 | F84 437 | R180 438 | F23 439 | F20 440 | E1 441 | S3 442 | R90 443 | E2 444 | F48 445 | F89 446 | L90 447 | F97 448 | R180 449 | N3 450 | F62 451 | L90 452 | N5 453 | F28 454 | W5 455 | N4 456 | L180 457 | N4 458 | W1 459 | N3 460 | L90 461 | F95 462 | N1 463 | W5 464 | R180 465 | N5 466 | F34 467 | S1 468 | W2 469 | N4 470 | F3 471 | S2 472 | E1 473 | R90 474 | E2 475 | F36 476 | S4 477 | E5 478 | F42 479 | W1 480 | L180 481 | S1 482 | F74 483 | F38 484 | N4 485 | R270 486 | N3 487 | W2 488 | S4 489 | L180 490 | F26 491 | S4 492 | F51 493 | R90 494 | F83 495 | R90 496 | F9 497 | S2 498 | W1 499 | F99 500 | S4 501 | W1 502 | F84 503 | W1 504 | R180 505 | F59 506 | W5 507 | R90 508 | F75 509 | S1 510 | F34 511 | E4 512 | N3 513 | L90 514 | F43 515 | W5 516 | N1 517 | R90 518 | F59 519 | W1 520 | N3 521 | W4 522 | S2 523 | F36 524 | N5 525 | W4 526 | E2 527 | F96 528 | R180 529 | F44 530 | R90 531 | F12 532 | E5 533 | F24 534 | W3 535 | F39 536 | S2 537 | L180 538 | W3 539 | W4 540 | F70 541 | N4 542 | E4 543 | F36 544 | E2 545 | N1 546 | F30 547 | L90 548 | S2 549 | F81 550 | R270 551 | R90 552 | F66 553 | W1 554 | L90 555 | W2 556 | F98 557 | S1 558 | E1 559 | L90 560 | E3 561 | N2 562 | F100 563 | W3 564 | N3 565 | R90 566 | F88 567 | E4 568 | L180 569 | F52 570 | L90 571 | E4 572 | F76 573 | W2 574 | L90 575 | E3 576 | F72 577 | S3 578 | L180 579 | F12 580 | F34 581 | E5 582 | F90 583 | S5 584 | W5 585 | E1 586 | N5 587 | L180 588 | E5 589 | F84 590 | E5 591 | E3 592 | L90 593 | E3 594 | F14 595 | L90 596 | W3 597 | L90 598 | S1 599 | L90 600 | W2 601 | F54 602 | R90 603 | S2 604 | F73 605 | S4 606 | E1 607 | S1 608 | F55 609 | E5 610 | N4 611 | R180 612 | L180 613 | N4 614 | R90 615 | F91 616 | L180 617 | F5 618 | E2 619 | N1 620 | W2 621 | F27 622 | W2 623 | S5 624 | R90 625 | S3 626 | F39 627 | S3 628 | W2 629 | F59 630 | F83 631 | W3 632 | E3 633 | E4 634 | L90 635 | S1 636 | R90 637 | E4 638 | F81 639 | E4 640 | R90 641 | W5 642 | F74 643 | W3 644 | E3 645 | F30 646 | L180 647 | S2 648 | E3 649 | F33 650 | S3 651 | R90 652 | F22 653 | S5 654 | F97 655 | S1 656 | E2 657 | F50 658 | E2 659 | F19 660 | E3 661 | L90 662 | L90 663 | S5 664 | W3 665 | F80 666 | F33 667 | E1 668 | R90 669 | N3 670 | L90 671 | F70 672 | L180 673 | W4 674 | N2 675 | R180 676 | S2 677 | F38 678 | S3 679 | F7 680 | R90 681 | E1 682 | N5 683 | F86 684 | W4 685 | F49 686 | W4 687 | F51 688 | S4 689 | F47 690 | R90 691 | W3 692 | R180 693 | R180 694 | W1 695 | F98 696 | S1 697 | W3 698 | S4 699 | L90 700 | F76 701 | E1 702 | F76 703 | R180 704 | S4 705 | R180 706 | W3 707 | F26 708 | N5 709 | F35 710 | S2 711 | F94 712 | F24 713 | N2 714 | F45 715 | E1 716 | L90 717 | F32 718 | S1 719 | R180 720 | F78 721 | F84 722 | L90 723 | N2 724 | F42 725 | R90 726 | F72 727 | S1 728 | E3 729 | N2 730 | W1 731 | F23 732 | E2 733 | F69 734 | L90 735 | F29 736 | R90 737 | S5 738 | W5 739 | L90 740 | W1 741 | S2 742 | E1 743 | F96 744 | S5 745 | R180 746 | F26 747 | S5 748 | W1 749 | S3 750 | F38 751 | S1 752 | E2 753 | S5 754 | W2 755 | S5 756 | F52 757 | L90 758 | F11 759 | E3 760 | R90 761 | E4 762 | F6 763 | L90 764 | R90 765 | W1 766 | R90 767 | E3 768 | F1 769 | E4 770 | N3 771 | E5 772 | R90 773 | N2 774 | R180 775 | W2 776 | N5 777 | F46 778 | N3 779 | E5 780 | F83 781 | R90 782 | F42 783 | S3 784 | R90 785 | N5 786 | F10 787 | -------------------------------------------------------------------------------- /p13.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 2 | a←⍎⊃p←⊃⎕NGET'p13.txt'1 3 | d←⍎¨b⌷⍨⊂c←⍸(,'x')∘≢¨b←'\w+'⎕S'&'⊃⌽p 4 | {(⊃⍋⍵)⊃d×⍵}d|-a ⍝ part 1 5 | ⎕PP←17 ⋄ ⎕FR←1287 6 | gcd←{⍵=0:⍺ 1 0 ⋄ g s t←⍵∇⍵|⍺ ⋄ g t(s-t×⌊⍺÷⍵)} 7 | crt←{z←⍵÷⍨m←×/⍵ ⋄ m|+/⍺×z×1⊃¨z gcd¨⍵} 8 | (-c)crt d ⍝ part 2 9 | -------------------------------------------------------------------------------- /p13.txt: -------------------------------------------------------------------------------- 1 | 1000066 2 | 13,x,x,41,x,x,x,37,x,x,x,x,x,659,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,19,x,x,x,23,x,x,x,x,x,29,x,409,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,17 3 | -------------------------------------------------------------------------------- /p14.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 ⋄ ⎕PP←17 2 | p←'\w+'⎕S'&'¨⊃⎕NGET'p14.txt'1 3 | mask←{A∘←'1'=y←⊃⍵ ⋄ B∘←'0'≠y} 4 | mem←{x y←⍎¨⍵ ⋄ a[x]←2⊥B∧A∨(36/2)⊤y} 5 | a←100000/0 ⋄ {{}(⍎⊃⍵)1↓⍵}¨p ⋄ +/a ⍝ part 1 6 | mask←{A∘←'1'=y←⊃⍵ ⋄ B∘←'X'≠y ⋄ C∘←2⊥c⍀(n/2)⊤⍳2*n←+/c←y='X'} 7 | mem←{x y←⍎¨⍵ ⋄ v,←y/⍨≢a,←C+2⊥B∧A∨(36/2)⊤x} 8 | a←v←⍬ ⋄ {{}(⍎⊃⍵)1↓⍵}¨p ⋄ +/a{⊃⌽⍵}⌸v ⍝ part 2 9 | -------------------------------------------------------------------------------- /p14.txt: -------------------------------------------------------------------------------- 1 | mask = 0101111110011010X110100010X100000XX0 2 | mem[46424] = 216719 3 | mem[43628] = 6647 4 | mem[21582] = 4737255 5 | mem[62945] = 25540 6 | mem[14304] = 1226 7 | mask = X100010101X111100X1000000000X1X01101 8 | mem[61719] = 43 9 | mem[29889] = 539182 10 | mem[20432] = 81037 11 | mem[19130] = 84833888 12 | mem[62957] = 257066 13 | mask = 1100110100000X01011100X011X10111101X 14 | mem[23466] = 760341642 15 | mem[52847] = 2953 16 | mem[19579] = 337454817 17 | mask = 11000100X00X101X0101000X101011X10010 18 | mem[11088] = 486068 19 | mem[20832] = 1783932 20 | mem[40903] = 22837 21 | mem[52523] = 916767 22 | mem[33536] = 69899 23 | mem[29213] = 922168 24 | mem[19898] = 2527744 25 | mask = 0X0000010X011X100000011XX1XX10001000 26 | mem[30153] = 10168 27 | mem[10353] = 99745 28 | mem[64464] = 228084499 29 | mask = 01X0XX010011X1100X11010010X0X100100X 30 | mem[39767] = 183317 31 | mem[8681] = 31397 32 | mem[26082] = 214138 33 | mem[7692] = 1784975 34 | mask = 0100X1X01X010011X1110000011001100000 35 | mem[37247] = 260760 36 | mem[14360] = 2426139 37 | mem[47677] = 7192080 38 | mask = 00001XX1100X0010110011X0XX0001X0010X 39 | mem[4309] = 297242075 40 | mem[64075] = 893494359 41 | mask = 110X1011100000X0XX00110100X00001XXXX 42 | mem[55914] = 438425130 43 | mem[49344] = 16510528 44 | mem[2674] = 28909 45 | mem[35317] = 238296302 46 | mem[18530] = 109875262 47 | mask = X10X01010011101X0X1000101X1111X0X0X0 48 | mem[12244] = 2199 49 | mem[56582] = 2862764 50 | mem[8393] = 3831 51 | mem[54761] = 16511 52 | mem[23804] = 311190 53 | mem[2775] = 28757 54 | mem[2635] = 1816435 55 | mask = 0X001X11100X10100X10X1X010X1101X0011 56 | mem[39770] = 124269 57 | mem[42638] = 52020 58 | mem[19450] = 864925 59 | mem[6838] = 8985514 60 | mem[17628] = 1212 61 | mask = 010001110111000111X0X01X00000000X001 62 | mem[18199] = 1424733 63 | mem[32849] = 234584243 64 | mem[6180] = 1017017 65 | mask = 0100000100X1X110X0000001XX0010X01X00 66 | mem[56497] = 6674 67 | mem[30862] = 13749640 68 | mem[24832] = 3266046 69 | mem[7480] = 19674454 70 | mem[50124] = 475830721 71 | mem[41122] = 59014242 72 | mem[56513] = 2403 73 | mask = 010010010001X00011100100000XX10100X0 74 | mem[50501] = 591395 75 | mem[34019] = 18696205 76 | mem[53288] = 5905 77 | mem[61133] = 92733 78 | mem[22325] = 13533198 79 | mem[36300] = 298891 80 | mem[59419] = 27121 81 | mask = 0X0001011001100XX11001000X1XX0001100 82 | mem[50238] = 46859845 83 | mem[65438] = 42469 84 | mem[23966] = 416 85 | mem[5730] = 15529 86 | mem[61033] = 194705034 87 | mem[54747] = 467381 88 | mem[38123] = 1472 89 | mask = 01000X010X011X100XX001X1010X11001XX0 90 | mem[50501] = 3572 91 | mem[4293] = 3456022 92 | mem[19192] = 1372334 93 | mem[11565] = 326290168 94 | mem[51595] = 18690 95 | mask = XX00X0X11000X01011001100X00011X1X0X0 96 | mem[51539] = 768 97 | mem[20597] = 12720 98 | mem[23426] = 324 99 | mem[39084] = 50404 100 | mask = 11X011011001X00XX111X00X10001X111000 101 | mem[18530] = 29878596 102 | mem[22804] = 347574684 103 | mem[22057] = 84333 104 | mem[2158] = 181745 105 | mask = 00XX00X110001010110X1101101001100010 106 | mem[9903] = 188600558 107 | mem[34677] = 15095860 108 | mem[44413] = 28541 109 | mem[35346] = 3955 110 | mem[58279] = 3413218 111 | mem[16962] = 9299049 112 | mask = 0100010101X11010X1000X0100X01X0010X1 113 | mem[42770] = 92786 114 | mem[29697] = 41035 115 | mem[37048] = 76494 116 | mask = 1000XX0X000011111X00110010XX10X1X110 117 | mem[38455] = 14997231 118 | mem[13916] = 191608 119 | mem[42447] = 37002175 120 | mem[50769] = 11134486 121 | mask = 11000100X0001XX0110XX1X11110X100X01X 122 | mem[27059] = 70716919 123 | mem[20721] = 24389442 124 | mem[6528] = 20075 125 | mem[22804] = 530695189 126 | mask = 1100X1X0X0X11100X1110110010111000000 127 | mem[34446] = 6853 128 | mem[6030] = 22765 129 | mem[33379] = 2375 130 | mem[5227] = 752687947 131 | mask = 1X000100X0001X10110000X000101XXX0110 132 | mem[21606] = 262401340 133 | mem[60001] = 1568637 134 | mem[19993] = 4349 135 | mask = 1X0X10000011X0001X1001101100000X1100 136 | mem[10542] = 217555392 137 | mem[14979] = 509322 138 | mem[59366] = 750 139 | mem[27370] = 541 140 | mem[8868] = 218418760 141 | mem[34962] = 5044 142 | mask = 1110X001X01010X11X10XX01000X1XX11101 143 | mem[58614] = 5182291 144 | mem[58120] = 1120048 145 | mem[23196] = 3963 146 | mem[42638] = 8965505 147 | mem[40895] = 4284430 148 | mask = 11X1100000111000X110X1X001110XX11X10 149 | mem[63215] = 8080556 150 | mem[61017] = 32038853 151 | mem[16644] = 944501 152 | mask = 1100X10X100X101XX1X10001X01011110000 153 | mem[52847] = 3803671 154 | mem[20850] = 7808415 155 | mem[8712] = 144288 156 | mem[58787] = 6 157 | mem[64997] = 445837702 158 | mem[41100] = 37513016 159 | mem[13520] = 973 160 | mask = 1X100X0X00XX1X011X1000001X0110X01110 161 | mem[32333] = 1744 162 | mem[56029] = 299 163 | mem[25784] = 31286 164 | mem[43862] = 51049 165 | mem[58782] = 2944 166 | mem[17428] = 75751931 167 | mask = X100X10X00X11000111X0000100X010X1X11 168 | mem[12260] = 6122 169 | mem[48663] = 460 170 | mem[64075] = 183608631 171 | mem[63027] = 13796 172 | mask = X10001X1000010XX11000X11011110X10001 173 | mem[49801] = 67831561 174 | mem[54914] = 10434056 175 | mask = 11X0X1X10001100X111XX10X010110011000 176 | mem[7898] = 458939 177 | mem[23966] = 79878872 178 | mem[19878] = 3625210 179 | mem[58431] = 540 180 | mem[3348] = 7862654 181 | mem[3412] = 118574 182 | mask = 1100010X100X1XX0110X0X10XX0010101011 183 | mem[12015] = 731 184 | mem[8185] = 209550192 185 | mem[29616] = 17919178 186 | mem[6158] = 1618787 187 | mem[31085] = 2050168 188 | mem[49943] = 905915 189 | mask = 01X0X00XX0X11011X1000X00XX0011010010 190 | mem[7308] = 2041 191 | mem[2769] = 264056059 192 | mem[52380] = 7334932 193 | mem[53511] = 2554 194 | mask = XX0001X10001100X1110X10X100110011100 195 | mem[26838] = 5813 196 | mem[50268] = 264384570 197 | mem[130] = 87338 198 | mem[413] = 1000391 199 | mem[17628] = 65356685 200 | mem[55309] = 165547 201 | mask = 01X0X10X11011X100XX001X00101X11X1001 202 | mem[16368] = 4140505 203 | mem[44899] = 1721205 204 | mem[27560] = 133 205 | mask = 01000X01011X0001111001111XXX01110X0X 206 | mem[11565] = 13877443 207 | mem[28465] = 66870471 208 | mem[5232] = 537178 209 | mem[62602] = 27657281 210 | mask = 1100110010011X00111X000011XXX0X010XX 211 | mem[2576] = 971803 212 | mem[36877] = 5560 213 | mem[40103] = 643868 214 | mask = X100110X1X01X01X11110X110X00X1111000 215 | mem[56749] = 81 216 | mem[15008] = 182232225 217 | mem[3329] = 11184975 218 | mask = 01X001X10111X0011X10001100000001X0X1 219 | mem[24430] = 874925389 220 | mem[33402] = 23932396 221 | mem[7393] = 2756629 222 | mem[45138] = 974627 223 | mask = 0X000X0100011X1XX1100X0000X111X01000 224 | mem[16564] = 811253 225 | mem[23329] = 81876 226 | mem[17685] = 43268701 227 | mem[27546] = 1472091 228 | mem[2102] = 445258 229 | mask = 0X00X101XX01111000X0100011X10X00011X 230 | mem[61642] = 3296 231 | mem[61163] = 162776570 232 | mem[59415] = 3057 233 | mask = 01X00001X01X111X00000X0X0XX1100X0010 234 | mem[51782] = 103 235 | mem[37951] = 1911 236 | mem[38455] = 1691 237 | mask = 1X0001XX00001X1X1100X10101101XX1X010 238 | mem[39885] = 350996156 239 | mem[2248] = 1302 240 | mem[4174] = 1746120 241 | mem[7046] = 387007 242 | mem[7898] = 200 243 | mem[62427] = 219368 244 | mask = 1100110X100110001110000X101X00010X00 245 | mem[52738] = 3017585 246 | mem[60907] = 274499319 247 | mem[44127] = 198066 248 | mem[7008] = 15737 249 | mem[5838] = 24930 250 | mem[1196] = 626 251 | mem[760] = 125926 252 | mask = 110X11X1001X1000111010101X1X001101X1 253 | mem[58787] = 131362883 254 | mem[63206] = 1662 255 | mem[16764] = 29008042 256 | mem[44650] = 11562940 257 | mask = 010001X00001XX100XX0111011X000101101 258 | mem[20597] = 8035 259 | mem[24694] = 21315464 260 | mem[21329] = 25433146 261 | mem[11666] = 501845791 262 | mem[13072] = 46538 263 | mask = 00001X1XX0001010011X0100XX111X11010X 264 | mem[34466] = 17022332 265 | mem[43116] = 759445 266 | mem[49228] = 1468 267 | mem[50795] = 905170 268 | mask = X10X01010X11100110101001X00XX1X10011 269 | mem[14354] = 44435828 270 | mem[13870] = 57828837 271 | mem[46810] = 9681 272 | mem[55942] = 12919869 273 | mem[30769] = 1601943 274 | mem[55514] = 966 275 | mem[37519] = 77989 276 | mask = 010001010XX11X10XX1X0X0X1X0111001001 277 | mem[31633] = 642267 278 | mem[31180] = 256848 279 | mem[3262] = 53074205 280 | mem[4176] = 27542042 281 | mem[30177] = 660 282 | mem[16257] = 7236 283 | mask = X100110110X110X0111X0XX0001010X010X0 284 | mem[6360] = 92130236 285 | mem[28850] = 46594 286 | mem[15985] = 397101 287 | mem[49228] = 80 288 | mask = X100110010011X00111X10X0X11000X0X1X0 289 | mem[55502] = 6202150 290 | mem[26082] = 314 291 | mem[39594] = 6635685 292 | mem[60628] = 186878 293 | mem[26354] = 26627 294 | mask = 11001101000X100XX11X0100010001XX0001 295 | mem[32489] = 421676 296 | mem[54747] = 776369 297 | mem[5568] = 161 298 | mem[56323] = 46 299 | mem[21580] = 513 300 | mem[22504] = 425 301 | mem[16855] = 840 302 | mask = 1110110X100X0X0X01111X11011001001X0X 303 | mem[45789] = 637584 304 | mem[30970] = 1057424 305 | mem[23657] = 22302 306 | mem[26082] = 877466 307 | mask = 0X000101100110100X100100XX0110X01000 308 | mem[24512] = 9678 309 | mem[54196] = 187 310 | mem[5120] = 4093605 311 | mem[24945] = 751 312 | mem[44317] = 1926 313 | mask = X10XX101X101100101X0X10110XX110X1100 314 | mem[26837] = 164343201 315 | mem[27917] = 7656 316 | mem[38564] = 513678 317 | mem[50795] = 76758852 318 | mem[43436] = 377041 319 | mask = X11X111X0X011000111X01000X011X001010 320 | mem[62853] = 7257 321 | mem[64609] = 3359628 322 | mem[19612] = 7400536 323 | mask = X1000101111XXX10001100011101010010X1 324 | mem[11544] = 19164015 325 | mem[89] = 15427 326 | mem[7510] = 177830 327 | mem[38182] = 3493289 328 | mem[38761] = 98839912 329 | mem[41629] = 36133346 330 | mem[64464] = 11351848 331 | mask = 01000101X1011010X100X11X01001X0X1001 332 | mem[62024] = 6787 333 | mem[37961] = 239020169 334 | mem[11048] = 30241 335 | mem[12021] = 37370 336 | mem[7504] = 130958613 337 | mem[15985] = 547735 338 | mem[24593] = 26754 339 | mask = 11X01101X00XX001X111010001XXX01010X1 340 | mem[2769] = 36617 341 | mem[15841] = 32395988 342 | mem[14184] = 1230 343 | mem[53415] = 192565609 344 | mem[65353] = 1103 345 | mem[21988] = 93037470 346 | mem[5899] = 318043 347 | mask = 110101XX01111X0X1010X00X0X110X0110X0 348 | mem[61629] = 8487 349 | mem[22606] = 229956 350 | mem[4869] = 2889 351 | mem[22702] = 2964611 352 | mem[51436] = 1447 353 | mem[39022] = 218429 354 | mask = 1100X10XX0X1100X1X10101X111001X11111 355 | mem[44127] = 28480880 356 | mem[23797] = 7200980 357 | mem[42770] = 134215352 358 | mask = 0100000X000X101X010001X011X010X11X10 359 | mem[14052] = 2132 360 | mem[54344] = 283 361 | mem[50501] = 228 362 | mask = 11XX100X100110X0111011100X0000100X11 363 | mem[3096] = 56107 364 | mem[41528] = 136050659 365 | mem[61642] = 27190672 366 | mem[14184] = 2443414 367 | mask = 0X0X0011100X1010110X0101001XX11100X0 368 | mem[61017] = 579168 369 | mem[13520] = 753 370 | mem[8723] = 1450259 371 | mem[62331] = 40126 372 | mem[41759] = 150938 373 | mem[35794] = 7868 374 | mem[8688] = 11717126 375 | mask = X1001X0010011XX0X110101XX1000X111X11 376 | mem[61163] = 2017 377 | mem[59484] = 365949812 378 | mem[18300] = 7976052 379 | mask = 01001001100X101011XX110X100111000000 380 | mem[57866] = 98060156 381 | mem[50268] = 945963 382 | mem[2775] = 50053 383 | mem[47406] = 154534009 384 | mask = 010000010101X110XX1001XX010111001001 385 | mem[18692] = 129964 386 | mem[15203] = 10499 387 | mem[46399] = 62751 388 | mem[21701] = 409829 389 | mask = 0100000100XX10100XX00010110010001XX0 390 | mem[53321] = 237286923 391 | mem[6885] = 12836105 392 | mask = 0100010X100X101001100X100000111X1XX1 393 | mem[56749] = 20323 394 | mem[24754] = 3110 395 | mem[6549] = 6911933 396 | mem[19817] = 902749 397 | mem[41862] = 141653872 398 | mask = 01X0000100X1111X0X000XX1000010111100 399 | mem[62817] = 24212 400 | mem[47588] = 88272 401 | mem[40843] = 15421 402 | mem[2344] = 84933 403 | mem[58787] = 39045 404 | mask = 11XX1X00X01110X01110011X0X00001011XX 405 | mem[26894] = 267 406 | mem[21329] = 105884 407 | mem[47335] = 199007575 408 | mem[45542] = 42702501 409 | mask = 010X01X1000111101X1000001X1X110X00X0 410 | mem[54035] = 250 411 | mem[18530] = 817 412 | mem[817] = 6197248 413 | mem[24075] = 70967 414 | mem[3138] = 1757 415 | mem[11977] = 3139118 416 | mem[27233] = 62004 417 | mask = X100X1XX110111100X101000100101000010 418 | mem[36703] = 321859730 419 | mem[28466] = 1329578 420 | mem[63529] = 841665 421 | mem[25621] = 86565892 422 | mem[19817] = 22768 423 | mask = 11100XX100X110011111110101011001X110 424 | mem[21830] = 63889233 425 | mem[27233] = 111377 426 | mem[31085] = 16480896 427 | mem[34637] = 2351346 428 | mem[44889] = 251 429 | mem[50401] = 130227708 430 | mem[52668] = 1684548 431 | mask = 0100011XXX011010X1X001101X00XX111010 432 | mem[7480] = 10145 433 | mem[28850] = 10692762 434 | mem[43245] = 50413255 435 | mem[39257] = 1768041 436 | mask = 0100X1X1100X1010011001X1X00111101000 437 | mem[41148] = 4200404 438 | mem[6369] = 25745796 439 | mem[44881] = 111919 440 | mem[5128] = 535961743 441 | mask = 010011011001X00011XX00000100100XX000 442 | mem[20676] = 267025408 443 | mem[6180] = 251317 444 | mask = 0100010101X11XXX011X001100011010100X 445 | mem[14528] = 256867985 446 | mem[6360] = 27062543 447 | mem[60004] = 291 448 | mask = 01X00101X11X1010001X0000X001X101XX01 449 | mem[24593] = 262 450 | mem[3272] = 132 451 | mem[32191] = 20587 452 | mem[7172] = 51454362 453 | mem[11375] = 6051 454 | mask = 11001X0X00010001XX11010010000X1010X1 455 | mem[6831] = 11190 456 | mem[14841] = 2503 457 | mem[60207] = 36858958 458 | mem[21151] = 29467 459 | mem[46209] = 22081 460 | mask = 010001010X11X1100110X0001X0001011001 461 | mem[38897] = 46352057 462 | mem[7175] = 46467491 463 | mem[219] = 17121502 464 | mem[38980] = 3723671 465 | mem[457] = 671215 466 | mem[30417] = 156865588 467 | mask = 110101110X1X110X10100X00001100110110 468 | mem[18104] = 454788463 469 | mem[19452] = 18162 470 | mask = 110X11001X0110001111X000X1001001X001 471 | mem[46488] = 1260 472 | mem[3329] = 426654 473 | mem[46810] = 3870 474 | mem[8621] = 12925 475 | mask = 110001011000X0X1X11X1011X0001011110X 476 | mem[60718] = 34740816 477 | mem[60977] = 709578014 478 | mem[37624] = 93226078 479 | mem[6054] = 1887 480 | mem[26175] = 430 481 | mask = 0101111110X1X01001X000110100X110X110 482 | mem[1214] = 57810 483 | mem[28249] = 143169 484 | mem[44390] = 112 485 | mask = 01XX0101000110001X10000000XX1XX10X00 486 | mem[48350] = 16212 487 | mem[29573] = 238 488 | mem[40903] = 1795848 489 | mask = 011000X10011111X010X01XX01X1101X111X 490 | mem[47677] = 182253 491 | mem[23334] = 68758 492 | mask = 0100XX01X00110X0X110010000X011X0010X 493 | mem[29649] = 105432234 494 | mem[53208] = 792257 495 | mem[21582] = 658154042 496 | mem[56134] = 1972 497 | mem[21732] = 4324466 498 | mem[17340] = 2613 499 | mem[57866] = 1243 500 | mask = 01X01001100XXX1011001X00000111010X01 501 | mem[18530] = 586 502 | mem[23426] = 1429648 503 | mem[15985] = 24011949 504 | mem[57590] = 360529 505 | mask = 010000010001100X01100001X0000X000X10 506 | mem[8249] = 920087 507 | mem[19925] = 1290454 508 | mem[49639] = 70486 509 | mem[22798] = 564 510 | mem[50238] = 1879 511 | mem[62463] = 16312 512 | mem[21732] = 5818962 513 | mask = 1XX0110010X1100011X00XX01XX1001X1010 514 | mem[12606] = 27185 515 | mem[7401] = 6832 516 | mem[46415] = 1438965 517 | mem[9614] = 229076295 518 | mem[62024] = 851916 519 | mem[3371] = 41841107 520 | mask = X11011X01X01111000000000101111000X01 521 | mem[25319] = 731128 522 | mem[32664] = 118900 523 | mem[38482] = 42385058 524 | mem[19832] = 2590687 525 | mem[33249] = 165555036 526 | mask = 1110XX01XXX0101X11100X1001101X011110 527 | mem[20621] = 726479117 528 | mem[4685] = 120830 529 | mem[12606] = 1154853 530 | mask = X100X1XX100X101X1111X00001010X100100 531 | mem[53048] = 5427 532 | mem[45481] = 167379930 533 | mem[15481] = 4434 534 | mask = 1100100X1001X0X01110111X1X10101X1011 535 | mem[43851] = 74972 536 | mem[16171] = 495748 537 | mem[35546] = 1035895 538 | mem[8868] = 8088024 539 | mem[15153] = 1779573 540 | mask = 010X11X110X1101011101000001XX1000100 541 | mem[25292] = 672982926 542 | mem[53441] = 37 543 | mem[60907] = 5981763 544 | mem[43566] = 1207 545 | mask = 0X00010101X111101X11010011111100100X 546 | mem[34938] = 10429 547 | mem[20850] = 78396156 548 | mem[11841] = 13100745 549 | mask = 0100X1X1100X1010011000X000XX11111XX1 550 | mem[16764] = 7659044 551 | mem[51446] = 24687135 552 | mem[413] = 522098 553 | mask = 1100010X1X0111X0011000X011100101011X 554 | mem[40985] = 27938 555 | mem[33039] = 2705710 556 | -------------------------------------------------------------------------------- /p15.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 2 | p←⍎⊃⊃⎕NGET'p15.txt'1 3 | f←{a←(⍳≢⍵)@⍵⊢⍺/⍺ ⋄ {0⌈⍺-(a[⍵]←⍺)⊢a[⍵]}/⌽0,(≢⍵)↓⍳⍺-1} 4 | 2020 f p ⍝ part 1 5 | 30E6 f p ⍝ part 2 6 | -------------------------------------------------------------------------------- /p15.txt: -------------------------------------------------------------------------------- 1 | 9,6,0,10,18,2,1 2 | -------------------------------------------------------------------------------- /p16.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 ⋄ ⎕PP←17 ⋄ to←{⍺+⍳1+⍵-⍺} 2 | r y n←1 2 2↓¨{⍵⊂⍨0=≢¨⍵}(⊂''),⊃⎕NGET'p16.txt'1 3 | r←↑{a b c d←⍎¨⍵ ⋄ 1000↑⍸⍣¯1⊢(a to b),c to d}¨'\d+'⎕S'&'¨r ⍝ rules 4 | y←⍎⊃y ⍝ your ticket 5 | n←↑⍎¨n ⍝ nearby tickets 6 | +/(,n)/⍨~,t←(⊂n)⌷∨⌿r ⍝ part 1 7 | v←n⌿⍨∧/t ⍝ valid nearby tickets 8 | ×/y/⍨{∨⌿(6>g)⌿2<⌿0⍪⍵⌷⍨⊂g←⍋+/⍵}(↓r)∘.{∧/⍺[⍵]}↓⍉v ⍝ part 2 9 | -------------------------------------------------------------------------------- /p16.txt: -------------------------------------------------------------------------------- 1 | departure location: 44-825 or 849-962 2 | departure station: 26-296 or 316-965 3 | departure platform: 46-889 or 896-949 4 | departure track: 48-351 or 369-960 5 | departure date: 25-869 or 884-966 6 | departure time: 31-217 or 232-956 7 | arrival location: 32-559 or 574-967 8 | arrival station: 50-383 or 394-952 9 | arrival platform: 29-128 or 150-962 10 | arrival track: 30-630 or 647-957 11 | class: 45-262 or 277-966 12 | duration: 35-602 or 619-965 13 | price: 41-913 or 926-966 14 | route: 38-191 or 212-950 15 | row: 25-509 or 523-965 16 | seat: 39-783 or 802-973 17 | train: 36-64 or 80-969 18 | type: 42-750 or 767-974 19 | wagon: 29-803 or 821-974 20 | zone: 47-659 or 672-968 21 | 22 | your ticket: 23 | 157,101,107,179,181,163,191,109,97,103,89,113,167,127,151,53,83,61,59,173 24 | 25 | nearby tickets: 26 | 252,432,61,105,442,938,451,676,141,598,236,255,157,328,424,746,379,688,478,181 27 | 317,559,396,106,435,554,324,55,260,245,126,540,13,775,675,346,296,931,121,107 28 | 699,862,476,178,548,546,711,889,529,441,929,286,335,258,339,934,377,598,756,591 29 | 119,906,423,316,949,494,88,458,741,285,260,707,601,296,598,94,766,535,82,710 30 | 181,868,105,595,471,136,292,238,414,427,537,348,718,442,324,656,938,452,488,648 31 | 234,487,554,290,886,479,214,692,413,720,949,430,656,96,104,797,446,480,409,449 32 | 908,401,896,856,116,550,455,438,580,242,802,629,58,342,867,423,58,542,583,800 33 | 88,437,585,113,428,853,555,945,548,295,262,628,436,718,472,775,931,446,402,996 34 | 906,906,487,942,433,912,673,901,822,416,482,496,894,440,712,698,912,674,673,321 35 | 258,86,748,695,770,586,509,178,561,530,735,716,351,649,652,215,710,151,931,714 36 | 99,822,451,400,290,556,80,862,600,856,83,767,938,464,258,853,295,225,239,406 37 | 780,114,857,165,602,581,244,672,489,69,586,80,725,104,58,51,888,91,215,375 38 | 232,724,166,469,546,701,783,673,166,506,706,126,682,255,897,942,252,101,2,157 39 | 485,158,160,703,543,930,248,474,912,452,101,840,623,287,463,235,625,654,213,529 40 | 863,801,277,681,408,732,778,348,159,322,694,463,82,528,405,706,186,901,768,626 41 | 461,551,406,170,532,160,576,257,942,22,181,85,480,526,85,169,594,80,349,290 42 | 441,345,495,598,102,649,171,156,744,497,459,740,463,999,215,187,683,850,465,911 43 | 157,454,345,465,253,481,279,945,468,101,498,93,467,477,724,652,75,216,452,285 44 | 253,161,718,939,406,374,231,479,327,536,904,87,50,680,930,475,287,233,590,119 45 | 91,340,492,321,688,797,720,475,488,491,341,744,541,621,587,115,508,779,701,320 46 | 189,739,102,84,230,182,727,749,402,731,928,253,911,81,351,403,935,455,898,887 47 | 100,435,943,246,288,117,369,865,700,932,852,947,852,410,620,698,96,563,425,189 48 | 940,778,286,322,693,410,541,781,709,232,215,405,120,505,459,61,455,659,769,365 49 | 106,579,449,942,683,544,150,740,66,395,177,483,185,415,680,853,402,423,316,166 50 | 161,476,357,257,400,861,395,343,714,86,866,64,183,106,733,55,901,61,697,685 51 | 159,459,770,577,594,53,497,5,250,476,54,372,281,542,445,493,655,317,933,247 52 | 860,109,418,282,429,585,949,16,933,948,593,949,704,599,496,447,863,236,320,99 53 | 505,470,896,414,233,182,433,770,734,898,57,296,942,450,777,411,373,107,296,915 54 | 445,902,718,60,908,747,408,57,189,96,689,322,177,588,256,684,167,287,938,892 55 | 550,283,56,948,479,80,452,927,433,295,195,482,702,906,80,744,724,453,689,426 56 | 376,906,701,689,324,709,453,461,202,437,897,913,244,459,620,472,318,178,291,159 57 | 343,653,410,473,54,716,629,770,607,371,782,123,556,466,408,738,926,771,452,282 58 | 325,462,681,155,902,770,547,558,774,102,326,542,595,235,858,331,523,765,377,899 59 | 745,278,128,250,928,397,889,472,596,454,248,996,60,99,783,465,376,586,122,405 60 | 243,932,495,330,323,454,698,683,503,295,470,583,300,592,437,120,408,104,487,345 61 | 406,943,778,468,554,246,429,739,550,715,531,761,538,111,538,900,884,483,258,824 62 | 212,655,110,618,425,323,657,774,723,98,281,456,465,743,482,378,549,495,375,110 63 | 477,97,478,435,779,67,406,93,657,330,540,248,52,403,441,128,547,214,929,550 64 | 351,158,590,942,376,858,480,684,159,175,105,162,668,683,686,423,92,581,941,658 65 | 372,179,861,438,182,340,849,531,708,425,509,379,731,119,336,333,94,872,334,463 66 | 582,201,374,675,698,168,825,683,334,175,86,852,248,82,383,576,456,473,866,654 67 | 540,397,316,236,685,128,203,681,96,932,864,348,913,689,672,900,425,346,400,725 68 | 698,706,212,947,151,572,577,543,125,929,928,454,64,889,158,408,106,659,339,899 69 | 382,508,592,100,339,5,403,733,769,556,63,288,857,575,214,659,601,911,189,179 70 | 906,506,259,577,463,907,214,372,174,905,395,824,323,988,256,347,54,472,622,686 71 | 913,52,167,446,288,441,238,452,908,439,502,913,398,704,159,884,570,501,401,859 72 | 942,64,217,483,255,618,544,282,726,904,825,432,655,409,378,709,394,673,748,602 73 | 251,716,931,53,888,528,755,494,686,350,728,81,694,537,541,216,173,112,165,412 74 | 590,339,931,50,930,731,383,437,397,577,400,743,925,381,108,902,931,338,777,600 75 | 896,548,395,60,403,941,580,155,696,945,349,377,612,687,900,422,723,296,508,700 76 | 284,472,524,647,476,254,685,317,873,553,112,679,690,479,649,154,346,555,943,86 77 | 155,748,764,339,775,51,686,767,471,260,770,586,445,591,585,173,857,579,435,119 78 | 945,325,932,595,532,931,341,121,326,54,217,821,245,647,627,932,796,621,331,374 79 | 674,159,528,782,259,531,88,407,503,317,245,975,583,217,910,727,704,97,884,476 80 | 473,942,215,781,933,383,702,86,776,222,102,554,420,317,255,262,173,452,598,411 81 | 182,770,733,863,600,208,339,281,689,328,858,246,179,291,232,291,63,444,724,108 82 | 704,595,115,60,936,910,476,939,61,533,946,53,422,444,335,742,783,654,549,839 83 | 739,116,289,63,681,889,338,600,479,479,901,648,601,743,806,418,154,430,235,350 84 | 238,344,898,429,396,242,138,114,684,318,340,56,97,705,292,679,453,172,120,258 85 | 88,524,283,284,944,50,706,164,461,347,728,597,357,863,413,255,885,865,259,247 86 | 416,933,258,735,455,704,450,88,543,748,620,282,763,191,156,777,284,326,901,684 87 | 172,138,717,678,475,287,595,623,710,948,127,243,92,941,772,111,291,91,927,948 88 | 648,261,525,497,113,308,115,243,910,216,533,859,374,243,171,401,554,107,379,181 89 | 855,152,702,592,675,117,9,496,383,124,246,782,688,92,889,215,125,679,405,339 90 | 904,931,884,531,869,683,871,782,501,779,528,559,730,373,327,244,486,346,419,180 91 | 420,680,398,944,989,630,475,247,486,418,731,862,524,864,254,432,619,456,732,261 92 | 548,233,383,747,629,113,398,404,825,587,467,775,74,412,80,822,749,692,374,651 93 | 864,103,507,394,931,161,818,862,413,426,100,217,437,651,707,687,435,770,472,62 94 | 180,61,333,99,495,108,282,450,112,759,459,497,656,99,319,455,729,458,675,344 95 | 101,185,737,418,712,594,887,750,742,245,108,346,232,729,945,199,935,903,428,748 96 | 653,750,782,730,95,103,823,109,975,56,459,321,734,580,242,889,51,382,771,62 97 | 424,508,437,237,240,449,584,251,679,852,744,252,516,487,589,476,506,705,723,482 98 | 782,856,940,62,337,167,378,708,176,214,435,675,84,422,596,617,578,940,938,555 99 | 456,899,450,215,282,99,154,395,499,397,346,554,58,485,847,436,189,582,293,712 100 | 250,453,425,254,739,328,76,157,885,237,627,676,825,98,856,169,911,749,691,407 101 | 429,651,942,479,105,280,558,772,213,478,932,483,583,181,516,190,187,933,259,381 102 | 127,575,93,904,726,164,862,329,904,286,81,414,126,933,394,822,206,727,769,585 103 | 279,408,65,937,106,289,424,158,283,716,333,748,127,496,528,409,128,886,177,189 104 | 706,162,437,457,86,749,658,699,167,80,53,852,350,492,53,483,293,283,821,221 105 | 419,162,870,403,177,650,726,239,213,777,867,703,370,419,743,783,497,262,127,337 106 | 851,333,153,718,183,647,556,490,713,300,889,655,625,623,860,745,911,98,903,344 107 | 296,405,261,107,991,861,154,499,171,821,155,902,747,464,279,782,449,115,676,543 108 | 493,413,86,58,863,532,678,855,656,235,256,654,334,319,783,172,429,828,289,578 109 | 548,498,257,289,63,124,896,261,587,262,884,218,399,170,575,402,381,731,900,906 110 | 784,627,212,458,946,234,170,466,394,154,346,289,382,182,913,115,166,745,469,911 111 | 278,850,246,234,325,741,689,382,424,169,680,104,423,326,177,488,238,110,861,141 112 | 491,63,771,862,105,825,189,986,187,497,597,490,60,477,900,447,900,121,906,295 113 | 496,498,859,319,743,993,378,156,860,588,398,330,719,732,52,547,528,342,293,423 114 | 897,716,687,125,324,576,507,713,365,947,99,489,153,369,88,652,338,700,215,175 115 | 127,249,687,483,52,489,127,737,599,481,910,328,737,932,621,254,420,602,993,415 116 | 550,163,597,853,602,438,803,72,695,887,498,692,502,171,485,506,477,592,292,469 117 | 396,943,92,681,702,599,376,509,673,247,864,849,701,553,106,747,987,504,394,415 118 | 127,782,412,450,262,596,316,206,345,597,437,541,261,350,851,394,928,187,863,180 119 | 557,287,741,572,747,630,370,185,558,503,153,244,292,624,158,122,347,475,427,422 120 | 868,20,317,728,778,449,334,454,323,472,912,947,376,719,63,581,319,340,172,947 121 | 169,245,406,428,593,524,710,126,114,571,734,482,690,471,588,163,712,153,862,335 122 | 456,164,727,182,470,98,498,84,710,379,431,58,867,948,336,821,598,479,69,292 123 | 446,415,904,415,740,117,83,288,167,777,334,740,325,866,949,858,472,416,523,562 124 | 691,775,805,474,464,533,460,653,90,630,278,781,493,236,944,705,825,466,707,773 125 | 188,258,831,743,729,322,690,528,153,338,687,588,910,489,188,730,768,587,251,480 126 | 452,677,849,127,147,904,626,555,857,576,250,248,777,685,685,438,729,708,277,282 127 | 282,932,911,122,886,527,446,342,293,794,825,424,478,339,235,732,532,489,453,884 128 | 59,150,782,944,536,398,575,293,698,500,434,82,186,770,852,988,255,261,179,344 129 | 675,93,854,861,725,543,677,506,469,933,110,535,424,428,367,529,725,483,281,350 130 | 128,488,370,702,174,501,157,601,453,371,253,278,424,597,620,499,399,681,395,877 131 | 884,540,582,84,340,480,283,288,841,536,598,426,657,252,684,410,173,254,179,151 132 | 744,458,566,620,82,404,802,495,476,97,126,190,550,738,241,438,191,83,860,658 133 | 652,433,575,484,410,479,239,718,328,491,9,383,97,538,455,622,928,623,623,463 134 | 931,538,216,63,855,336,234,283,153,179,90,686,320,183,256,908,383,732,328,755 135 | 452,115,285,783,943,325,855,377,592,892,648,768,655,417,620,939,213,176,502,715 136 | 126,191,153,161,847,889,319,326,232,239,127,398,911,347,911,942,863,750,158,470 137 | 235,749,372,251,406,460,410,551,344,549,151,928,482,411,22,577,732,577,745,378 138 | 124,102,285,61,709,489,773,97,803,681,623,191,284,14,55,102,450,692,620,398 139 | 864,628,738,737,692,742,154,748,433,247,168,696,94,534,873,189,726,247,444,128 140 | 775,335,771,61,294,54,116,983,468,900,739,503,590,234,213,469,775,770,701,234 141 | 619,802,56,672,898,191,866,458,620,235,411,239,568,317,339,377,732,938,582,396 142 | 773,850,477,110,928,527,284,681,900,602,247,505,50,686,486,254,899,22,398,319 143 | 59,529,380,290,334,763,374,373,574,417,906,674,850,594,596,395,373,707,260,320 144 | 778,344,373,327,657,109,186,935,935,897,720,326,794,403,123,419,382,576,585,162 145 | 182,103,713,908,900,83,687,324,334,601,241,346,339,679,703,932,299,937,246,706 146 | 262,184,733,328,310,377,649,494,487,96,378,347,769,380,803,683,448,403,693,115 147 | 532,855,93,142,738,81,256,781,529,324,288,216,216,94,715,731,155,449,233,163 148 | 377,526,440,591,733,906,89,629,113,696,505,413,696,153,89,325,772,309,849,577 149 | 866,88,614,103,680,280,900,395,316,709,737,94,702,159,735,382,727,896,333,851 150 | 96,926,549,428,627,415,542,936,913,133,742,161,855,369,540,589,734,585,861,524 151 | 500,350,163,782,101,341,184,81,511,421,543,778,383,97,942,936,160,850,481,465 152 | 128,440,382,111,462,941,351,748,867,822,496,330,390,259,905,316,343,88,51,629 153 | 525,347,330,398,477,535,293,724,654,282,471,691,264,911,531,494,723,405,339,939 154 | 650,405,499,320,462,177,738,861,679,652,524,853,882,886,772,743,948,746,350,943 155 | 247,123,675,860,454,574,377,505,585,317,372,743,17,451,863,243,424,402,552,594 156 | 599,938,489,540,647,889,171,596,679,552,329,673,981,99,442,437,128,749,912,163 157 | 80,498,888,154,156,860,56,685,718,253,475,778,978,941,885,590,507,323,494,509 158 | 864,173,116,588,383,426,5,600,164,261,739,945,406,398,945,289,443,622,539,320 159 | 580,854,737,430,532,557,95,188,948,334,949,605,382,702,821,468,62,340,172,256 160 | 154,188,243,320,214,97,376,491,122,421,378,626,674,692,509,114,321,613,465,180 161 | 947,398,322,380,911,743,718,499,403,396,150,396,815,941,478,598,87,673,743,164 162 | 887,177,203,535,461,720,477,449,482,673,700,449,619,714,326,580,736,91,54,112 163 | 889,523,735,64,852,379,179,723,348,579,94,312,60,94,858,672,212,857,482,507 164 | 593,772,737,947,858,291,891,628,783,886,946,242,552,126,346,118,897,496,926,722 165 | 803,907,747,937,672,507,863,548,674,150,294,721,496,105,310,414,436,164,699,507 166 | 61,776,722,441,561,943,821,869,126,113,376,593,286,860,93,157,117,287,247,705 167 | 768,694,254,719,462,532,212,377,488,64,122,210,293,526,896,628,83,768,705,470 168 | 459,674,60,937,884,451,503,692,740,95,239,334,461,415,647,723,111,894,905,94 169 | 860,404,779,449,293,902,445,712,277,95,689,291,338,741,335,658,475,91,942,70 170 | 432,690,447,422,802,899,248,908,340,540,249,448,582,822,536,343,453,623,999,460 171 | 771,574,778,381,724,854,350,397,932,502,262,898,459,888,914,802,884,548,446,378 172 | 588,233,126,627,491,862,262,545,418,776,484,582,928,912,98,420,230,484,596,411 173 | 540,543,138,598,292,744,176,767,487,749,597,725,683,577,903,397,190,190,100,721 174 | 528,931,507,902,192,440,783,486,888,83,377,325,153,743,401,61,701,650,156,331 175 | 584,164,659,675,575,742,834,478,447,908,730,456,121,854,656,737,552,535,888,887 176 | 593,108,451,735,373,824,94,62,942,463,715,932,338,418,224,480,776,336,702,90 177 | 722,454,652,482,335,911,720,348,299,288,533,457,589,943,857,401,710,596,375,619 178 | 685,184,212,683,772,935,562,477,505,696,332,771,465,399,328,477,482,407,628,929 179 | 704,69,869,858,191,159,179,328,934,416,278,507,685,899,700,853,589,781,448,462 180 | 216,81,51,677,457,463,94,281,294,687,909,773,166,294,430,147,295,52,493,122 181 | 342,450,747,203,382,95,160,595,557,348,406,868,589,526,112,373,947,191,446,429 182 | 479,57,232,247,232,473,908,887,80,472,783,477,221,371,685,260,532,720,53,506 183 | 451,476,628,490,773,937,163,674,157,648,580,471,539,717,194,628,552,777,942,536 184 | 245,103,687,328,420,443,54,707,494,546,249,648,583,602,729,325,321,149,702,103 185 | 658,351,690,889,942,911,778,167,240,190,728,980,451,480,51,445,52,910,159,685 186 | 430,901,213,423,892,189,497,170,705,441,697,698,738,375,551,181,855,939,929,109 187 | 163,126,523,117,119,465,373,911,339,417,859,241,295,694,372,461,438,155,681,669 188 | 730,376,435,90,157,946,543,931,550,58,948,909,912,421,600,531,619,206,105,652 189 | 686,777,529,908,429,528,502,60,779,408,88,111,345,398,335,420,111,283,138,93 190 | 678,856,238,692,108,324,849,622,172,609,459,707,251,98,110,738,123,724,724,487 191 | 541,292,426,576,729,856,107,292,582,57,436,799,347,591,428,714,474,243,501,179 192 | 769,478,411,910,899,499,944,500,336,182,946,427,655,455,763,419,152,702,748,551 193 | 530,730,601,887,233,81,377,866,20,251,371,115,454,332,98,379,865,825,347,256 194 | 856,339,936,795,175,699,468,171,726,126,446,124,947,321,528,592,99,497,91,555 195 | 279,417,673,458,485,12,102,529,317,458,234,730,155,106,537,651,678,61,478,598 196 | 909,464,417,327,868,731,178,414,884,857,348,287,402,544,887,728,60,326,610,535 197 | 440,554,627,181,294,345,249,902,106,828,489,776,380,853,349,108,539,239,673,595 198 | 694,546,907,450,651,153,488,980,253,557,528,165,627,577,290,557,289,783,101,864 199 | 675,437,246,446,419,402,116,897,399,356,487,708,330,868,170,346,413,109,127,374 200 | 460,285,677,449,755,486,249,941,554,773,371,349,52,235,724,467,677,317,429,173 201 | 278,257,408,690,591,153,860,714,186,253,414,377,476,782,742,78,250,214,437,907 202 | 624,621,318,287,327,552,119,850,402,625,734,294,943,583,788,886,775,57,906,523 203 | 768,726,172,901,602,58,722,992,652,64,574,593,902,293,497,715,117,439,898,340 204 | 461,116,860,150,124,283,652,158,621,202,154,213,601,447,853,593,656,583,253,717 205 | 493,164,83,57,542,624,690,538,63,237,246,184,294,102,618,709,588,687,688,748 206 | 734,770,451,909,93,408,439,500,426,455,696,622,999,597,503,934,899,417,401,857 207 | 821,729,477,529,487,102,176,850,499,375,351,320,434,173,319,162,317,775,87,518 208 | 824,233,602,428,713,508,374,165,186,108,868,332,467,417,485,783,481,62,59,615 209 | 583,680,691,938,13,126,397,725,587,896,116,500,242,97,253,503,409,340,929,450 210 | 627,83,499,939,604,156,150,555,944,703,58,782,733,158,457,85,717,625,852,479 211 | 934,929,396,884,58,112,178,557,578,153,553,475,458,551,408,998,740,163,120,342 212 | 349,439,903,583,802,859,702,58,416,492,773,724,140,381,61,906,343,254,856,464 213 | 451,677,128,52,625,294,585,648,743,774,739,686,770,581,822,125,379,734,647,199 214 | 468,507,559,58,188,154,9,259,52,911,583,543,904,423,155,322,462,449,530,291 215 | 686,739,50,64,413,317,452,181,123,678,416,176,170,701,412,15,707,458,695,449 216 | 334,285,114,933,432,672,216,680,890,902,450,700,259,779,343,748,537,182,439,181 217 | 480,549,547,456,624,184,746,793,908,176,151,488,490,555,736,464,428,862,719,94 218 | 162,106,328,369,103,461,504,382,51,481,101,376,457,344,731,296,132,680,112,331 219 | 344,348,536,586,411,113,442,345,774,897,444,133,421,293,741,574,675,653,704,335 220 | 254,296,54,703,901,458,734,317,923,184,127,555,255,488,861,286,318,598,397,457 221 | 464,652,910,249,861,931,768,716,686,120,171,164,777,504,860,19,803,89,443,926 222 | 439,253,601,456,449,153,884,714,64,885,336,540,827,585,61,163,888,779,821,167 223 | 694,396,719,912,215,673,313,161,101,492,775,908,823,470,333,498,554,342,884,529 224 | 701,930,343,690,283,707,865,929,820,97,328,538,701,649,488,714,161,242,658,322 225 | 415,739,313,281,742,898,707,905,328,743,245,782,538,288,507,493,582,532,943,680 226 | 210,911,851,376,487,595,378,95,528,110,328,726,93,464,109,430,732,379,536,188 227 | 529,775,496,246,852,676,214,410,857,770,770,676,183,859,780,115,154,626,652,314 228 | 374,624,151,860,714,940,852,656,188,502,582,65,945,659,772,153,455,945,429,530 229 | 244,469,932,534,284,429,290,473,901,436,63,588,197,484,156,415,115,339,727,296 230 | 684,485,490,574,66,438,460,251,216,556,700,351,380,913,81,910,403,494,672,379 231 | 281,864,430,679,538,472,187,182,90,424,59,743,523,182,892,427,503,397,329,465 232 | 83,702,918,334,674,691,286,215,598,933,622,944,395,150,260,497,124,434,172,454 233 | 424,399,468,72,851,657,780,717,170,398,550,374,340,183,253,503,823,949,650,370 234 | 106,557,428,185,396,930,609,694,217,257,651,698,728,278,475,859,328,743,405,489 235 | 659,63,549,498,931,246,975,549,444,234,437,455,402,913,287,372,852,410,440,398 236 | 178,87,251,582,176,945,235,726,681,453,332,699,296,371,143,319,850,377,254,374 237 | 741,252,682,658,281,740,336,349,167,436,943,233,191,380,507,379,507,723,799,108 238 | 409,185,374,911,125,601,154,505,708,403,543,583,416,624,677,403,470,927,1,579 239 | 591,597,15,535,417,896,248,901,431,526,251,458,869,370,58,333,374,260,383,175 240 | 544,588,580,126,85,483,932,989,647,574,480,936,545,258,558,720,495,418,539,351 241 | 120,533,976,327,466,80,724,251,64,727,899,579,620,897,421,865,943,869,372,424 242 | 400,851,85,351,656,705,709,677,20,151,124,550,782,437,555,244,348,254,347,692 243 | 592,583,330,495,744,543,154,898,527,624,578,714,927,253,565,93,88,580,95,734 244 | 462,431,734,771,946,532,987,466,931,326,685,403,468,289,372,683,409,59,420,434 245 | 179,709,374,860,115,903,58,580,214,417,383,484,243,497,70,454,258,109,280,941 246 | 687,628,340,756,113,329,913,416,588,937,186,771,402,419,438,440,576,487,857,691 247 | 455,547,262,422,775,107,672,161,792,243,589,182,654,93,716,474,115,239,595,652 248 | 496,698,177,588,777,107,528,731,648,490,294,493,467,591,249,933,331,795,850,778 249 | 584,492,630,948,343,106,7,441,473,318,63,425,480,903,677,88,743,822,687,429 250 | 557,600,338,932,738,449,177,586,232,591,260,277,723,414,271,693,885,338,534,462 251 | 930,493,679,948,529,116,581,849,681,709,375,685,397,527,536,480,160,112,556,810 252 | 928,245,111,885,398,855,4,630,113,735,112,256,931,653,213,281,399,431,86,250 253 | 936,509,229,150,239,703,734,695,370,904,582,906,282,153,948,586,337,675,824,240 254 | 343,680,716,430,539,865,825,397,447,374,551,436,404,991,862,858,730,684,343,590 255 | 285,185,244,703,794,443,657,236,329,331,453,525,734,281,407,600,471,260,683,506 256 | 711,682,691,451,444,61,555,191,764,345,57,502,628,382,555,595,163,728,783,52 257 | 383,467,890,779,381,803,524,377,554,259,491,410,478,478,906,115,428,725,469,868 258 | 551,167,158,911,248,597,698,747,335,242,463,158,727,80,436,411,824,74,99,287 259 | 238,779,933,335,212,545,792,737,112,673,84,89,597,93,244,595,341,407,578,724 260 | 57,865,708,555,191,106,260,708,218,853,261,113,93,948,285,261,440,733,850,327 261 | 152,188,943,586,728,540,901,692,419,875,98,63,326,455,345,698,381,290,463,496 262 | 926,101,115,156,408,59,359,445,939,558,185,651,60,343,898,747,443,286,504,340 263 | 343,732,678,554,124,601,730,624,862,155,428,570,658,236,480,466,865,417,907,480 264 | 82,81,788,555,94,286,128,729,508,705,590,547,782,454,523,778,400,712,647,110 265 | 732,151,436,241,160,602,581,112,442,722,96,658,60,326,662,462,174,161,413,678 266 | 456,180,599,174,413,491,686,488,501,246,548,602,587,619,649,587,612,779,404,286 267 | 691,736,530,162,802,154,383,898,459,172,349,412,768,470,701,540,901,100,196,375 268 | -------------------------------------------------------------------------------- /p17.dyalog: -------------------------------------------------------------------------------- 1 | p←'#'=↑⊃⎕NGET'p17.txt'1 2 | +/,{3=n-⍵×4=n←{+/,⍵}⌺3 3 3⊢⍵}⍣6⊢¯13 ¯20 ¯20↑7 14 14↑1 8 8⍴p ⍝ part 1 3 | +/,{3=n-⍵×4=n←{+/,⍵}⌺3 3 3 3⊢⍵}⍣6⊢¯13 ¯13 ¯20 ¯20↑7 7 14 14↑1 1 8 8⍴p ⍝ part 2 4 | -------------------------------------------------------------------------------- /p17.txt: -------------------------------------------------------------------------------- 1 | ..##.#.# 2 | .#####.. 3 | #.....## 4 | ##.##.#. 5 | ..#...#. 6 | .#..##.. 7 | .#...#.# 8 | #..##.## 9 | -------------------------------------------------------------------------------- /p18.dyalog: -------------------------------------------------------------------------------- 1 | ⎕PP←17 2 | p←'\*' ' '⎕R'×' ''¨⊃⎕NGET'p18.txt'1 3 | +/⍎¨'\(' '\)'⎕R(,¨')(')∘⌽¨p ⍝ part 1 4 | f←{⍎'\d+(\+\d+)+'⎕R'(&)'⊢⍵} ⍝ eval without parens 5 | g←{f'\([^()]*\)'⎕R{⍕f ⍵.Match}⍣≡⍵} ⍝ eval with parens 6 | +/g¨p ⍝ part 2 7 | -------------------------------------------------------------------------------- /p18.txt: -------------------------------------------------------------------------------- 1 | 7 + (9 * 8 + 5 + 5 * (3 * 4 * 7 + 6 * 4)) * ((3 * 6 + 3 * 4 * 7 * 4) + 4 * 3 * 5 + 5 * (5 * 6 + 7)) * 2 + 6 * 4 2 | 9 * 4 * ((9 * 8 + 9 + 2 + 9) + 2 * 9 + 2 + 2) * 5 * 6 3 | 3 * ((9 * 3 * 8 * 6 * 6 * 7) + 8) * 2 * 9 + 4 * 8 4 | (3 + 4 + 4 * 4 + 9) + (7 + 6 + 2 * 8) * 9 + 7 * 8 5 | 9 + 6 + 6 + 9 * 9 * 5 6 | (3 * 5 + (4 + 3 * 7 * 8) + 7 + 8 + 2) * 8 * (3 * 4 * 8) * ((4 + 5 * 2) * 7) 7 | 6 + (5 + 8 * (6 * 8 * 9 + 9 + 8 * 9) * 4 + (5 * 9)) * 2 + 2 8 | (6 + 8 + (6 * 6 + 2) * 6 * (7 + 7 + 8 + 9)) * 3 + 8 + (6 * (8 + 8 + 9)) + 2 9 | 9 + (4 + 6 + 5 * 9 * 4) 10 | (5 * 3 * 4 * 4 + (6 * 4 * 5)) * 2 * 9 11 | (2 * 3 * 9) * 2 12 | 6 + (4 + 8 + 2) 13 | (9 * 7 + (2 + 9 * 9 * 9 + 3) + (7 * 3 * 4 * 2 + 3 * 7) + (5 + 9 + 4 + 3) + 4) * 9 14 | (2 + 2 * 5 + 9) * ((5 + 9 * 4 + 7) * 2) * 7 + 4 15 | 4 + 2 + ((4 + 3 * 2 * 4 + 5) * 6 + 7 * (4 * 2) * 9 * (6 + 3 + 8 + 2 * 5)) 16 | (5 + 9) + 6 + 9 + 8 * 5 + 4 17 | 5 * 5 + ((3 + 5 * 4 + 7 * 9 * 7) + (7 + 2 * 3 * 4 + 8) * 6) + (5 * 9 + 9 + (3 + 5) * (8 + 2) + 5) + (3 * 3 * (6 + 3 + 7 * 8) + 3 + 2) 18 | 2 + 4 + 8 + 4 + 7 + (2 + (4 + 8 * 4 + 4 + 6) * 8 * (6 * 6 + 7 * 2) * 6 * (8 + 5 + 9 * 4 + 5 + 6)) 19 | 7 * 4 + 8 + (8 + (7 * 3 + 4)) * 3 20 | (6 + 7 + 8 * 4) + ((8 + 7 + 8 * 5) + 8 * 8) 21 | 9 * 5 * 8 + 2 22 | 6 * (9 * 5 * 9 + 9 + (3 + 7) * (8 + 9 + 3 + 5 + 2 + 7)) * (6 + 7 + 4) + (2 + (2 + 7 * 2 + 4 + 2) + 4 * (9 + 6 * 5 + 2 * 9)) + (8 + (8 + 6 * 5 + 6 + 9) + (2 * 7 + 2 * 9 * 9) + 7) 23 | 4 + 2 + 9 + ((3 * 6 + 8 + 4 + 5 + 4) + 4 + (5 + 4 * 8 + 8) * (3 * 4 * 8) * 7 + (8 * 3 + 8)) + 5 24 | 6 + 9 + 4 25 | 9 * 3 * 4 * 3 * 9 26 | 2 * 7 * (9 * (6 + 9 + 6 + 5 * 5 + 6) + (2 * 7 * 2 + 3) + 6 * 2) 27 | (6 + 3 + 6) * 9 + 5 * ((9 + 9 + 7 + 5) + 4) 28 | 8 * 4 * (8 + (7 * 4) * 5 + 6 + 7 + (5 * 7 + 9)) + (5 + (8 + 7 * 2 + 2 + 3) + 8 + 6 + 2 + 2) * (5 + (7 + 4 * 2 + 6 + 6 + 3) + 3 * 8 + 7) 29 | 9 + (5 * 6 + 5 * 2 + 8) * 3 30 | 5 * ((9 * 5 + 9) * 9) + 4 * 8 31 | 4 * 5 * (5 + 5 + (2 * 9 + 3) * 4) * 7 32 | 9 * 8 * (8 * (9 * 4 + 7 * 2 + 3 * 8) + (2 * 7 * 2 * 3 + 7 * 2)) 33 | 9 * 4 + 2 * 7 * (5 * (4 * 5 * 6) * 3 * 4 + 4) * (4 + 4) 34 | 2 * (5 + 6 + (2 * 3 * 3 * 2 * 5 * 5)) + 4 35 | (5 * 7 * 8 + 4 + 6) * 2 + 3 36 | 8 * ((5 * 3) * (6 + 6 * 6 * 2) * 8 * 6 * 6) * 7 * (3 + 6 * 2 + (9 * 8 * 8 + 7) * (5 + 2 * 2 + 5) + 9) 37 | 7 * (7 + 5 + 2 + (5 + 9 * 4 + 5 + 3) * 8) + 2 * 8 * 6 38 | 2 * (6 + 7 * 7) + 3 * 7 * (4 * 7 * 6) 39 | 7 + 7 + 8 * (7 + 2 * (3 + 9 + 8 + 7 + 4) * 9) + 5 40 | 8 + 3 * 9 * (8 + 8 * 5) + 8 * 2 41 | 6 * 6 * 5 * (8 * 9 * 2 + 6 * 2 * (9 + 3 + 4 * 3 + 6)) + 2 + 4 42 | 3 + 8 + 7 + 3 * 5 + 9 43 | (4 * (9 * 2 + 3 * 4) * 5 * 2 + 5) + (7 * 7 * 4 + (4 + 3 + 5 + 6 + 3 + 7) + 6 + 3) * (3 + 9 * 2 + 2) + 3 + 8 * (7 * 8 * 5) 44 | 8 * (6 + 6 * (4 * 3 * 6 + 9 + 9) + (2 * 3 * 2 * 4 * 2)) * (2 * (8 + 8) * 6 * 4 + 3) + 9 * 6 45 | 3 * ((7 + 6 * 8 * 9) + 7 * 7 * 2 + 3 * 7) * 8 + 9 + (2 + 7 * 6) * 3 46 | 4 * 8 + 6 + (3 * 3 + 8 * 7 * 9) + 4 * 6 47 | 2 * 5 * (8 * 2) * 4 48 | ((3 + 9) * 2 * 5 + 5 + 8 + 8) * 6 + 2 49 | 9 + 2 + 3 50 | 7 + 4 + 9 * 9 + (9 * 6 * 5 * (3 + 3 * 7 + 3 + 9 * 7) * 9 + 8) + 9 51 | (6 + 2 * 9) + (6 * 6 + 2 + (6 * 6 * 3 * 6)) * 4 + 2 + 2 52 | 5 + 9 * ((3 + 8 + 7 + 3 + 9 + 3) + 8) 53 | (4 + 7 * 9 * (4 * 8 + 7 + 2 + 6) + 2) + 9 * 9 * 2 + 8 + 8 54 | (3 * 6 + 3 + 7 + 5) + ((2 * 3 + 2 * 3 * 7 * 5) + 6 + 6 * 9 * 7 * 8) 55 | 5 * 7 + 7 * (6 * 5 + 8 * (7 + 5 * 9)) + 8 56 | (7 + 6 * (2 * 5) + 3 * 6) + 5 * 2 + ((8 + 9) * 6) * 2 57 | 4 + 8 * 3 * (7 * (5 * 5) * 3) + 3 58 | 9 + 7 + (3 + 7 * 5 + 3 + 2) + (8 + 7 * 5) 59 | 2 * ((5 * 8 * 2 + 5 * 2 + 8) * 2 * 4 * 3) + 5 * 5 * 9 * 4 60 | 3 * 6 + 6 + (8 + (3 * 8 * 4 * 7) * (6 + 5)) * 6 61 | 6 + (5 * 3 * 7 * 2 + (2 * 6 * 6 + 4) + 9) * 2 * 6 + 6 62 | (4 + 9 + 9 * (3 + 6 + 3 * 7 + 8 + 5)) * 8 + 5 + 5 * (8 + 6 + 3) * 4 63 | 7 * 8 + (2 + (5 + 6 * 5) * 6 * 6 + 5 + 3) 64 | 7 + (3 + (8 + 7 * 5 + 5 + 5) * 5 + 4 + 8) + 9 + 3 65 | 7 * ((7 * 5 * 9 + 7) * 6 * 4 * 6 * 6 + 6) 66 | 7 + 5 + (3 * 3) * 6 + 5 67 | (4 * (3 * 3 * 5 + 8 + 9) * 4 * 8 + 7 * 3) + 5 * 5 + (8 + 2) * 9 * 3 68 | 8 * (2 + 3 + 4) + 4 + 8 + (3 * 4 * (3 + 2) * 4) 69 | 9 * 2 * (9 + (8 + 6) * (7 + 9 * 5 * 6) * 8 + 7 + 7) + 5 * 2 * 9 70 | 7 * 7 + 7 + 2 + (5 + 2 + 6 + 7 * 6 + 8) + (9 * (6 + 2) * 3 + 9 + 4 + 7) 71 | (3 * 4) * 9 + ((2 + 5 * 2 + 9 + 6) + 5 + 9 * (4 * 9 * 7 + 2 + 3 + 6) + 4 + (4 + 7 * 8 + 5 * 9)) * 9 + ((8 * 9 + 2 + 7 + 8 + 5) * 7 + 5 * 2 * 9 + (7 * 8 * 6 + 8 + 2)) 72 | ((4 + 9 + 7 * 6 * 6) + 3 + 6 * 3 + 3 * 5) * 7 + 2 * 9 * 4 73 | 3 * 7 * 3 74 | (6 * (9 + 8) + (3 * 4 * 8) + 9 * 4 * (8 + 6 * 8 + 8 + 3 * 5)) + 3 * 4 * 9 * 6 + 2 75 | ((5 * 7) * (9 + 2)) + (2 * 9 * 7 + 3) * 8 + (7 * 5 * 5 * (9 * 9 * 2)) + ((7 + 7 + 8 + 4) * (5 * 3 * 7) * 6 * (7 * 7) * (2 + 2) + 7) * 6 76 | ((9 * 9) * (8 + 3 * 5 + 9) + 5 * 7 + 3 + 8) + 2 + 7 + 3 77 | 8 * 5 * (8 + 3 * 6) + 4 + 8 + 5 78 | (4 * 9 + (8 + 9 + 8 * 9 * 3) + (3 * 8 * 9 * 9 * 2) + 6 + 5) + 2 + (5 * (6 + 4 * 9 + 3)) + (4 * 9 * (9 * 8 * 7 * 6) * 5 * (2 * 7 * 9) + 5) * ((4 * 5 + 6 * 4) * 6 * 6 + 9 * 7) 79 | (8 * 8 * 7 * 5 * 2 + (9 * 9 + 4 + 8 + 3 + 5)) + 5 * 3 * 3 80 | 5 + (8 * (3 * 3 * 2 + 7) + 9 + 2) * 8 * 4 81 | 9 * (9 * 4 + 2 + 9 * 5 + 3) * 3 + 3 * (5 * (9 * 5 * 8 + 2) * (3 + 8 + 3 + 2) + (6 * 5 * 9 * 5) * (4 + 2 + 5 + 2 * 9) + 4) * 5 82 | 8 + (7 * 7 * 9) * 7 * 8 * 9 * 3 83 | 6 + 9 84 | (3 * 8 + (8 * 2 + 9 + 3 * 5 * 6) * 2) * 6 * 2 + 4 + 4 * (4 + 5 * 4) 85 | (6 + 8) * 3 + 4 86 | 7 + 2 * 4 + 9 + 7 87 | 8 * (7 + 2 * (2 + 4) + 3 + 6 + 9) * 2 * 9 88 | (6 * 9 * (2 * 6 + 2)) * 4 + 7 + 9 89 | ((2 + 7 + 7 + 4 * 2) + 2 * 9) * 9 90 | 3 + 8 + 9 91 | 5 * 9 * (3 + 4 * 6 + (8 + 3 * 3 + 5)) 92 | (4 * 4 + (8 * 6 * 7) + (7 * 5 + 9 + 6 * 7 + 8) + 8 * 7) * (6 + 2) * 5 * 3 93 | 6 * 3 + 5 * (9 * 2 + 8 + 5 * 9) * 8 94 | (8 * 9 + 7 * 7 * 8 * 8) * 7 * 6 95 | 6 + 7 * 6 + 2 * (6 + 7 * 5 * 9 + 6 * 4) 96 | 4 + ((9 * 3 + 9 * 9 * 5) + 5) * 9 97 | 2 * (2 * 7) * 6 + 9 + (8 * 7 + (2 * 5 + 8 + 5) + 4 * 5 * (4 * 3)) 98 | (9 + 2 + (9 + 5 + 7) * 3 + 7 * 3) + 3 + 8 + (6 * 5 * 9) 99 | (9 * (7 + 6 * 9) * 5 + 5 + 6 + 6) * 5 + 9 100 | 7 * 8 * 2 * 9 101 | 5 * 2 + 7 + ((6 * 4) + 8 + 2 * 3 + 6) * 9 * 2 102 | ((6 * 8 * 6 * 5 + 3 * 4) * (4 + 5) + 4) + 9 + 4 103 | 4 + 7 + 7 + (4 * 7 * 3 + 9 + (6 + 5) * 9) + 5 104 | (2 + 4 * (8 + 6 * 5 + 4) * 2 + (9 + 6)) * 2 + 8 105 | (2 * (3 + 2 + 9 * 4)) * 8 * 9 106 | 3 * 3 * (9 + 6 + 7) 107 | 6 + 2 * 6 * 5 + (4 * 7) + 8 108 | ((6 * 4 * 8 + 2 + 4) + 5 * 5) + 4 * 4 * 9 + 4 109 | (7 + 9 * 2 + 8 * (7 * 3)) * 6 * 9 + 4 110 | (5 * 8 + 6 + 2 + 3) + 6 + 8 * (4 + 4 * 7 + 8 + 7 * 4) + 3 111 | (8 * 5 + 4 + 3 * 2) + (8 + 5 + (9 + 7) * (5 * 9 * 2 * 5 + 9 + 9)) * (7 + 8) + 2 112 | 9 + (2 + 7 * 2 * 7 * 8) + 9 * 5 + 4 + 9 113 | 5 * 7 * ((5 + 9 * 5 * 5 + 9) + 2) + 4 114 | 7 + 7 + (4 + (3 * 6 * 9 + 8) + 2 + (9 * 6 + 5) * 2) 115 | 9 * 8 + ((7 * 5 * 2 * 3 * 3) * (4 * 8 * 2 * 9 * 8 + 5)) * 6 + 4 * 9 116 | (8 * 5 * 8 * (2 * 5)) * 6 117 | ((9 + 7 * 5 * 6 + 3 + 8) + 8) * 6 + (5 + 2 * 2) + 4 + 9 * ((4 * 5 * 7 * 9 + 4) + 9 + 2) 118 | ((3 + 3 + 2 * 4 * 4) * 7) * 3 * 8 + 4 + 8 119 | 2 + (2 * 3 * 7 * 2 * (3 * 4 * 6 * 2 + 2 + 5) * 7) * 3 * ((8 + 5) * 4 * 4) 120 | (7 * 3 * 9 + 7) * 9 * 6 + 2 + 6 + (8 + (5 + 6 + 9 * 7) + 6 + 4) 121 | (8 * 4 * 6 * 7 * 2 * 4) * 5 + 2 * 3 + 9 122 | 7 * (7 * 3 + 8 * (5 * 4 + 8 * 8) + 7) + ((3 * 6 * 3 * 2 + 6) * 5 * 9) + 4 123 | 5 + 3 + ((4 + 9 + 8 * 4 * 3) * 4 + 3 * 6) 124 | 5 + ((4 + 4) * 2) * (9 * 5 + 3 * 3 + 9) * 7 125 | 9 * 2 * 4 * (4 + 3 * (4 + 3) * 3) * 4 126 | 3 + 4 * ((5 * 8 * 2 * 3) + (9 + 8 * 2) * (5 * 3 + 3 + 7) * (2 + 8) * (6 * 4 * 9 * 4)) 127 | 9 + 3 + 5 + (4 + (3 * 2 * 6) * 9 * 9) 128 | 9 * 2 + 3 + 5 * 2 + 3 129 | ((9 + 3 + 3 * 6 * 4 + 5) + (9 * 3) * 4 + 2 + (2 * 5 + 5)) * (9 + 5 * 3 * 7) * 8 * 4 + 9 + (2 * 8 * 4) 130 | 9 + ((4 * 8 + 2) * (8 + 4 * 4) + 4 + (7 + 9 + 6 * 3 * 4 * 8) * 8 * (5 + 8 + 9 * 8)) + 3 * (4 + 3 * 5 + (3 * 4 * 9)) 131 | (9 * 3 + 9 * 8 + 6 + 2) + 6 * (4 + 4) 132 | (6 + 3 + 6 + 4) * 9 * 5 133 | 6 + 8 * (6 + 3) * (7 + 6 + 7 * 9 * (2 + 5 * 2)) + 3 134 | 3 + 5 + (4 * 5 * 2) + 2 + 7 135 | 6 + 9 * 5 + (4 + 2 + 5) * (2 + 6 * 2 * 3) 136 | 8 * ((9 * 5 + 9 * 2 * 9 * 9) * (2 + 5 * 3 + 9 + 6 + 2) + 6 * 8 + (8 * 8)) * 6 + 6 + (9 * 8 * 8 * 2 * 5) + 5 137 | 3 + 5 + 2 + (2 * 4) 138 | 2 * (2 + 6 + 8 * 2 + (2 * 5 + 6) * 5) 139 | (9 + (2 * 8 * 3 * 3) + 9 + 8 * 2) + 2 * 9 + 7 140 | 2 * (9 + 6 + 7) + (2 * 2 * (7 + 8) * 4 * (4 * 4 + 3 * 5)) + 6 * 3 141 | (3 * 4 * (5 + 9) * (7 * 3 * 3 + 3 + 9 + 8)) * 2 * 8 142 | (7 * 2 + 7) * ((2 * 4 * 5) + 2 * 3 + (7 + 8)) + 3 + 9 + 3 143 | 4 + 2 * (5 * 4 + 7 + 6) * 6 144 | 2 * (7 * 3) 145 | ((9 + 9 * 4 * 4 + 6) + 6 + (4 + 7 * 9 * 5 + 9)) + 8 + 7 146 | 3 + (6 * 3 * (8 + 4 * 8 + 8 * 7 + 9)) * 3 + 5 + (5 + 4 * 7 + 4 + 3 * 4) * 2 147 | 5 * 5 * 3 * 9 + ((5 + 2 + 8) * 2 * 2) 148 | (9 + 5 * 7 + 8 * 5 * (2 * 6 * 8 + 3)) * 5 149 | 5 * 7 * 4 * ((6 + 5) * 3) 150 | 5 * 8 * ((3 + 2 + 8) + 2 + (7 * 2) + 3 * 9 * 9) + 5 * 8 + (5 + 8 + 2 * 6) 151 | 2 + 2 * ((4 + 6 * 9) + 3 + 5 + 8) 152 | (5 * 6 + 8 + 5) + 7 * 5 * 8 * 2 153 | 2 + (7 * 2 * (2 * 9) * 3) * (5 + 7) * 8 154 | ((8 * 3 + 2 * 8) + 4) + 2 + 8 + 3 * 7 + 9 155 | 2 + 3 + 3 * 9 + (4 + 6 + (6 + 8) + 5 * 5 * 5) 156 | 9 * 8 * (2 * 3 + (4 * 8 * 7 + 9) * 7 + (6 + 7 + 9)) * 7 157 | 6 * (8 * (4 * 3 + 9 + 7 + 2) * 8 + (6 + 4 + 9 + 7) + 3) 158 | (5 * 8 * (2 * 8) + 7 * 4) + 3 + (7 + 6) * 3 159 | (5 + 4) * 3 + ((9 * 2) + 3 + 5) * 2 160 | (2 * 6 * (8 * 5) + 9 * 5) + (3 * 9 + (2 + 5 + 6)) 161 | 6 * (5 + 3 * 3 * (2 * 6 * 4 + 6 * 4 + 6) + 4) + 5 + 2 * 4 162 | (9 + 3 * 8 + 8) + 3 + 3 + 9 163 | 3 * ((8 * 4 + 4 + 9) * 7) + 8 * 3 * 7 164 | 5 * 2 + 9 * 7 + 4 165 | 5 * 5 + 7 * 6 166 | 2 * 7 + ((2 * 8 + 4 + 4 + 2 + 4) * 9 * 2 * (9 + 7 + 8 * 9)) * 5 + 8 167 | 4 + 6 + ((2 * 3) + 2) * 4 + 9 168 | 2 * ((6 * 6 * 5 * 6 * 3 * 9) * 6) * 4 169 | ((4 * 8) * 3 * (9 * 2 * 5 * 3 * 3 * 2) + (6 * 7 + 3 + 9) + (3 + 5) * (6 * 4)) * 4 * 8 170 | 5 * 3 + (9 + 4) + 3 + 9 * 6 171 | (5 * 8 + 5 * 2 + (7 * 5 + 4)) + 5 * 9 * 7 172 | (6 * 2 + 9 * 5 * 5) + 2 + 2 * 5 173 | 3 * (4 + 7 + 2 * (7 * 9 + 5 * 6 * 6)) * 6 + 8 174 | 6 + 9 + (4 * 4 + 6 * 7 + 6) * 5 + 8 + 6 175 | 8 + ((2 + 5 + 4) * 9 * 5) 176 | 4 * (9 + 5 + 7 * (6 + 8 * 7 * 2) * 4 + (9 * 8 * 7)) 177 | 5 * 5 + (9 * 4 * 5) + 2 178 | (4 + 3 * (5 + 9 + 8 + 4) + 4 * 4) + 2 * 2 * (5 * (3 + 9) * (4 * 9 * 8) * (2 + 8 + 3 + 5 * 4 + 4) * 6) 179 | 7 * 2 * 3 + 2 + 9 180 | (9 + 5 * (8 * 2 * 5) * 9) + 7 181 | 8 + 3 + (8 * 2 * 6 * (8 * 2) * 4 + 3) * 2 182 | (3 + 6 * 3) + 9 * (7 * 6) 183 | 5 + (6 * 3 + 6 * 3 * 7) + 4 + 9 184 | 9 + (7 * 5 * 8 * (8 * 2 * 5 + 5 * 3) * 3 * 5) * 2 * 4 185 | 4 * ((6 + 7 * 9) * (9 * 2 + 2)) + ((2 + 3 + 5 + 6 + 9) * 9) + 6 186 | 9 * 3 + (4 * 7 + (9 + 8 + 5)) + 4 + 4 187 | ((3 * 4 + 6) * 9 + 8) * 4 * 3 * 2 + 7 188 | (6 * 9 + 3 * 5 + 2) + 2 * 5 + (8 * 8 * 7 + 6) + ((6 * 5 + 4 + 3 * 9 + 7) + 3 + 4 * 3 * 9) + 5 189 | 7 * (8 + (7 * 2 * 7 + 5 * 4) + 7 + 4 + 7 + 2) * 2 * 4 190 | 3 + (7 * 8 + (3 * 9 * 9 * 6 * 6)) + ((7 * 8 + 8 * 9) + 5 + 2 * 9 * 6 + 8) + 3 * 6 + (8 * 8 + 2 * 8) 191 | 4 * 4 * 5 192 | (3 + 8) + 4 + 6 * 8 * 5 193 | 4 * (8 + 9 * 2 * (5 * 9) + (2 + 8)) * 5 + 8 194 | (3 * (6 * 4 + 9 + 8 * 5 * 3) * (7 + 4) + (7 * 2 + 4 * 7 + 5) + 7 * 4) + 9 + 2 * 5 * 8 195 | 3 * 8 + 6 + 6 * 4 * 9 196 | 4 * 5 * 2 * (2 * 5 * 4 + 5 * 4 * 2) 197 | ((3 * 9 * 9) + 4 + 7 * 4 * (8 + 2 * 4 + 3 + 3) + 8) * 8 * (6 * (5 * 8 + 9 + 9 + 3 * 8) * 7 * 5 * 2) 198 | (5 * 3 + (6 * 6 + 3 + 7 * 6 * 9)) * 9 * 2 * 5 + 3 199 | 9 + (7 * (7 + 9) + 3 * 2) 200 | 2 + 5 * ((3 + 4 + 5) * 6) * 9 + ((6 * 6) + 5) 201 | 5 + (5 + 2) + (3 + 8 + 4) + 6 * 4 + 8 202 | (6 + 5 + 7 + 3) * 5 + ((6 + 7 + 5 + 3) + (2 * 6 + 9 + 2 * 8) + 4) * ((7 * 7 + 8 + 8) + 4 * 7 * 8 * 2 + (4 + 5)) + (7 + (5 * 9 * 6 * 5) * 9 * (7 + 2) + 7 * (8 * 6 + 9)) 203 | (9 * 8 * 5 + 8 + 9 + (6 * 9 + 4)) + (6 * 4 * 8 + 3 + 4 * 5) + 8 + 5 204 | 5 * 2 * (4 + 5 * 6) + 5 + 9 + (9 * 9 + 2 + 3 + (3 + 2 * 4 * 6 * 3)) 205 | 3 + 2 + (7 * 9 + (4 + 8 * 2)) + 3 * ((7 + 9) * 9 + 8 * 8) 206 | (5 * 7 * 4 + 3 * 2) + 9 207 | 7 * (5 + (7 * 4 + 6 + 7)) + 2 + 3 208 | (4 + 4 * 7) * 2 * (7 + (8 + 8 * 8 + 2 + 7) * 2) 209 | (6 + (4 * 2)) + 5 * 8 210 | 6 + (5 + 2 * 7 + 4 * (8 * 7 + 3 + 3 + 9 * 9)) * 6 211 | 4 * 9 * (9 * 8 * 4 + 2 + (5 * 6 + 7) * (7 + 5 * 7 * 4 + 8)) + 9 + 2 + (4 * 8) 212 | ((9 + 7 * 7 * 3 * 6) * (9 + 6 * 2 * 7 * 6 + 6) + 2 + 3 * (8 * 8 * 5) + 8) + 6 + 5 * 4 213 | (6 + (5 * 2) + 9 + 6) + 2 * 8 * 8 214 | 8 * 2 * 5 * 8 * 4 + ((2 + 6 * 6 + 4 + 4) + 7 + 6 * 5 + 6 * 5) 215 | 4 * 5 * ((8 * 5 * 6) + 2 + (5 + 8 + 3 * 9 * 9) + 8 * 2) 216 | 2 * ((2 * 9 * 8 * 7) + (2 + 2 * 6 + 6) * 2) 217 | 9 + 3 218 | 3 * (5 + 2 + 6 + 5 * 6 + (3 + 7 + 4 + 7 * 8 * 5)) * 9 + 7 + 7 219 | 2 + (7 * 5 * (4 * 5 * 5)) + (7 * 7 * 3 * 3 * 7) 220 | 8 + (4 + (6 + 3 * 9 + 2 + 8) * 6 * 5) + 3 + (3 + 8 * 3 * 3 + (7 + 9 * 3) + 4) 221 | ((9 * 4 + 5 * 2 * 4) * 4 + 8 * (9 * 8 + 7 * 7) * 9) * 8 + 4 * 2 * 2 + 4 222 | 3 * 6 + (4 * 7 + (4 + 8 + 7 + 7) * (9 * 4) + 4) + 3 * 7 + 7 223 | 7 * (8 + 8 + 2 + 4 + 6) + 7 + (8 + 3) + 3 224 | (3 + (9 + 3 + 8 * 8 + 2 + 2)) + 2 + 9 * 2 + 5 + 4 225 | 5 * 3 * 8 + 7 + (3 + 4 * 9 + 7 * 7) 226 | 3 * 2 * (2 + (3 * 5 + 3 * 3) * (9 + 6) + (5 + 5 + 5 * 4)) * 4 227 | (3 * 5 * 9 + 4) + 8 * (5 + 7 + 6 + 4) 228 | 2 * 9 229 | 8 + 2 + 5 + ((8 + 3) * 4 + 6) * 4 * 6 230 | 8 + (5 * 7 * 2 + (6 * 6 * 2 * 5) * 5 * 5) + (5 + 3 + (7 * 5) * 5) * (5 * 7 * 6 + 3 * 2 + 3) + 7 + 5 231 | 2 + (5 * 8 + 9) * 7 * 7 + 8 232 | (6 + 6 + (6 * 7 * 6 + 4 + 2)) + 8 * 5 + 9 + 7 * 5 233 | 6 + (3 * 9) + 9 234 | 6 * (5 + 6 * 9 * 8 * 5 * 6) 235 | 6 * 4 * (4 * (7 + 4 * 9 + 4 * 3) * 4 + 5) + (4 + 6 * (5 + 4 * 9) * (8 + 7 * 8 + 9 * 2)) 236 | 4 + 7 237 | ((5 + 4 * 3 * 7 + 2 * 3) * (8 + 5 * 4 + 3 + 6) + 7 + 9 * 2 * 9) * 7 + 6 + 7 + 7 238 | (5 * 9 + 2 * 6 * 4) + 8 + 7 * 3 * 2 239 | 2 * (8 * (2 * 2 + 6)) * 3 240 | 9 + (9 * 7 + 3 + 5 + 2 + 3) * 2 * 2 241 | (8 + 4 * (2 * 5 * 6) + 9) * 8 * 6 242 | 7 * 2 * (6 + 4 + 3 + 9) * 7 + 4 243 | 2 * 3 + 8 * ((5 + 9 + 6) * 5 * (7 * 4 * 5)) * 8 244 | 3 + ((2 + 3 * 2 * 9 * 3 * 4) + 6 * 5 * 2 * 2) 245 | 7 * ((5 + 7 * 9 + 9 + 3 + 2) * 5 * 6 * 8 + 6 + (9 + 9 + 7 * 8 * 2 + 3)) * 3 * 4 * 6 246 | 3 + 3 + (6 + 6 * 6 + 7 * 9 * 4) * 8 247 | 3 + 4 * (4 + 5 + 8 * 4) * (3 + 7 * 6 * 7 + (9 + 4)) * (2 + 8 + 5) + 6 248 | 5 * 9 + (4 * 6 + 7 * 5 + 8) + (2 + 4) * 4 249 | (6 * 2 * 7 * 8 * 9 + 7) * 9 250 | 9 + (5 + 2 + 8 + (6 * 9 * 7 + 2)) + 9 251 | 7 + (7 * 9 + 8 * 5 + 2 * 2) + 8 + 6 * 5 252 | (6 + 6 * 8) + (5 * 5 + 6 + (9 * 2 * 6 * 3) + 2 * 7) + 8 253 | (2 * (5 * 8 + 5 + 5) + 7) + 5 * 8 * 6 * 8 + 2 254 | (8 * (7 * 7 * 3 * 4 + 9 * 4) * (9 * 3 + 8) + 6) * 7 * 6 * 2 * 8 255 | 9 * ((9 + 7 + 3 * 5 * 3 * 5) + 6 * 7 * 3) * (6 + 6 + 6 * 2 + 9 + 5) + 4 * 9 256 | 4 * 3 * 8 + ((9 + 3 * 2) * 9 + 2 + 2) 257 | 3 + 6 * ((6 * 2) + 2 * 3 + 6 * 5) 258 | 7 * (2 * 5 * 2) * 5 259 | (8 + 2) + (6 + 9) * 6 260 | ((2 * 3) * (8 * 7 * 4) * 4 + 8) * 9 * 9 + (7 * (4 * 2 + 2 * 7) + 4) * (9 + 3 * 6 + 6 + 8 + 7) 261 | 5 * 5 + (8 + 7 + 4 * 2) * 7 + 9 * 2 262 | 5 + (2 * 7 * 3) * 9 * 9 263 | 3 + (3 * (6 * 2)) + 6 + (3 + (7 * 7 * 6 * 3 + 4) * 9 + (9 + 9 * 5 * 2 + 9 * 4) * 6 * 6) + 9 * 6 264 | 2 + 9 * (6 * 6 * 3 * 4) 265 | 8 * 6 + (3 * 9 * 9 * 4 * (8 * 2 * 2)) + 8 + 5 266 | (2 + (7 + 3 + 2 * 6 * 8)) + 4 * ((5 + 4 * 7 * 2) * 8 * 5 + (5 + 8 + 9 * 9)) + 8 + 6 * (8 + 7 * (7 + 3 * 4 * 7) * 4 + (9 * 8 + 3) + 3) 267 | (4 * (8 * 8 * 6 * 2) * 7 + (8 + 3) + 7 + (6 * 4)) * 3 * 8 * 2 * 9 268 | 3 + (4 * 3 + 3 * 2) * 7 * 3 269 | (4 + 2 + 8) * 2 * 6 + 8 + 9 270 | 7 * (8 * (8 * 7 * 6 * 5) + 8 * 6 + 6) 271 | (7 + (6 + 3 * 5) + 2 + 4 * (5 + 9 * 7 * 5 + 7) * (2 * 4 + 6 * 5 + 2 * 3)) + 9 * 7 272 | 5 * (5 * 5 * 4 * 2) + 3 273 | (5 + 8 * 8) * (5 + 5 * 7) * 3 * 5 274 | 8 + (7 + 6 * 3 * 4) + 5 * 4 * 3 + 8 275 | 3 * 5 * ((4 + 2 + 5) * 8 * 3 * 4 + 5) + 4 + 9 + 4 276 | (9 * (7 + 2 + 6 + 4 + 4 * 2) * 8 + 6 * 8) + 3 + 9 * 3 277 | 9 + 8 278 | 6 + 6 * (7 + 9 + 7 + 3 + 4) + 6 + 7 279 | 7 + (6 + 2 + 6 + 7) 280 | 6 + (9 * (6 + 2 + 6 * 9 * 2) * 7 * (9 + 6 * 7 * 3 + 5 + 2)) 281 | 3 * 7 + 2 * 9 282 | 9 * 7 + 9 * (2 * (2 * 6 + 6 * 6) + 8 * 9 * 2) 283 | ((7 * 9 + 7 + 7) * 6 * 5) + 4 284 | 2 * (7 + 4 + 3 * 5 * 6 + 3) * 5 * ((6 * 6 * 9 + 3 + 2 + 9) + 5 * 3 + 3 + 5 * 3) * 7 + (8 + 4) 285 | (7 * 6 * 9 * 3 + 8 + 4) + 6 * 7 * 6 + 3 + 4 286 | 2 + 6 * 7 * 5 + (7 * (2 * 3 + 4 + 6) + (3 * 3 + 7 * 4) * (3 + 8 + 7 + 6 + 4 + 4)) 287 | (8 * 3 + (7 + 4 + 5 + 5)) + (3 + 3 + 7 * (9 + 2 * 9)) 288 | 8 * 4 + (9 + (7 * 3 * 9 + 4 * 7) + 6 + 9 + 5 + 6) 289 | 2 + 4 + 2 + 4 * 7 290 | ((7 + 5 + 5 + 3) * 3) + (5 + 6 + (3 + 8) * 2 + 4) + (6 + 2 * (5 + 6 + 9 + 8 + 5) + (9 * 9) + 3 * 6) * 3 291 | (5 * 7) * 6 + (8 + 4) * 6 292 | (2 * 4 * (8 * 6) * 2) + 5 + 8 * 9 * 7 293 | ((5 + 5) * 5) * 9 + (5 + 4) + 4 * 6 294 | 5 * (8 + (4 * 5 + 7 + 5) + (8 + 4 + 6)) + 9 + 7 295 | 2 * 8 + 7 + (3 + (8 + 8 * 5 * 5 * 8 * 5) + 9 + 9) + 7 + (7 * 8 + (3 + 5 + 8 * 7 * 8 * 8)) 296 | (9 + 7 * (7 + 6 + 8 + 2 * 5 * 2)) * 9 297 | 4 + (2 * 5) * (4 * (8 + 5 * 4) * 9 * 4 + 9) 298 | 4 + (8 + 8 + 8) + 3 * 2 + (2 + (5 * 6 * 7)) + 7 299 | ((5 * 3 * 6 * 6 + 7) + 2 + 2 + 2 * 8 + (6 + 3 + 2 * 4 + 8)) + 4 + 3 * (4 + 6) * 9 * 3 300 | 5 + 9 + 7 + 4 * ((2 + 5) * 4 + 9 * 9 + 4) 301 | 6 * 7 + 4 * 5 + (4 * 7 * 8 * (2 * 4 * 9 + 9 + 5) * 6) 302 | 6 * 9 + (3 * 9) * 8 + (4 * (8 * 3 * 2 * 2 + 3) * 4 * 8 * 7 * (4 + 5 + 7 * 3 + 4 * 3)) 303 | 8 + (4 + 2) * (8 * 8 + 9 + 5) 304 | ((6 * 8 + 3 * 2 * 6 * 9) + 7 + 8 + 4) * 4 305 | 4 + (2 * 3 + 3 * 7) + 2 * (2 * 5 + 7 * 6) + 8 + 6 306 | 8 + 7 + ((3 + 2 + 4 * 5 * 3 * 2) + (2 + 4) * 8 + 5 * (7 * 2 * 9) + 3) * 2 307 | 8 + 6 + (7 + 6 * 7 * 8 + 4) 308 | (7 * 9 + (2 + 6)) + 5 + 3 * 8 + 7 * 3 309 | (6 * 9 + 6 + 3 + 5 + 4) * 8 * 4 * ((8 * 4 + 7) + 2 + 9 + (3 + 4 + 8 + 6 * 2 + 7) + (3 + 2 + 7 + 5 * 7) + 2) 310 | 8 * 8 + 2 * (8 * (8 + 6 + 6 + 5 * 6)) + (2 + 6 * 3 * 5) 311 | 8 * 3 * 3 + (3 * (4 + 6 + 6 * 4 * 2) + 4 + (7 + 3 * 3 * 9) + 6) 312 | 5 + 7 + (3 * 8 + 8 + 2 + 4 + 9) 313 | (3 * (5 * 3 + 2 * 8) + 8) * 7 + 5 + (8 * 5 + 3 * (6 * 9 * 5 + 9 * 6)) + 4 314 | 6 + (6 * (3 * 2 * 4 * 7 + 4 + 5) * 4) * 5 + 8 + 3 + 5 315 | (8 * (2 + 8) + 9 + 7 + 8 * (3 * 6 + 7 * 6 + 5 + 7)) * (2 + 9 * (4 * 7 + 3 + 4 + 6 * 5)) * ((2 + 9 + 6 * 3 * 8) * 5 * 4) * 7 316 | 5 * 7 + 2 + 7 * (5 * 8 * 5 * 4 * 2 + 3) + 8 317 | 2 * 6 + 2 + 8 * 6 * 6 318 | 4 * 4 * (9 * 8) 319 | 8 * (2 * 8) + 5 * 5 320 | 2 + 4 * 3 * 8 321 | 8 * (5 + (8 + 9 + 8) * 8) * ((3 + 9 + 8 + 2 + 7 * 2) * 8 * 5 + 8) * 7 + 2 322 | (2 * 3) + 3 323 | 4 + 4 + 2 + 5 + ((9 + 2 * 2 + 6 + 6) * 4) 324 | 7 * 9 + (9 + 4 * (4 * 2 * 7 * 6 * 2 + 4)) 325 | 8 + (6 + 8) + 3 + 2 + 3 326 | (3 * 4) + 8 + 3 + (3 + 5 * 3 * (4 + 8 * 7 + 2) * (4 + 7) * 5) * 3 + 2 327 | 3 + (6 * 3 + 2) + 6 * (6 + 4 * 8) + 7 328 | 6 * 7 * 9 + 8 * 6 * (4 * 4 + 8 + 3 + 7) 329 | 8 * 9 + 9 + (7 + 5) + 8 * 6 330 | (4 * 3 + 2 * 7) * 3 * 4 * 6 * 2 + 5 331 | (8 * (4 + 9 * 5) * 5 * (4 * 9 + 8 + 6 * 7)) + 6 332 | 6 + 8 * 9 * (9 + (4 * 6 + 2) + 8 + 8 + 8) 333 | 4 + 4 * ((3 + 4 + 5) * (3 * 6 + 2) * 4 + 4 + 9) + 4 + 7 334 | 3 * 3 * 4 * (6 * 6 + 4 + 2 * (7 * 5 * 7)) * 3 * (4 + 4 * 3 * 4) 335 | 2 + (5 * 9 * 2 * 8 * 4 * 6) + 8 336 | 6 + (6 * 2 * 9 * 4 + (5 + 8 * 7) + 4) + (5 + 9 * 5 * 7 + (5 * 9 + 6)) + 3 * 3 + 8 337 | 2 + (4 + (9 * 6 + 2 * 6) * 2 + 7 * (4 * 4)) * 7 + 2 + 3 + 7 338 | (4 + 4 + 8 * 9 * 2) * (9 + 5 + (6 + 4) * 4 + (6 + 3 + 7 * 9 * 3) * 7) 339 | 8 * 9 * (7 + (7 * 4 + 7 * 2 + 7)) * 9 340 | (9 * 6 * 8 * 6) + (3 * 4 * 5 * 8) * 6 + (9 * 5 + 6 + (3 * 2) + (5 + 8 * 5 + 6 * 9 + 5)) * 7 341 | 7 + 3 * 2 + (5 + (5 + 8 * 9 * 3 + 3) * 9 * 9) + 2 342 | 7 + 7 * 4 * (8 * (9 * 8 * 9 * 8 + 3) + 6 * (2 + 7 * 8 + 8) * 3 * 2) 343 | 8 + ((4 + 2 * 4 * 7 * 2) + 2 * 9 + 9 + 7) * 9 + 9 * 3 344 | (8 + (5 + 5 + 2) * 8 + (8 + 6 + 4 * 7 * 2)) + 2 + 9 345 | (6 * 3 + (9 + 6) + 8 + 3) * 5 + 6 * 7 + (5 * 9) + 9 346 | 2 + ((3 * 2 + 6) * (6 * 5) + 6) + 6 + 4 347 | 6 + 6 * 7 * (3 * 8 + 8) + 2 348 | ((8 * 9) + 3 * 7 * 4) + (3 * 7 * 5 * 6) 349 | (3 * (8 + 6 + 3 * 9 * 3 * 4) * 9) + 2 350 | ((7 * 9 + 7 * 2) * 2 * 3 + 6) * 5 * 4 * 9 + 5 351 | 5 + (5 + 6 + 7 + 2 + 6 + 6) * 9 * (5 + 4 + 3) * 6 * 9 352 | (9 * 9 + 8 * 5 + 4 * 5) + 9 * (3 + 3 + 8) + 2 353 | 6 + 5 * (5 * 9 + (6 + 4 * 5 + 2 + 7 * 6) + 5 + (9 * 9)) * 4 * 5 354 | (2 + 2 * 7 + 6 + (5 + 3)) * 7 * 4 355 | ((4 * 3) * 8 * 2 * 7 * 3 * 2) * 4 * 2 + 8 * (5 + 6 + (9 * 6 + 2 * 4) + 4 + 7 + 9) * 8 356 | 3 + 4 + 7 + (2 * 7 + (2 + 9 + 3 + 6) + (2 * 2 + 4 + 3 + 2 * 5) + (3 * 8 + 4 + 4 * 9 * 4)) * 5 357 | 8 * 6 * 2 * ((6 * 7 * 4) + 6 * 9) 358 | 5 * 5 * 6 * (7 + (4 + 2 * 6 * 6)) + 9 + 7 359 | 4 + (5 + (2 * 3) * 8 * 3 + 8 + 5) 360 | (5 * 9 * (3 * 6 * 9 * 4) + 4) * 9 + 5 361 | (5 * (5 + 3 + 8 + 9) * 3) + 6 362 | (7 + 9 + 3 + (7 + 3 + 5 * 2) + 9 * 5) + 8 + 8 + (3 + 8 * 9 * 9 + (7 * 7 + 2 + 5 * 6 + 4) * 7) 363 | ((9 * 9 * 3 * 4 + 9) * 5) * 7 364 | 4 + 3 + 7 * 6 * (6 + 2 * 6 + 9) * 6 365 | 8 * 2 + 7 + (9 + (6 + 7 * 8 + 5 + 2) * 3 + 4 + (8 * 4)) * 2 + 6 366 | 3 + 5 * 6 * 2 + (9 + 3) 367 | (7 * 2 + 4 * 3 + 2 * (6 + 4 * 8 * 2 * 9 + 9)) * 7 368 | (8 + 9) * 8 + 7 + 5 369 | 2 * 6 * 7 + (5 * 9) * 5 370 | (5 + (4 + 7 * 9 * 3) * 8 + 3 * 2 + 3) + 8 * 9 + (4 + 3 * (2 + 4 + 4) + (3 * 3 + 8 * 6) + 5 * 8) * 4 371 | 9 * 8 + (6 * 5) * (6 + 7) 372 | (3 * (2 * 4 + 9 * 5) + 2 * 5) * ((5 + 9) * 2 + 2) 373 | 2 * (2 + (2 * 9 + 7 * 6 + 8)) 374 | (5 + 2 + 6 + 2 + 6) + (2 * 6 + 4 * 3 + 9 * 4) * (2 + 9 * 7 + 6) + (5 + 5) * (2 + 5 + 7) * 6 375 | 5 + 4 + 3 + 2 + (3 + 4 + 3) 376 | ((6 * 9 + 7 + 7) * 9 * 7 + 7 * 6 + 6) * 2 * 9 + ((5 * 6) * 3 * 3 * 8) 377 | 5 * 8 + (7 + 2 + 6) * (8 + 2 + 8 + 4 + 9) + (5 * 6 * 6 * 3) + 8 378 | 6 + (7 * 4 + 4 * 7 + 3 * 7) + 9 + 5 * 7 * 5 379 | 3 + 2 + 8 + (4 + 9 * 4 * 2 + (9 * 9 + 9 + 5) * 5) + 6 380 | 3 * 9 * 4 * (5 * 4 * (8 + 3)) 381 | -------------------------------------------------------------------------------- /p19.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 2 | p q←1↓¨{⍵⊂⍨0=≢¨⍵}(⊂''),⊃⎕NGET'p19.txt'1 3 | p←'[0-9ab|]+'⎕S'&'¨p 4 | a←{a⊣{n←⍎⊃⍵ ⋄ 'ab'∊⍨⊃⊃⌽⍵:(n⊃a)←⊃⌽⍵ ⋄ (n⊃a)←'(?:',(⊃,/{'|'=⊃⍵:⍵ ⋄ a⊃⍨⍎⍵}¨1↓⍵),')'}¨p}⍣≡a←''↑⍨≢p 5 | a0←⊃a ⋄ a31←31⊃a ⋄ a42←42⊃a 6 | +/≢¨('^',a0,'$')⎕S''¨q ⍝ part 1 7 | +/≢¨('^',a42,'+(',a42,'(|(?1))',a31,')$')⎕S''¨q ⍝ part 2 8 | -------------------------------------------------------------------------------- /p19.txt: -------------------------------------------------------------------------------- 1 | 102: 100 47 | 76 84 2 | 23: 60 47 | 73 84 3 | 132: 17 47 | 81 84 4 | 108: 55 100 5 | 18: 116 47 | 26 84 6 | 103: 84 115 | 47 81 7 | 65: 84 113 | 47 50 8 | 128: 107 47 | 125 84 9 | 14: 84 100 | 47 107 10 | 118: 47 17 | 84 57 11 | 2: 47 100 | 84 40 12 | 28: 63 84 | 74 47 13 | 22: 102 84 | 123 47 14 | 123: 84 74 15 | 19: 3 47 | 13 84 16 | 24: 74 47 | 81 84 17 | 115: 55 55 18 | 90: 92 47 | 44 84 19 | 48: 84 94 | 47 96 20 | 109: 17 84 | 100 47 21 | 92: 84 75 | 47 108 22 | 66: 38 47 | 125 84 23 | 83: 66 47 | 108 84 24 | 31: 121 84 | 77 47 25 | 29: 47 61 | 84 111 26 | 45: 47 47 | 47 84 27 | 59: 47 49 | 84 43 28 | 37: 47 30 | 84 95 29 | 36: 107 84 | 125 47 30 | 82: 74 84 | 38 47 31 | 61: 84 10 | 47 110 32 | 79: 47 28 | 84 109 33 | 33: 101 47 | 133 84 34 | 12: 45 47 | 63 84 35 | 91: 122 84 | 93 47 36 | 122: 65 47 | 52 84 37 | 21: 57 84 | 115 47 38 | 8: 42 39 | 67: 102 47 | 64 84 40 | 39: 113 84 | 81 47 41 | 41: 84 124 | 47 10 42 | 50: 47 47 | 84 84 43 | 17: 47 84 | 84 84 44 | 120: 98 84 | 78 47 45 | 113: 55 47 | 47 84 46 | 20: 84 128 | 47 104 47 | 7: 84 1 | 47 20 48 | 51: 84 113 | 47 81 49 | 56: 84 83 | 47 69 50 | 131: 84 127 | 47 97 51 | 0: 8 11 52 | 5: 47 63 | 84 125 53 | 94: 15 84 | 127 47 54 | 121: 99 47 | 27 84 55 | 119: 47 115 | 84 57 56 | 129: 47 80 | 84 131 57 | 15: 47 100 | 84 45 58 | 35: 84 50 | 47 76 59 | 95: 47 115 | 84 107 60 | 68: 127 84 | 51 47 61 | 124: 84 107 62 | 75: 50 55 63 | 57: 47 84 | 84 55 64 | 13: 47 33 | 84 129 65 | 53: 106 47 | 59 84 66 | 106: 16 84 | 118 47 67 | 89: 84 125 | 47 45 68 | 104: 45 84 | 76 47 69 | 99: 47 56 | 84 7 70 | 78: 84 74 | 47 81 71 | 64: 17 47 | 115 84 72 | 32: 50 84 | 40 47 73 | 1: 47 24 | 84 72 74 | 47: "a" 75 | 80: 114 47 | 109 84 76 | 88: 47 119 | 84 132 77 | 105: 47 125 | 84 100 78 | 6: 68 84 | 67 47 79 | 110: 76 84 | 63 47 80 | 38: 84 84 | 84 47 81 | 49: 47 63 | 84 76 82 | 26: 55 107 83 | 81: 47 84 84 | 74: 84 47 85 | 96: 84 89 | 47 117 86 | 77: 47 86 | 84 71 87 | 135: 32 84 | 2 47 88 | 133: 47 15 | 84 128 89 | 42: 19 84 | 62 47 90 | 30: 47 100 | 84 74 91 | 27: 6 47 | 91 84 92 | 63: 84 55 | 47 47 93 | 62: 84 87 | 47 23 94 | 76: 84 84 95 | 4: 84 135 | 47 54 96 | 60: 41 47 | 37 84 97 | 100: 47 47 | 84 47 98 | 85: 47 112 | 84 18 99 | 116: 125 84 | 63 47 100 | 134: 57 47 | 115 84 101 | 34: 52 47 | 25 84 102 | 40: 47 47 103 | 111: 58 84 | 126 47 104 | 3: 29 47 | 130 84 105 | 114: 17 84 | 107 47 106 | 52: 47 45 | 84 74 107 | 10: 47 100 | 84 81 108 | 98: 47 76 | 84 100 109 | 112: 84 82 | 47 103 110 | 72: 40 47 | 45 84 111 | 126: 50 84 | 113 47 112 | 107: 84 47 | 47 84 113 | 11: 42 31 114 | 55: 84 | 47 115 | 54: 12 84 | 5 47 116 | 130: 34 47 | 70 84 117 | 84: "b" 118 | 127: 81 47 | 17 84 119 | 87: 84 53 | 47 9 120 | 101: 105 84 | 14 47 121 | 9: 88 84 | 120 47 122 | 73: 47 79 | 84 22 123 | 97: 74 84 | 50 47 124 | 117: 74 47 125 | 70: 47 134 | 84 46 126 | 58: 47 50 | 84 115 127 | 125: 47 47 | 55 84 128 | 46: 47 81 | 84 17 129 | 86: 84 90 | 47 85 130 | 25: 38 84 | 63 47 131 | 69: 39 47 | 78 84 132 | 43: 47 100 | 84 125 133 | 93: 84 66 | 47 35 134 | 44: 47 21 | 84 36 135 | 16: 57 47 | 107 84 136 | 71: 48 84 | 4 47 137 | 138 | babaaabbbababababbbbabbaabbaabaa 139 | babaaaabaaaaababbbbaaaaa 140 | abbabaabbaaabababaabbbbabbbbbaabbbbabababaaaabbbbababbbb 141 | bbbabababbabbbabbbabbbbb 142 | babaabbbababbbabaabaaaaa 143 | abbabaabbaababbabababbbababbbabbabbabbbabbaabbbb 144 | aaaaabaabbbbbaabbbbbbbbbbaaabbaaabbaabab 145 | baababbabbbabbaaaaaababbaabbababbbabbbbb 146 | aaabaaaabbabbbabbabaabbbabaabbbbaaaaabaaaabaabaaababaabbabbaaaabbbbaabbabbabaaaaaaaabaab 147 | ababaaabababbbababaaabab 148 | bbbbabbbbbaabaaaaaabbbbbbabbbabaabbaaababbbaaaaababaabaabaabababbabbbabbabaaabbaaabbaaaa 149 | babaabaaababaaabaaaababa 150 | aabaaabbaabbbabbabaabaab 151 | bbbaabaaaabaaabbbaaabbbabbbaaabb 152 | aaaaaaabaaababbbbbbbbbbbbaaabaabbaaabbab 153 | bbabbabbaaaaabababaababa 154 | babbababbbabbaababaababbaaaaabaaabbbabba 155 | bbbbbbbababbaaaaabaaabbaabbaaaab 156 | bbbbbaaabbbbbaaaaaabaaaabbbaaabb 157 | babbababaababbbbbbbaaabb 158 | abaabbaabbababaabbababba 159 | abaaabbaaabaabbbabababba 160 | babaaaabaaaababbabbbbaaa 161 | bbbbbbbabaababbaaaaababbabbaabbabbbaabaababaabbbbbbaabab 162 | aaabbabbbaabababbaabaaba 163 | bbbababbabaabbabbbabaaaa 164 | baabbabababaaaabbbbbbaab 165 | bbabbbbabaababbabbbaabab 166 | abaabbabbbabbabbabbbabba 167 | bbbbbbbaaababaaabbaabbbabbaaabbbbabababb 168 | aabbaaabbabbabaaaabbabaababbbaababaabababaaabbaa 169 | aaabaababbbabbbbaaababbbbaaabbbb 170 | aaaaaaaaaaabaaaababbabbb 171 | bbbabbbbaabaababaabbabab 172 | baaabaabbaaaabbbbaaaaaaa 173 | bbbbbbbaabbabbaabaabaaaa 174 | aaaaabaabbabbaaaaaaaaabb 175 | aabaaabbaabbabaaabbabaabbaababaaabbbaaaaababbaabaaabbaaabbaaabaa 176 | bababbbaaabaababbbababaabbaabaabbaaaabbabbaabababbbabbbababbabbb 177 | abbbaababbaabaaaaababbbaaaabbbaa 178 | aababbbaaaabaabbbbabaaaa 179 | aaaaabbaaabaaabbbababaaa 180 | bbbababaaabaaaabbabbabaabbababababababbbabbaaaaabbababbabbbbabbbabbbaabb 181 | bbbabababbbabababababbbb 182 | bbaaababbbabbbbaabbbbbaa 183 | bbababaabaaaabbaabbbbaaa 184 | bbbbabbababbbbaabbaaaababbababbaabaaabababbabbabbbbbbaababbbbabbbbaaaaabbbaabbba 185 | abbabbabbbbbbaabaaaaabababaaaaabaaabbaaaabababba 186 | bbbabaabaababaaabaabbaaa 187 | bbababbbbaaababaaaabbabbaaabbbaa 188 | aabbbbababaabbaabababbaa 189 | aaabbabbbaabbbabbbbbbbbabaaaabbaaabababaabaaabab 190 | aaaaaaababbabbabbabaaaaa 191 | aababaaaaaababbbabbabbabaaababbbbbabbababababaaaabbabbbb 192 | babaabbbbaaabaaabbbabbab 193 | bbbbabbbbaabbbabbbaabbbaabbbbbaabbbbaaabbbbaabbbbaababbaaaabaaaabbabbabbabbaabbb 194 | aaabbbabbaaabaabbaaaaabaabababab 195 | abbababbabbbbbabbaabbbabaaababbbbbbbabaababbbbbabababbbb 196 | bbaabbbaaaaababaaabaaaabbbbbbaabbaaaabbaabaaabaabaaaabbabbabbbaabbaaaaaa 197 | abbabbaaaabaaaabbbbbbaabbabaababbbbabbba 198 | bbaaaabaabbababbbbaabbaa 199 | aabbaabaabbaaabbaaabaaaaaaababbabababbaa 200 | baaaabbaaaaaabbbbabbababbaabbbbabbabbabbaabbaabb 201 | babbaaaabbaabaaabbbbaaaabbbabbaaaaaaaabb 202 | aaaaababaaabbabbababbabb 203 | abbabaaaaaabaababbabaaab 204 | aaabaababbaabbbaababbabb 205 | babbabaabaababbabbabaabb 206 | abbabbaabbabbbabababaaaa 207 | bbabbbaaaababaaaaaabbbaa 208 | bbbbbbbaaaaaabbabbbaabaaaaabbaaa 209 | bbbaabaababaaabbaababbabaababaabbbababba 210 | bbaaabbaabaabbbbbbbaababbbaabaabaaabaababaaaaabbbaaabaababaaaaabaabbbbaabaabbbaa 211 | baabbababbaaaaababaabbabaabbbaabaabbaabbabbbaaababbaaaab 212 | bbabaaaaaaaabababaabbababbaabbbbabbbaaababbaababaabaaaaaaaabaabb 213 | baaaaaabbaababbaababaaaa 214 | bbbabbbbbbaabaabbaaabbab 215 | babbbabababaaaabaabbaaabbbabaabababbbaaabaababbbbbaababbbabbbabb 216 | aabaaababababababaabbbababbababbbabbaabb 217 | bbaabaaabbaabababbaababaabbabbba 218 | bbbabaaaababaabbaabbabbbbabbaabaabbabaabbaabaabaabbaabbabaaabaaa 219 | abbaaabbbbbbbbbbaaabbaab 220 | baabbbbbaabbaabbaabbababbaabaaba 221 | baaaabaaabbbbaabaabbabbbbaababbb 222 | abbbbbbaabbbbbbbbbbbbaaaaaaabaaa 223 | abbbbbbbbbabbbaabbbaaabaaabababa 224 | aababbbaabbabaabbabaaaba 225 | bbabbaabbabbabaaababbbba 226 | aaabbbabbaabaabbbbbabbbbaaaaabbbbabbbabababbbaaa 227 | aaabaabbaabaababaabababb 228 | bbababaaabbbaabaabbababa 229 | baabbbaaaaababababaabbaababbabbb 230 | babbbaabbaaaabbaababbabb 231 | bbababbbababbbaabbabbbabaabababaaabaaaaa 232 | babbbbbbbbabbbababbbbaab 233 | abaabbbbbabbbbbbaaabbaba 234 | bbabbbaabbbbbaaabbbaaaaa 235 | abbbbbbbbaabbbaaabbbbbbabaaaabaaaaaabbbb 236 | aabaaabababbbbbbaaabbaab 237 | bbbabababbbbbbabbbbbaabaabababbaaabbbbbb 238 | aababbbaaaaaaaaaabbaaaaa 239 | ababaababaababbbabbbbabaaabbabaaabbabbaabbaaaaaababaabba 240 | aabbaaabaabbbaabaabaabbbaaabaaab 241 | aabbaaabaaaaabaaaaabbbabaaabaaaababaaaaaabbbbbaaaababbaa 242 | babbbaabaabaaabababbabaababbbaabbabaabbaabababbababaaaaa 243 | aabbbbabababbbaaaaabaabbbaabbabaaaabababaabaaaabaaaababaabbbabbaabaaabbb 244 | bbbbbbababbbabaababbabaabababababaababbabbbbbbbabbaaabbb 245 | bbabababaaababbabbababba 246 | abbbbbbabbbbbbaaabbbaabbbbabaabaaaaaaabb 247 | aaaaabbbbaaaabbabbbabbab 248 | aabbaaabbbbaaaabbabababbbabbaabbbbababbbbaaabbbababaabbbaabaaaaababbbaaa 249 | ababbbabbbabbbaaababbbbbaabbabbaababbaaa 250 | abbabbababbababbbbbbabbb 251 | aabbaabaabbabbabbaabbaab 252 | baabbbaaabbababbabbaaaba 253 | baaabbbaaabbbabbbaaaaaaa 254 | bbaaababaaaaabaabaaaabba 255 | aabaaabbbbabbaabaaababaabbbbaabb 256 | bbbbabbaaaabbabbaabbabab 257 | aabaaaabbaaaaabababbabba 258 | bababbbabaabaabbaaaabaab 259 | ababaaabbbaabaabbbaabaaababaabbbabaabbaaaabbbaaabbbaabab 260 | aababaaabbbbaaaaaaabbbbb 261 | abaabbaabbbbbaaaaaaabaaa 262 | babbbabababbaaaabaaaabab 263 | abbbbbabbabbaaaababbaabb 264 | bbaaaaabbbbababaaaaabaab 265 | bbaababaaaabaabbabaabaab 266 | bbababbaabbbbabbbaaaaabbabababba 267 | bbabbaabbbbbabbaabababbbaabbbbbabaabbaaabbbabbbabaabbaab 268 | abbabbaabbaaaaabbbabbbaabbbabaaabbaaabbbaaabaaab 269 | aaababbababbabaabaabbbababbabbabbbaababaabbbabbaabaababa 270 | baabbaabbbabbababbaaaaaabaaabbab 271 | aabbabaabbbbbbbbbaabaaababaaaaaa 272 | abbaabbabaaaaabaabbbabaabaaabaabaabaabbbaabaabaaaabaaaaa 273 | baaaabbabaababbababbbababababbbb 274 | bbabbaabbaaabbbabaaabaababbbbbbabbaaabaa 275 | baabbbbaabbbbbbabaabbaab 276 | baaaabbaabbababbaababbababaaaabbbbbbbabababaaaba 277 | baabbbbbaabaabbbbbabbaaaabbaabbaabbbbbabbbbbbaba 278 | babaabbbbbaabaaaabaababbabbbbabbbbbaaaaa 279 | baabbababbaababaabbbaaab 280 | bbaaaabbbaaaaaabbbabababbaabbabbbaaabbaaababaabb 281 | abbbbbbaaababaaababbaaba 282 | baabbabababababaaaaaababbababbbabaabbbaaabaaabab 283 | aaaaababaabaabababbbbbbbabbbaaba 284 | bababaaabbbaabbabaaaaabb 285 | aabbaababbabbbbabbbaaaab 286 | bbbbbbbbaabbbabbbabbbbba 287 | aabaababbaabaabbbbaaaaababaaaaabbaaaaaaa 288 | aaaaaaaaaaaaabababbbbbbabbbaabab 289 | bbbaabaaababbbaaaabaaababbababbbabaaabbaabaaaaaa 290 | ababbabbbbbbaabbaaabbaaabbaaabbaaaabbbba 291 | baabababbbbbabaaababbbaabbaaababbbbaaaababbabbbb 292 | bbaabbbaabaaabaaababaabb 293 | bbabbbaaabbaabbbaaaabbaa 294 | bbbabaabaaaaabaaaababaaaabaaabaaaaaaabbaabbaabbabbbbbaba 295 | baaaabbaabbbaabaabbabbaabbbaaabaaabbbbbaaaaabaab 296 | bbabbabbbbbbbaabbbababbbbbaabaaaaaabbaaa 297 | abbbbbbbabaaabbbabbaaaabaaabababaabaabababbbaaaaabaaaababbababbabbbbabbb 298 | baabbabaababbbaabbababba 299 | bbaabbbaaaabbbbaaabaabaa 300 | baabbabaabbbbbabaaaaabaababbbbaaabaaaaaa 301 | baaabaaabbbababbababaaabaababbaa 302 | aaababbabbaaaaabbaabababbbabaaba 303 | aabbbaabaabbaaababbbaabb 304 | bbbbbbbbbaabababaabaabaa 305 | ababbaaaaabbbbbaaaabbaabbaaabaaabaabbaabbabbbababbbbabbabaaaaaababaaaaba 306 | baaaaabaaaaaababaabbaaaa 307 | aaaaaaaabbabababaaaabbaa 308 | aababaaaababbbaabbbaaaaa 309 | aaaaaaabbbaaabababbbaaab 310 | aaababaaaabbbbababbaaaab 311 | aaababaabaaaabbaabbaabab 312 | bbaabaaaaaabaabbbabaaabbababaaba 313 | ababaaabbaaaabbabbaabaaaabbababbaababaaababaabbbbabbabbb 314 | aaaaaaabaaababbbbbaaaabbbbabaaaabaaabbabbaabbbab 315 | abbabaaaabaaabbabbabbaaaababbbbbbbbaaaaa 316 | abaaaaababbbbbababbbbaba 317 | abaabaaaaabbbbaaaaaabaab 318 | babababaaababaaaabaababa 319 | bbbaaaaabbbbbbaaaabbaabb 320 | aababaaaaaaaabaaabbbbaab 321 | ababaaabababbbaaaaaabbab 322 | baabbbabbbaabbbaabbbaabb 323 | baabbbbaabbbaababbababba 324 | bbbbabaaaaaababbbaababaa 325 | aaaaabbabbbaabbaabaabbbaaabababababbbbba 326 | baabaaabbbaabaabababaabb 327 | aaabaaaaabbabbaabaabaaaa 328 | aaabaabaabbabbabbabaabab 329 | babaabbbbaabbbbbabaaabbabbaabaaabbababbababbbaaaababaabb 330 | baaabaaababbabababbaaabbbaabaaabbaabaaaa 331 | baaabaabbbababbbabbbbbabbabbaaab 332 | abbabaaaaabbbbbababbaaaaaaaaababbabaababaabbbbbb 333 | abbbbbbaabbbbaaababaabaaabbbbabbabbbbababbababbababaaaabbbaaaaba 334 | aaabaabbabbbabaaabbaaaaa 335 | bbbbaaabbbbabaaabaaabbbb 336 | babbbaabbaabbbbbaaaabaaa 337 | aaaaabaabaabaaabaabbaababbaababb 338 | baababbbababbabbbbbbbaabaaaaabbababbbbbabaaaababbbbbbbbbbbaaaaabbabaaaabbababbab 339 | baabaabababaababaaabbaaa 340 | aababbabababaaababbabaaabbababbaabaababa 341 | bbabbbabbabbbaababababba 342 | abbaabbbaababaaaabbbabab 343 | aaababbbabaabbbbbbbbabbb 344 | aabbbbabbaaabaaaabbbaabb 345 | abbbbbaabbbaabababaabaabababbaba 346 | aaababaabbbbaaaababaaabbbaabbabbaaaabbaaababbaaa 347 | bbaaaabaabbabaaaaabbaaabbbbabbab 348 | aaabbababbbbababbbbbaaaababaaaaaababbaababaababbaababbbaaabbaaba 349 | abbaabbbbabaabbbababbaab 350 | baabbbbbbbaaabbbbababbbbbbaaaaaaabbbbbaaabaababa 351 | aabbbbabbbbababbbabaaabbbabbbbbbbaaaabab 352 | baabbbaabbabbbbababbbbaa 353 | babbbbbbabbbbbbbaaabaabbbbbbbbbabbaaabaa 354 | bbbabaaabbbbbaaaaaabbaab 355 | abbbbbababaaabbaaababbbabbaaaaabaaaaabaabaaaaabb 356 | bbabababaabbbaabaaabbbbabaaabbab 357 | aaabbbbabbbbaaabbbbabbbbbbbbabbbaabababb 358 | baaaabbaabbababbbabaaaaa 359 | baababaabbaaaaabbababaabbbababbbababbbbabbabbaabbaaaabbabbaaabbbbbabbabbabbbabab 360 | aaaaaaaaaabbbbababbbbabb 361 | abbaaabbbaaaaaabbababaab 362 | abaabbbbbaabbabaaaabababaabbababaaabbaab 363 | aaaaabaabaababbaabbbbaba 364 | bbbbbaaabbabababbaabbabaabaaaabaaabababb 365 | aaaaabbaabbabaaaabbabbbabbbaaabbbaabaaaabbaaaaaa 366 | aaabaaaaaaaaabbaaabaaabbbaabbbabaaaaabbbbabaaaaa 367 | abaababbaababbbbaaabaaaabbbbbbbaabbaabaa 368 | abaaabaabbbbbbabaabbbabbababaaba 369 | bbabbaaabbaaaaababaaabbaaabbbabbbbbbabbaaabbabba 370 | aaaaaaabbaababababaabbaababbaaaabaaabbab 371 | bbbbbaaaaaababbbbaabbaab 372 | abbaabbbbbaaaabbbbbbaaaabaabbabbaabbbaabbbaabbab 373 | aaaabbbababaababbbbaababaababbaabbbabaababbbaabbbbaabbbaababbbaa 374 | abbabbaaabbbaababbabaaab 375 | aaaaaaababbaaabbbbaababb 376 | baaabbaabaaabbaaabbbabba 377 | babbbaabbbabbaabaabbaabaaabababa 378 | aaaababbabababbbababaaabbbabaababbaababaaaabaabaabbabaaabbbaabaa 379 | aaaaaaabaabbabaaabbabbaaaababbbbabbabaaabaaabaabaaaabbbaaabbbaaa 380 | abbbbbbbbbbbabbabbbbaabb 381 | baaabbbaabaababbaaabbaba 382 | bbbbbbabbabbbabbaabaababbbbaabab 383 | aaaaababbbbbabbbababbaabbbbbbabbaabbbbbbbbaaaaaa 384 | ababaabbbababbbbbbbaaaabaabbbaaa 385 | aaaababbbbbbabbabbaabbaa 386 | aaabaababbbababbbabbabbb 387 | bbababaaabaaabbaaabbaaaa 388 | aaaaababbbaabbaaaaaaaabaabbbababbbbaabab 389 | aabbaabbbabaabaabaaaaaaaabaababbbabbbbbaababbabbababaabaaabbbabbaabaabbaaabbbbba 390 | bbbbaaaabbabababbbaaaaaa 391 | abaaaaabaaaaaaabaabbaaabaaababaaaabaaaaa 392 | babbbaabababaaabababbaab 393 | baaaaaababababbbbaabababbbbbbaabbabaaaabaaaaaabaaababbaa 394 | aabaaabbaababbabbabaabbbaababbabaabbbbaa 395 | ababbbbbabbbaabababbaaba 396 | bbababababbbaaaaabaabbabaaabbabb 397 | bbaabaabaabbbaabbaaaaaabaabbabbbabbbbaab 398 | baabaabbaababbbabbbbbaba 399 | aaaaabababaaaaababababba 400 | abababababbbabbbbababaaa 401 | ababbbaabbabbbbabbbbbbaaabbbbabaabbabbba 402 | babaaaaaaaabbaaabbbaabab 403 | abaaababaaaabaaabaaaaaaabbabbbaaaababababaaaababaaaababbbbabaabbaabbbbba 404 | aaababbbbaaaabbbaaaaaaabbbbabbbaaabbbbaa 405 | babababaaaaababbabaabaab 406 | bbaabbbababbabababaabaababbbbabaabbaaaaababbbbab 407 | abababbbaabbbbababbbaaaaaaabaaab 408 | aabaabaaaaaababaabbaaaabaabaaaaaaaababaa 409 | aabbbaabbbbbabaababbabba 410 | abbbaabaaaaaaaaababbbabbbbaaaababbbbbababbbaaaaa 411 | aaabbbabbbbababbbbaabaabbaaaabab 412 | aabbaababbabbbabbbbbbaba 413 | abbaabbabbbbaaaaabaaaabbbaaababb 414 | aaabababbbbbaaaabbbababb 415 | abbbbbbbaaabaababbababababaabbbaabaabaaa 416 | bbbabababaabbababaabbbbabaababaa 417 | bbbabbabaaaabaaaaabbaaababababababababaaaaaabbbbaaaaabaabbaababb 418 | aabaaabaaaaaaaababbabbbb 419 | aabbabaabaabbabbaaabbbbaaabaabaa 420 | bbaaaabbbbbabaaabababbbaaabaaababababaab 421 | bbbbbbbaaabbbbbaaaaabbab 422 | babaabbbbaaabaaabbbababbbbbaabaaabbbbaba 423 | bbaaaabbbbbbaaaaabababaaaaabbaaabbbaabba 424 | bbabbbababaabbbbaabaaabaaaabbaaa 425 | baabaabbabaababbbbaabaabbaabbabbabbbbababbaaabbb 426 | babbbabaabbbaababababbab 427 | aabaaabbabaaaaabbbaaaabbaaabbaba 428 | aaaaabaaabaabbbbaabbbbbb 429 | aaaabbbabbababaabaabbbaabbbbbababababababbbaaabbaaabbabaaababbba 430 | abaaaabbabbbbbabbbabbbababbaababbbaaabba 431 | abababbbbaabbbbbbabbbbbbabbbbbabaaaababbababaabb 432 | abaaabbabbababbbabaababbbaabbbbababbbaabbbaabbaa 433 | babbbbbbbaabababbbababaaabbabbaabaabbabbaabbbaaa 434 | aaababbababaaaabbbbaaaaa 435 | babaaabbaabbbbbaaaaababa 436 | aaabaaaaaabbaababaabbabababbaaaabbaabbaa 437 | abaabbabbbaababaabbbaabababbabaabbaaaababbababaaabbbabbb 438 | bbbbababbbaabaabbabaaabbaababbaaabaaabbb 439 | baabbbabaaaaaaabbaabbaab 440 | bbbaaabaaaababbbababaabbbbbbbaabbbbababb 441 | babbaaaababbabbaabababbbababbbabaaababaa 442 | aaabababaabbabaabbbabaaababbbbab 443 | bbbbababbbabbbababbababbbaababaababaabba 444 | bbbababababbbbbbabbbaaaaabaabbba 445 | aabaaabbabbbbbaaabaababaabaaabab 446 | bbabbabaabaaaaaababbbbaa 447 | abaabaabaaaaabaabbbbbabababbabbbaabaabaa 448 | bbabbbaababbbabbaabbaaabbabbabaabaaabaaababaabaabbbabbababbbbabbbabbabbabbaabbbb 449 | aaaaabaababbababababbbbbaababbabbbabababbbbbabbb 450 | abaaabbabbabbbaaaabababb 451 | abbbbbababaaaaabbabaaaaa 452 | bbbabbabaaabbaabbaaaabaababbaaab 453 | bbbbbbbbabaabbaaaabbbaaa 454 | baaabbbaaababbbbabbbabbbabaabaabaababaab 455 | aaaababbbbaabbbaaaaababbbabbabba 456 | bbabbbaaababaaabbbbbbbbabbaabaababbabbba 457 | aaabababbabbbabaaabbabaaaaabbaba 458 | aabaabbbbaabbbabaaabbbbabbbbabbb 459 | bbbbbbabababaaababaabbbbaabbaaaabababbbb 460 | abaaaabbaaabaabbbbaaababaaabbaabaabbbbbb 461 | baabbababbbaaabaababbbba 462 | baaabbbabababbbaabbaabab 463 | babababaaaabaaaabbbbabbb 464 | babbababaaabbbbabbbaabaabaabbbbbaaabbbab 465 | baabbaabbababbababbaaaaa 466 | bbababbbaaaaaaaabaabbbbaaaaabaaa 467 | abbbaabbbbbbbbaabbabbbabbbbbabaaababaaab 468 | bbaabbbababaabbbbabaaaba 469 | baaababababaabbbbbabbaba 470 | abababbbaababbbbabbabaabbaabbbaaabbbaabaabbbbaaa 471 | bbaaaaaaaaabababbaabababaababbbbbbbbabaaaaabbabbbbbbbbaabaaaaabbbababbaaaaababaa 472 | baaaaabaaaaaaaaaabbabbba 473 | baabbbbaabaabbabbaaabbbb 474 | abbabbabaabbabaaaabbabab 475 | abaabbbbbaaaaababbabaaba 476 | bbbbbaaabbaabbbaabaaabbaabaaaaabbaabababaabbabbbbabbaabb 477 | babbbabaabaaabbaabbbbbaa 478 | bbabbaabbabbabaabbaaaabaaaabbaab 479 | aaaababaaabaaaaabbabbabaababaabaaabbabbb 480 | abbaaabbbbababaabaaaabaa 481 | baabbbbabaabaabbbaabbaab 482 | baababbabbbabaabaaabaabbbaaabaaabbbbbaba 483 | bbbababbaabbbabbbbbbbbaa 484 | bbbbbbabbbabbabbabbaabbbaaabaaab 485 | bbbababbababaaababaaabbabaababbb 486 | baabaabbaabbabaabbbaaaab 487 | bbaaaababbabababaaabaaaaaaabaabaabbbbaba 488 | bbabbaaabbbbbaaabbbaabab 489 | ababaaababbabababbaababb 490 | aabaaaababbabbabbabbbbaa 491 | aaaabaaabbaabbabababaaaaabbbabbb 492 | abbbabaabbabbbaaaabaaababbabbabbbbaabaababaaabbb 493 | bbaaaabbaabbaaabaaaaaaabaaabbbbaaabbaabaaababaaabbaaabaa 494 | babbbabbaaabababbbabaaab 495 | abbabbabbaabbababbabbbbaaaaabbbabbababba 496 | abbaababbbaabbababbbabbaaabbbbbaaaabababaabababbbbaabbbaabbabaabbbbbabbaabaaaaab 497 | babbbabaababbbabbbbabbba 498 | baaabaabaaaaaaabbabaabba 499 | baabaabbbaabaaabbbabbaaabaaaaaabbbbbaabb 500 | bbababbbabaaaabbbababaaa 501 | baababbaaaabbbbaabbababbaabbaabaabaabbbabbabaaab 502 | bbbbbbaaabbbababbaababbbbaaabbaabbaababb 503 | bbabbaaabaabbbaababbaabb 504 | ababbbababbbbbbbababbabb 505 | babababababaaaaaaaaababababbaaabbabaabab 506 | abaaabaaabbaabbbbabbaaba 507 | aaaababbbabbbbbbbbbaabba 508 | babbbabaaababaaabaaababb 509 | ababbbabbbabbabbbbababaaaaabbbaa 510 | aaaaabbbaabbaababbbbbbbbbaaaabbbaaaaabaabbbbaabaaababbaabababbabbabbabbb 511 | abbabaabbbabbbaaaaabaaaabbbbbaaa 512 | bbbbabbaaabaabbbaabababb 513 | bbbabbaabbbaabaaabaaabaabaaaaaabaabbbbaa 514 | bbbababbbabaaaabaaabbaba 515 | abbababbabaababbbaabbabaaaabaabbaaaabaaabbabbbbbababababbbbaabba 516 | aaabaaaaaababbbaabbaabab 517 | abaabbaabaaabababaaabbbababbbbab 518 | aaaaabbbbbababbbbabaaaaa 519 | aabaaabaaababaaaabaabaaa 520 | aabaabababbbaaaabaabbaaa 521 | babaabaababaabbbbbababbbaaababbaabbabaabbabbbbabbaabaaba 522 | aabaaabaaaabaaaabbaabbbb 523 | bbbbaabaabaaabaaaababbbabaabbaab 524 | bbabababbbabbbbaabbbbaab 525 | baabababbaabbbbbbaaabbbabbbabbbbbabaabbababbaaabaabababa 526 | abbbabbbabbabbabbaaaabaabbbbbaaaabaabababaababaaaaabababaababbba 527 | baabbabbbaabbbbaabaabbabaababbaa 528 | abaababbaaaaabbbaabbbaabaaababbbbbaaababaaaaababbabbaabb 529 | bbbabbbbababababaaabaaabbaabbabaabbabbbbaababaaaabbbabbbbbbabbbbaaaaababbaaaaaaa 530 | aababbabaabababaaababbabbaaaaaaabbbbbbaabbaaabbbbbbaabbb 531 | ababbbabaaabaababbbaaabb 532 | abbbbbbaabbbbbbbbbababba 533 | bbabbbbabbabbbaaabbabaababbbaaaaaabbaaaa 534 | bbaabaababbbbbbbabaabaab 535 | aaaaabbabbbbabbabaabbbbbbabbabaaababbabbaabbaaaa 536 | abbaabbabbbbbbbbabababba 537 | abababbbabbababbabbabbaabbbbaabb 538 | baaabaaaaaaaabbabaaababb 539 | abaabbbbbabaaaabbaaaabaa 540 | bbaabaaabbaabaaaabbbbbaa 541 | baabaaabbbbbbbbabbababaaabbaaaab 542 | bbaaabababbaaabbaabaaabbaabaabbabaaaabaa 543 | aababbbbbbabbabbbbabbbbaaabababb 544 | abbbabaabbaaaaabaaabbaaa 545 | abbbaaaabaaabaaaaaaaaaaabbaabbab 546 | aaabaaaabbbbbbbaabbababbbabbbabaabbabbaabbbbaaaabbbaabbb 547 | aabbaaabbbabbabbbbbaabaaaaaaaabaabbbaabb 548 | babbbbbbaabbabaabaaaabab 549 | aaaaabbbaaaaabbaaababbbaabababab 550 | baabaabbbbbbbbbabbaabaaababaabab 551 | aababbbbaaaabbaababaaaaabaabbbabbbababaaaabaaabbaaaabaabababbbabbabaabbabaabaaaa 552 | aababaaaabbbababbbaabaabbbbababbbbaaabababababba 553 | bbbbbbabbabbababaaaaabaabaabbbaabbaaabababbaaaab 554 | abbaabbbaabbbbabbbabbaba 555 | bbaababaabaabbbbbabababb 556 | aabaabbbbbbbbbbababbababbbbbababbabbaaab 557 | bbabbaabaabbaabababaaaabbabbaaaaabaaabab 558 | babbaaaabbabbabbabbaabab 559 | bbbababbabbababbbabbaabb 560 | aaababbabaaaaaababbbabba 561 | babaabaabaaababaaabaaabaaaabbabb 562 | -------------------------------------------------------------------------------- /p2.dyalog: -------------------------------------------------------------------------------- 1 | a b c d←↓⍉⎕CSV('\W+'⎕R','⊃⎕NGET'p2.txt' 1)''4 2 | c←⊃¨c 3 | +/(t≤b)∧a≤t←+/¨c=d ⍝ part 1 4 | +/(c=a⊃¨d)≠c=b⊃¨d ⍝ part 2 5 | -------------------------------------------------------------------------------- /p2.txt: -------------------------------------------------------------------------------- 1 | 13-14 f: ffffffffnfffvv 2 | 10-12 w: kwtzpnzspwwwdz 3 | 2-3 n: nnjn 4 | 2-3 h: hhhh 5 | 2-11 c: crccccccccsccc 6 | 1-6 b: lcpcbcr 7 | 16-20 q: qsqqqqqqqjqqqvqqqqqh 8 | 4-5 m: mmfmm 9 | 10-13 h: hhhhhhchhkhhphh 10 | 10-14 x: xxvxxxxxxvxxxwx 11 | 2-7 v: tvvgvrvvv 12 | 8-11 j: jjjjrjwljjzjkmc 13 | 2-5 t: xtpftb 14 | 4-6 m: mmmlmpm 15 | 9-14 h: hhhhhhhhhhhhhchh 16 | 10-11 x: xxxxxxxxxxx 17 | 14-15 z: zzzzzzpzzzzzzzkz 18 | 5-6 m: mwjmmw 19 | 2-4 r: rrrr 20 | 7-11 v: vvkwlmvkvkmbwvvvv 21 | 16-17 j: jjjjjjjjjjjjjjjhj 22 | 6-12 v: vjvvddtdpvvvldvqvdhv 23 | 3-16 z: rktsvbkctznjkjzz 24 | 5-6 r: hrrrrr 25 | 1-3 d: ddxddd 26 | 19-20 s: sssssjssssssssssssss 27 | 17-20 b: bbbbbbbbbbbbbbbbbbbb 28 | 2-4 m: mslm 29 | 2-5 b: bbbbbl 30 | 3-4 j: ljjj 31 | 2-4 h: nlhbh 32 | 4-5 z: zsmwfz 33 | 4-5 j: jjzqj 34 | 9-10 r: rrrrrrrrrj 35 | 7-18 l: lljlgpmlltlzjltplln 36 | 1-6 l: zbmljsljdszwl 37 | 3-6 h: hhfhhqhhh 38 | 10-14 d: vmddcdhsdzkxdddddddd 39 | 6-7 s: psssssms 40 | 1-10 j: cndjjjjjjjjjjj 41 | 4-14 x: xxxdxxxxxxxxxxc 42 | 6-7 f: fwfffsff 43 | 2-11 v: dmmvlvsvvbbr 44 | 7-8 l: dlcllllllll 45 | 4-5 m: mmmmc 46 | 4-10 m: zmmmlmnmrj 47 | 5-6 s: ssshdsvbsk 48 | 1-3 p: pppfps 49 | 5-6 t: tttttt 50 | 6-15 z: zzzzzzzzzzzzzzzzz 51 | 7-12 m: bgshdmmkmmmmmfnmmm 52 | 10-11 l: gclgllsllll 53 | 3-4 d: dpdd 54 | 2-9 n: kgngnrcxd 55 | 8-10 n: knnsqnnnnrn 56 | 8-18 f: qhwqbwnfppkffwhjjxf 57 | 2-4 j: zwksc 58 | 3-11 s: nkszjxwhcms 59 | 8-11 b: tbbbbbbwbmbjk 60 | 7-8 z: kvxfrzzzz 61 | 2-5 g: hhwgv 62 | 1-5 s: lmkxjbbsmnq 63 | 2-7 p: spgxbpp 64 | 2-8 z: xqzpztbvk 65 | 4-7 r: wrtcfqrqcrlr 66 | 2-4 g: gzgggg 67 | 13-15 q: qqqqnrqqqbgqnqt 68 | 7-12 h: dhxhbcqhhhhd 69 | 7-8 l: llllflll 70 | 5-6 d: ddbdfddwmndc 71 | 3-10 j: jjjjjjcjjjj 72 | 16-17 x: jhmqjpbpxsttjpcxrz 73 | 7-14 j: jqjjjgjhjjmjjfjj 74 | 5-7 l: zllllll 75 | 9-13 d: dddddddxrdcsjdngbtd 76 | 13-14 k: kdwkhqkkkkkknkk 77 | 5-12 c: zcxwcbwfclccm 78 | 14-16 x: xxfxxxhxxxxmdxxxxx 79 | 10-11 x: xxxvxxxxxqxxxxxhx 80 | 6-11 d: ddddddddddtddd 81 | 1-3 j: bjbcj 82 | 8-10 p: pppptppzpp 83 | 3-7 z: zwldzgvztmbwwqwb 84 | 4-5 h: hhhrm 85 | 4-7 v: vvrvjvsz 86 | 2-4 w: prsdkgxw 87 | 1-4 q: fqqvqqqnm 88 | 5-6 k: kzjbpkkkzzktkc 89 | 12-15 s: ssvssssnsssdssgss 90 | 3-10 w: wwfcwcwwwrjww 91 | 6-7 t: thftndnvtztztb 92 | 1-6 w: qgzppbcdjbpwmsj 93 | 3-16 c: nccccfccrrcqhwcjck 94 | 7-10 b: bfscxbdbnb 95 | 4-14 x: xxrxsgxxwxptxxxdxdx 96 | 1-4 c: jccb 97 | 16-17 p: ppkppppppppppppwk 98 | 2-10 z: wqtzzbhzkv 99 | 9-10 b: bcbbqwcbbdvbzbfbsj 100 | 6-11 s: ssssswsssssg 101 | 3-7 c: wdcxzgtcrswqj 102 | 4-10 c: xszcrmcsxccbwccxwv 103 | 6-9 f: pffffffff 104 | 7-8 k: wkhkhdkkkkkkrbkk 105 | 3-4 q: cqqbqpg 106 | 3-15 s: sswvssssswssssh 107 | 19-20 k: kkkkkkkkkkkkkkdkkkkx 108 | 11-14 d: dddddddddddddnd 109 | 3-4 l: llll 110 | 3-4 t: bvtvtrr 111 | 13-16 b: bbbbbbbbbbbbbbbb 112 | 16-20 b: bbbbbbbbbbbbbbbkbbbw 113 | 10-11 v: vhvvvvvvvnvv 114 | 1-6 v: xsvmvvxvkvv 115 | 4-7 t: vttltqg 116 | 16-20 b: bbbbgsjbxkbbbbbbrbqb 117 | 15-17 c: ccccccchcccccxphcc 118 | 1-3 w: cmwbtnzwwlhr 119 | 2-16 j: njmqdfdsmrsptrjz 120 | 12-13 r: rrrrcrrrrrrdhr 121 | 11-14 j: jgjjjjjjjjtpjh 122 | 4-5 w: wwstw 123 | 5-6 w: mwrgwwmdwhzk 124 | 4-7 b: bbdlbbbbc 125 | 1-16 b: xbbhfbhbbbdbbdbbbbb 126 | 11-14 h: hhjhjhhhhhhzhh 127 | 2-3 t: jrtrt 128 | 5-6 w: pdwwww 129 | 5-16 m: mmhrmsvmxmvjdltm 130 | 15-17 b: rbdbbbbtbfbbxbbbbbbb 131 | 4-6 t: lzjtttqdpthkzrt 132 | 3-4 x: xcxxxxxxxxxx 133 | 15-16 z: zzzzzzzzzzzkzrcljz 134 | 15-20 b: bbbbbpbbmbbbbbbbbbbb 135 | 15-17 z: zzzzzzzzzzzzzcqnzzr 136 | 3-13 t: tntttttttttttt 137 | 6-10 s: jssmqsslsssddtg 138 | 9-10 p: ppppppppjp 139 | 9-14 d: sdxnfmpzlgvdcs 140 | 5-6 c: cccscvcc 141 | 2-4 r: rrrr 142 | 11-14 v: vvcvvmvvvpvvvjv 143 | 2-6 h: znfjphzqzdczp 144 | 5-12 j: msdjjbjbgjjjbl 145 | 4-7 h: hhhthkhhh 146 | 5-6 q: qqqqqc 147 | 18-20 q: pttqsnjcfchtfnqbjlqf 148 | 11-12 x: xxxxxxxxxxxq 149 | 5-6 j: xqbwjjcxjjljgj 150 | 7-14 g: pdkdbzgzjvdvwggpnnt 151 | 2-17 j: zhklmfrwspkgqbxjjdp 152 | 5-17 b: bbbnbkbbbgbbxvzxhb 153 | 6-8 b: bwhbbbbb 154 | 6-16 q: lgxlqsqqwwmqrqqfgp 155 | 16-20 j: jjjkjjjjjvjjjjjjwjjb 156 | 1-2 g: vggg 157 | 3-7 v: fvsvvxfvvv 158 | 5-8 q: vdqqqqqqcrqqxq 159 | 11-16 w: wwwwwwwwwwbwwwwnwww 160 | 5-7 s: swwzsss 161 | 3-6 d: hqwqcvdnqvh 162 | 2-7 h: hsqhthghhhh 163 | 4-9 d: dddtddddddd 164 | 8-9 d: ddddddddd 165 | 2-4 q: qqqsq 166 | 4-6 t: ttnlqt 167 | 4-6 s: sssszscs 168 | 2-7 l: ssfllslplqll 169 | 1-3 m: vmmlm 170 | 6-13 q: qtqqqrqqqqqqqqqq 171 | 2-10 d: zbldzlzssd 172 | 4-5 n: nnndq 173 | 8-18 b: wbbdgkvgscbdgqvxdj 174 | 5-6 r: srrtrrrrr 175 | 6-8 m: mmmmwbpm 176 | 11-14 h: hhhhhhhthhhhhm 177 | 2-4 p: pvpxpp 178 | 5-6 g: ggvgng 179 | 4-5 x: xxxtp 180 | 3-10 v: vbvvzvhvvvvmvbcvvwrv 181 | 11-13 d: ddddddddddxdldd 182 | 4-5 g: gggggggggggngfggg 183 | 7-8 j: jpjjjjhw 184 | 2-6 m: jmfrmmhhsgbmmm 185 | 6-10 v: vrvvvbvvvsv 186 | 8-15 c: cctrcccpccccgcc 187 | 14-16 d: ddddxdsdzwdddwdsddh 188 | 5-6 m: mmnmmb 189 | 2-6 d: dtwlswdnlkn 190 | 12-13 x: vldxvmxcnndzx 191 | 4-6 k: kkkxkm 192 | 1-4 p: pppp 193 | 11-16 b: bbbbbbbbbhdbxpbbbpb 194 | 1-5 j: jjjjjj 195 | 6-8 q: zqwdqszvqwqbrmhfqqm 196 | 2-5 q: nqqczhb 197 | 12-17 v: vvvvvvvvvvvtvvvvpv 198 | 1-3 w: wwlww 199 | 9-11 n: nbndcjnzntnvjnk 200 | 3-4 q: qqcr 201 | 15-17 p: plppppppppbppppplpp 202 | 1-2 c: cvdlsccrccldccvfcc 203 | 4-5 p: bpppcp 204 | 19-20 d: dddddddddsdddddddddd 205 | 2-4 t: bwbtmjbgkdlpjkrxt 206 | 2-5 l: llxdblrcvnpclt 207 | 11-13 b: bpbbbbbmbbbpbtcbbbzm 208 | 6-7 p: ppppppp 209 | 5-18 m: mqmmqpmmmmmwmpmzchms 210 | 3-6 g: ggggmggkgg 211 | 11-18 z: wjwlzzptzzzwbmzzgz 212 | 5-7 b: bbcxbfbwbbcn 213 | 4-5 p: szppp 214 | 2-12 b: bbbbbbbbbbbmbb 215 | 6-10 m: jmmmmwmtmfcwwxm 216 | 4-5 m: mrqzmmmptfkmch 217 | 13-15 q: qqqqqqlqqqqqqqqd 218 | 1-5 b: kbbbnb 219 | 4-5 t: qdtttszwwppbtllp 220 | 12-14 c: cccccccccccccm 221 | 4-5 g: gggdhg 222 | 1-4 b: wbtbb 223 | 3-6 d: ddrdgbdvdv 224 | 14-15 x: xxxxxxxgxxxxxvdx 225 | 13-18 l: lllllllllllllllllll 226 | 5-7 p: zjsxppv 227 | 4-13 v: vvvpvvvvvvvvf 228 | 17-19 q: qqqqqpcqpqqgqqqqqqmq 229 | 1-5 r: rlmrrr 230 | 8-9 j: jjjjjjjjw 231 | 2-4 q: dswq 232 | 16-17 z: zzzzzzzzzzzzzzzzzz 233 | 4-7 h: hhhzhhw 234 | 11-12 l: lllllhhpllllqlllln 235 | 11-12 h: hhhhdhhhhhrhh 236 | 3-4 j: pkthmjsjqx 237 | 15-18 b: bbbbbgbbbbbbbbbbbh 238 | 4-5 j: lsxklmdwmhj 239 | 1-2 p: pptp 240 | 8-10 g: fgggzrnggg 241 | 3-7 k: njkdhpkpqtqxhqwkp 242 | 10-11 l: llllllllllz 243 | 12-14 q: qjqhkqmqqwqgqcg 244 | 1-3 m: mmmm 245 | 8-19 c: dwzvhvbcpdbhcnrlcncx 246 | 3-7 x: xtxjljw 247 | 6-18 t: pttgnchttttttttqtt 248 | 3-4 p: pppxpp 249 | 15-16 k: kkkkkkkkkkkkkkvr 250 | 2-3 x: dxxmx 251 | 12-20 m: mmmmmjmmcmdmmmmmcmmm 252 | 6-13 h: sthvjhlhfhxlhb 253 | 4-5 t: pbrlttgmmwztxtrt 254 | 3-7 p: dpptmppp 255 | 7-9 p: hpppppppp 256 | 3-4 q: qdgqqq 257 | 1-4 c: cffcrkpdczhbj 258 | 1-8 d: cqdwddlrddd 259 | 9-10 n: gnkmnxnzmn 260 | 3-4 k: kkxx 261 | 1-7 d: vnddddn 262 | 8-12 l: jllnlcllllllllvllb 263 | 1-4 n: nnnnnhnnnn 264 | 9-12 s: tssssszsssssbt 265 | 8-13 h: nhnhdtkjbsfvbsh 266 | 2-4 v: qmvs 267 | 3-6 c: chcxccch 268 | 1-5 d: ddddd 269 | 11-15 l: pklllvllwlmlcklllll 270 | 1-3 v: dvkbwsgjzqzzjmznd 271 | 5-6 j: zjjjjjs 272 | 1-4 f: vbffrwfr 273 | 3-5 x: xxxxxrfdxmnbkrjbdzcx 274 | 16-19 s: spsssbmrpbwrhqssgft 275 | 13-15 v: vvvrvvvvbvvvvvv 276 | 6-9 q: lqfqgcwtdqzgrqqp 277 | 3-5 w: fwpwx 278 | 7-8 h: hnhschhfphjzphwh 279 | 2-6 r: rrrrrrr 280 | 8-10 h: hhrhzhhttm 281 | 9-16 w: wwwwwwwwfwwwwwwh 282 | 2-3 n: zbnfnlpcnjqftpv 283 | 14-17 k: rqwlkzqczczrlktcl 284 | 6-7 f: ffffffff 285 | 3-6 k: nndkjtpjzpmkkr 286 | 12-17 p: gpppbpmjpptpfnzpb 287 | 16-17 n: nnnpnnlnnnnnnmnnnnnn 288 | 4-6 r: rrsrwr 289 | 4-7 x: cnljrzcj 290 | 7-8 s: srgtqlmc 291 | 8-10 n: nnnnnnnvnn 292 | 2-5 g: ggqggb 293 | 7-8 h: hhqhgpxb 294 | 4-12 b: bxbchbbbbbbbb 295 | 2-4 z: qfzng 296 | 6-13 m: pcmmwdkmzlstn 297 | 3-4 v: qvdc 298 | 2-10 t: tktttttttmt 299 | 9-15 t: tttttttttttpttw 300 | 8-13 p: pppjpppkppdlv 301 | 6-9 g: gggggngqg 302 | 2-9 k: lzvkqkkkkk 303 | 8-12 h: ldpnjvchhshx 304 | 5-14 c: cccccvrccccdbccchjc 305 | 14-19 k: kkjksgrrkklhkkkkkkt 306 | 5-15 r: hrrrrrwmrlrgrlz 307 | 7-17 g: hbjtgsxbgrgggcjlk 308 | 4-6 q: lqcbqvzqrqzqxqnqd 309 | 5-8 x: xkdxsxxf 310 | 12-16 m: vxlfjgzgqhxmlvmmqmm 311 | 2-13 c: vccvjvqrgrsrqv 312 | 4-6 l: ltlrlpvnl 313 | 12-16 p: ppptdppppppcfppzpgsm 314 | 18-19 q: qfqpvwpwjqvlnrmvsqq 315 | 5-6 m: mmmmmh 316 | 6-7 m: mmmmsls 317 | 3-4 p: pvcg 318 | 6-7 h: hhhhhhj 319 | 1-4 g: gkggc 320 | 3-10 n: sqsndtgnjbnljnn 321 | 5-11 h: tcmlhlnbfnhgt 322 | 9-10 t: ttttttttxl 323 | 6-8 x: mxvxxxxhxxccbx 324 | 9-16 g: rgggthgxggdggjgg 325 | 7-20 w: wwnwwhvmtwnvwwpzdxvt 326 | 13-14 t: tttmttlttgttlptt 327 | 5-6 f: ffffpg 328 | 5-7 z: qzzzzzqzz 329 | 1-3 b: bfbfdhkwdzttcldtr 330 | 5-8 n: nnnnrnnqnnnn 331 | 7-18 m: hgnrbdmvmzqmhnhhpww 332 | 2-6 h: rjghpwxhn 333 | 5-10 m: bjqjmmnbvmlxpvvdds 334 | 3-4 v: hvjttv 335 | 4-8 n: nnpnnnnnn 336 | 1-10 g: gzxghcgkggggtxg 337 | 4-6 b: pbgblbbb 338 | 4-7 c: ccccccmc 339 | 2-4 g: ggwgtzvxqhjqphfg 340 | 3-5 t: htdtt 341 | 8-9 t: tttttptttttt 342 | 4-5 v: dvvvd 343 | 6-12 p: skzhnpblmpppcptfpll 344 | 15-16 l: llllllllllllllvp 345 | 6-11 b: mbbbbjxbbmbbf 346 | 2-4 t: mtqwtnt 347 | 2-4 h: wfhkh 348 | 5-6 w: wwwlwwwkw 349 | 7-8 k: kskkkktz 350 | 5-6 g: rggqcv 351 | 2-4 z: krmw 352 | 2-4 q: qqwqlrqcbxlxbpqg 353 | 14-18 m: mmzmmmmnmmmmmtmmmm 354 | 1-5 p: pqwfpnp 355 | 3-7 w: dwwxdwgwwksm 356 | 8-11 g: bkmcfcddjvw 357 | 7-9 s: srsszspss 358 | 3-4 r: rjrsz 359 | 12-14 k: kkkkkkkkkkkgkl 360 | 13-14 f: fffffffffffffh 361 | 7-9 r: qgxpglrlr 362 | 4-6 l: xflkll 363 | 2-9 d: gdddddddrqdddd 364 | 2-3 k: zskkzq 365 | 3-4 z: jzrtwgmtl 366 | 3-4 b: bnnbbx 367 | 1-9 r: rhmrwwrfmsb 368 | 7-10 b: btbbbbbbjbbb 369 | 7-8 t: lmttpttq 370 | 1-4 s: rcls 371 | 11-12 k: kkkkklkkkskq 372 | 14-15 p: ppppppppppppppp 373 | 3-7 l: dcslvkjgjcdk 374 | 1-6 l: hllhllpl 375 | 6-9 z: zdlqztzzkzz 376 | 10-11 r: rrfrrrrrrrqjpkkrmrrh 377 | 4-5 v: bvpqvvkvrxnvzmghbhmx 378 | 10-11 v: vvvvvjvvfcvvcvpj 379 | 10-11 j: jjjsfhdmjtcvbzj 380 | 4-5 z: zzzzzz 381 | 14-15 l: lllllllllzlllkcnl 382 | 3-8 c: dchcjjrccvm 383 | 12-14 b: vrwbfbqbbbbkbhgqjjh 384 | 8-9 g: stggqgctgpgggctt 385 | 15-17 p: pppppppppppkppqpp 386 | 7-8 q: qqqjvqhmqq 387 | 3-4 x: xxxxx 388 | 7-8 g: ffbgglgzpjgqvnglpsgh 389 | 14-16 r: rrdrrrrrrrrrrgrrrd 390 | 10-13 l: lllllllllllll 391 | 6-14 q: qfqzqnqqmhqqsp 392 | 2-3 q: qqqqq 393 | 17-18 f: ffffffqfffffffffftf 394 | 11-13 h: hhhhhhhhhhmhz 395 | 3-10 c: cccmcccccfzc 396 | 8-12 v: vvvvvvvvvvvvrfwrvv 397 | 3-4 v: vrnx 398 | 1-12 v: gfvsvkvvvzvcvsv 399 | 9-10 b: lbtgbbpcfbgb 400 | 6-8 f: fgnffkfshhfbfc 401 | 8-10 w: wwwwwwwwgpltzwzk 402 | 7-12 b: btbbjbhbbpbbqsbbbvp 403 | 11-12 r: vfcvrrrzrhvc 404 | 19-20 g: gggggggggggggbggggjh 405 | 11-14 s: sfsvsfsswsssscxssm 406 | 4-6 c: lcclcc 407 | 7-8 g: gggggggr 408 | 10-14 g: gdcpmgxlgggggtgbgg 409 | 2-3 b: bktb 410 | 9-13 k: krkkkgkkkkvkkk 411 | 2-12 f: bwtgngzflzcfchx 412 | 2-4 m: mmmmmmm 413 | 10-12 b: bbbbbbbxbbblcbpb 414 | 3-4 c: ccct 415 | 6-8 r: kgqvrrrjn 416 | 10-12 f: ffffffwfffff 417 | 6-7 c: ckcjcjccc 418 | 10-12 l: lllltllllllxll 419 | 3-6 q: qqgqqlxqqq 420 | 4-5 b: nbbbbb 421 | 7-11 r: rrrrrrrrrrrrrrr 422 | 10-11 s: sssssssssss 423 | 1-6 w: wwwwwwwlww 424 | 5-7 l: lrlmlll 425 | 8-12 c: fbcmjxccqcwc 426 | 9-10 b: ljmbxwbbbbbhbbb 427 | 2-4 h: shwgvlw 428 | 15-17 t: ttptttttktttkttttt 429 | 2-5 d: dddgdd 430 | 2-14 x: xbbtnzdvbszrlxl 431 | 8-10 c: cccccccbcx 432 | 10-12 k: kkkkkkkkmkkc 433 | 7-17 r: rzbcshqhmrzrktzdr 434 | 5-16 k: kvkkdkkkkkkkkkklk 435 | 1-7 p: hkplfbjdhsh 436 | 1-6 z: pnzzzz 437 | 12-18 m: mmmjmxmmmmmmmmmmcd 438 | 5-7 k: kskkdbsk 439 | 9-10 b: bbbbgbbbbw 440 | 4-6 c: cccccjs 441 | 19-20 w: wwwwwwwwwwwwwwwwwwwf 442 | 7-11 j: drzjhxkjjjkwr 443 | 10-15 c: cccfckccccdccxc 444 | 1-3 d: ddddc 445 | 13-14 j: jbjjknjjjjjjjjjjjzzc 446 | 1-4 m: mzmftx 447 | 1-4 t: rttt 448 | 12-17 t: tltqttzttttjwcttrwtt 449 | 6-10 m: rmfmrnmmmdmqp 450 | 6-15 p: jpfpppwppppppznpppp 451 | 4-8 p: mppxctpb 452 | 2-4 z: gwzzrn 453 | 3-4 p: ppfpp 454 | 3-4 b: bbbh 455 | 11-17 l: llllllllllllllllhll 456 | 4-6 m: mmmmmmm 457 | 4-6 c: ccccjx 458 | 11-14 g: gggggggggggggg 459 | 3-4 l: llflq 460 | 9-13 p: pspvvcpkpcpzpfpk 461 | 1-4 n: nhwn 462 | 6-10 j: jjjjjjjjmjj 463 | 9-12 p: ppgpwxpplgppzpppwpp 464 | 10-14 h: hhhhhhfhhhhhmxh 465 | 8-10 l: llllllmcwfl 466 | 7-8 h: hhjhhhps 467 | 8-11 v: grvvvgbvxvvlhvvbdvr 468 | 5-6 m: fmjjbmp 469 | 1-2 x: xxhd 470 | 11-15 n: nnnnnnnnnncnnnm 471 | 1-8 g: jgggbggd 472 | 13-15 l: lshllllllllllll 473 | 5-12 r: crrsrrrrprtrr 474 | 10-16 k: hkkkkkkjkgtkkkkkq 475 | 5-16 j: prxjxjjdxzjjvjjwfj 476 | 7-8 k: pdkkkkkzkzw 477 | 3-4 s: sstg 478 | 1-5 x: vxxxb 479 | 10-16 s: tqmzsfksjzfmlqzsdb 480 | 2-5 r: rcrxjr 481 | 10-15 v: jcbvvvhvvvkwrgvvvvv 482 | 4-6 n: nnxnnpnn 483 | 13-18 l: llllllllllllbllllgl 484 | 9-11 g: vwqgnrzlclgqtp 485 | 2-3 f: fpms 486 | 3-5 l: llllllll 487 | 7-12 x: xcvxzxxhxxxxxxxxqxxv 488 | 6-10 b: fcfpwbmbhbpbbqkkbxb 489 | 8-11 z: nrnzzqzzzzck 490 | 8-9 g: nggdfgdgggfggg 491 | 2-6 d: sdztkkfvpkddggdxd 492 | 10-14 g: nhdstmlfxcggcs 493 | 10-11 g: ggzfglgggmcxgjh 494 | 3-13 x: cxjxxxxxxgxvj 495 | 9-10 h: smlxphtmkhf 496 | 7-8 v: rhdvgcvrdvvvvvxwvssh 497 | 7-14 n: nnnnnnncnnnvnn 498 | 3-6 z: zzzgznzz 499 | 6-10 l: llwmgllljllll 500 | 4-5 v: vwvvpvw 501 | 7-8 m: mmmmqvmqmv 502 | 13-14 z: zzzzzzzzzzhzrcz 503 | 3-8 h: bdmhcxpgbpjvwfmh 504 | 3-5 h: nhhjk 505 | 11-19 b: zrrmrqbfvwbnmvkvbzbv 506 | 3-8 c: ztwqhccmwzvcbxjjrc 507 | 4-9 h: hhhhhhhhh 508 | 2-15 d: lddzlxhkscrmfbd 509 | 3-9 s: kpscwnwzj 510 | 10-11 w: zwwlwxwwwwwwww 511 | 4-5 v: dpvjr 512 | 1-3 d: ddtd 513 | 3-6 x: xxdfxxxrbdh 514 | 3-6 g: dghwgxg 515 | 8-10 z: zzzzzzzpzz 516 | 13-15 p: pjpxpppppdcpphlppjp 517 | 6-16 j: jjjjjljnjjjjjqjjjwx 518 | 11-17 f: fffffffffflfpfffxff 519 | 8-10 j: jjjjjjlwjkjrdjjjj 520 | 8-9 w: wwwwfwwdkww 521 | 4-9 x: qpxbhxwxxkx 522 | 5-7 w: wwwwbwl 523 | 1-6 m: mmfrmmmm 524 | 8-9 l: lllllvlsl 525 | 3-4 d: dddd 526 | 6-8 c: cqcptcfcgcrzbjcccp 527 | 10-11 k: dccpkmkkgkkdzkkkkkk 528 | 3-4 j: jjjr 529 | 3-9 h: hzhwhchzhjg 530 | 7-8 g: bxgnvvzfsbggdgg 531 | 2-17 f: ffffffffffffffffffff 532 | 7-13 g: ljggdgztggvgtggg 533 | 9-13 x: rxlxrxxnwqxpcdxq 534 | 10-11 j: jjctjjjjjfjj 535 | 8-16 k: zpzskgkkkvsbxhsk 536 | 4-5 l: llljl 537 | 2-6 b: bbbbbb 538 | 1-3 w: swww 539 | 6-8 r: rrrrrbrbrr 540 | 8-9 t: tttttttth 541 | 3-5 s: sssss 542 | 3-14 q: qqxqqqqbblqqcqmqsq 543 | 7-8 v: dmfvccvvvbvmwjvvvqfv 544 | 5-7 v: qvvvvvvvv 545 | 4-9 c: cgcgvncctwrtv 546 | 3-5 p: ppnpppp 547 | 13-15 h: hhhhhhhhhhhhhhhhnhhh 548 | 5-8 r: rrrvpgrdbhrc 549 | 2-9 q: szlqwzwhqxbxkr 550 | 5-6 c: cwrmhxcpxchzccb 551 | 4-6 z: zzjczz 552 | 12-14 p: pwqkbphzplxhnpm 553 | 8-13 t: tkkzjttrstbtwttd 554 | 15-16 m: mmpqmxbxdzmqmmmb 555 | 4-6 c: ctcpczdd 556 | 2-3 j: fdjjj 557 | 15-19 k: kkkkkkkkkkkkkkpkkkwk 558 | 2-3 c: cccc 559 | 1-2 w: wwfqwwgpmv 560 | 2-3 h: wfzmhm 561 | 3-10 s: wbsbvhfxjgxfqstwqn 562 | 15-16 r: sxrzvkqpqmgzgtrr 563 | 3-5 m: fmmtmqjxzss 564 | 12-13 k: ddsnpkfvknhwq 565 | 5-11 z: lzwvzhtzzzz 566 | 12-13 t: tttttttttbdgtft 567 | 14-19 g: gggggggggggggggglgnv 568 | 3-4 r: rrrr 569 | 3-7 h: xchhnhh 570 | 10-11 n: ndnjnnhnnnk 571 | 5-7 l: llllhll 572 | 3-5 p: ppppb 573 | 11-12 s: rrsjzvswsdtxssv 574 | 2-10 z: ztxzzzzzztzp 575 | 16-17 m: mmmpmmmmmmmmmmmmmmq 576 | 1-6 b: wkbfntzw 577 | 10-14 n: nnnngrnnnnnnnnnn 578 | 1-3 b: pbdfsbbp 579 | 6-13 n: brnwnhnnsnnrwncnmz 580 | 2-11 f: mlhpdjflklzmhxt 581 | 1-2 f: shzsffl 582 | 8-16 k: kkkkkfkxfwnslkkm 583 | 13-14 b: bbbbbbbbbbkbqbb 584 | 2-7 x: zdxxxxxx 585 | 6-10 h: hhthmpvhnlk 586 | 6-7 p: tppfpqpcppppxpmpcpp 587 | 3-5 m: grmkm 588 | 5-11 w: vcwbwwwbwwswnrdwfwx 589 | 1-6 s: sssrssssx 590 | 13-14 j: jjjjjjjjjjjjgj 591 | 14-19 q: sbqqzqnqnlzdrlqqqtkl 592 | 3-4 t: btdttvzrvnjst 593 | 1-7 s: ssbsssmhssssdsc 594 | 3-4 z: vcdzj 595 | 6-13 v: vvvvvvvvvvvvvv 596 | 2-7 t: ttttgpthqhmth 597 | 5-9 z: zzzzwzzzl 598 | 10-15 w: wwwwckbzwwwwkwwlrwb 599 | 2-7 r: wjrbdzrjxrstrc 600 | 1-8 z: dpzzzvcsx 601 | 4-6 c: nccxccvcccczcccdc 602 | 1-10 c: cccccccccc 603 | 3-7 d: zdmdpdntdpzncdbff 604 | 5-9 x: xvlvxldrxxmbdcdxxxz 605 | 6-7 p: ppplppjcwcpp 606 | 2-7 d: pwnhpdd 607 | 2-3 q: hqqsdqxs 608 | 6-9 t: smttzjmktq 609 | 7-9 t: ttttttttp 610 | 4-19 w: wwwrwwwwwwwkwwwwwwnw 611 | 17-20 s: cssvssssssssssssssss 612 | 10-11 s: srssssssssss 613 | 5-6 f: ffcfjt 614 | 3-4 d: ddgdddddddd 615 | 2-15 s: sssssssssssstsssssss 616 | 2-4 c: kmccnnt 617 | 2-3 f: ffff 618 | 10-14 s: vspjssnsssssshvsq 619 | 9-10 k: skkkkkkfxkkwk 620 | 3-5 g: mgnggjpgspcf 621 | 4-15 z: zzzdzzzzzzzzzzzz 622 | 3-4 c: cgcc 623 | 6-7 s: sssssjs 624 | 2-4 z: ztzz 625 | 17-18 w: wbqwwnwwwmwvwwhgdnl 626 | 13-15 d: dwddddddddddwdddd 627 | 4-7 g: gzghgcnq 628 | 3-9 n: snnnnnmll 629 | 2-7 j: sjhtsxj 630 | 2-6 h: khvzdhhr 631 | 2-10 t: tttttttttttttttt 632 | 4-6 x: xxglxwjrx 633 | 3-4 r: rjrc 634 | 5-13 b: bbbbbbbdbbbbbb 635 | 3-4 q: qqrhqq 636 | 8-12 g: ggggkggdgggbg 637 | 3-12 j: jjjjjjjjjjjjjj 638 | 1-5 c: cbcch 639 | 10-11 r: rrnrvrrrrzn 640 | 4-16 j: jjjpjjjjhjjjjjrjjjv 641 | 8-9 f: fffffzdsvfccfr 642 | 14-16 f: ffzfjfftfffffffffff 643 | 2-8 n: ngnnnnntnnnnr 644 | 6-11 n: nchnnvnnnndn 645 | 4-5 w: sfwvm 646 | 6-14 s: ssssssvsspssqhsss 647 | 3-4 m: sjjb 648 | 2-4 d: dnkjd 649 | 3-9 s: twsgkmqstq 650 | 6-14 f: ffffffffffhfff 651 | 10-15 w: wmwlwwwwfgwwjrzwwwww 652 | 3-11 f: fffffkxfffffmfff 653 | 1-2 l: jlrpl 654 | 3-14 p: pbnpkbppxhppmpp 655 | 1-14 v: bvvvtvvvvbvvvh 656 | 3-4 s: zssvs 657 | 3-4 l: llljrlk 658 | 8-12 f: ffcfffczlffff 659 | 3-13 m: xsmgpvzsrrwmxtbktsrj 660 | 5-7 j: qxvjjlqjjjjj 661 | 3-4 r: rbdwg 662 | 13-14 d: dddddddddddddg 663 | 10-12 f: lqvhjnkfrfffv 664 | 6-7 n: njnnnhz 665 | 11-13 v: vvvvvvvvvvvvs 666 | 12-13 v: nvvsfvvvvvnvdvjxvvv 667 | 2-19 s: slsssssbsskspssssts 668 | 9-11 n: nnnnnnnnnnm 669 | 4-5 j: mhngjjrhjcjkjw 670 | 12-18 p: pnfwppppprsqrppltppp 671 | 9-13 s: wsssfsjsssfssss 672 | 6-8 b: bbbbbzbj 673 | 9-12 c: lcccccrccctv 674 | 7-11 w: wbdwwqwwkbwws 675 | 6-19 c: cccrmldccfhtvclcccc 676 | 9-14 h: bhhhhdhjkhhhhm 677 | 7-15 g: gkgggggvcgggghgggz 678 | 4-8 k: kknklwkkkg 679 | 10-13 c: ccccccxcccccccc 680 | 10-14 c: ccbcfcccptcczbcc 681 | 8-9 s: scsssssss 682 | 1-7 v: bvvvvvvvk 683 | 4-8 s: dspsskkstklsz 684 | 9-10 b: blbkkzbvvpbhbbbb 685 | 1-2 m: qgntnbccqm 686 | 7-14 w: wwwwlftgspwmwr 687 | 4-13 n: tnxmnnwwnnlnnnnz 688 | 3-5 c: cwzbs 689 | 3-6 d: dddddl 690 | 6-8 s: qsfssrnsst 691 | 1-2 l: llxcx 692 | 9-11 g: zhzkcbglvgw 693 | 5-11 f: lfzgtbcmzzw 694 | 6-19 m: gcbgjbqrdkswqhmxjct 695 | 1-3 z: dzzz 696 | 9-13 t: wttftcddttmtttgttnvt 697 | 14-15 z: zzzzgtzzwzzzzzzzzz 698 | 1-11 q: qqqqqqqqqqqq 699 | 4-5 j: rxjjjxjwjjj 700 | 3-5 v: gqjhjvlvlbmkgssd 701 | 16-17 q: qgcbftwncjhdzwqmw 702 | 1-3 g: tjftgp 703 | 11-16 l: rlllllllllgglllm 704 | 4-6 z: zprzvrfbpblf 705 | 7-11 j: jjjjjjjjhpjmjj 706 | 3-4 l: ltlrblllwljljlc 707 | 8-11 k: kkvkkkkkbqkskrkkd 708 | 5-10 r: hjrcrrrdvtrkrvrxrr 709 | 5-6 x: xxxxpx 710 | 13-16 g: gmggggggcggpwgghgt 711 | 3-4 h: hzzp 712 | 13-15 h: hhwhhghhhhhhhhh 713 | 3-5 t: mlftttt 714 | 8-13 c: cccccvcdccccfcccccc 715 | 1-6 k: kczzpq 716 | 8-14 t: rtcttttgtttttgtttz 717 | 6-7 l: lhsvlll 718 | 1-2 x: cxlr 719 | 8-10 t: rtbtttttsblttttb 720 | 11-14 z: zzzzzzzzzzdzzzz 721 | 2-3 t: ltttbthjdxwbxrv 722 | 5-6 x: xxxxxxxkx 723 | 8-12 f: fffffpffwfng 724 | 5-6 x: xxxxflxxxxx 725 | 5-7 d: ddddvvk 726 | 4-8 j: ttjjjjhj 727 | 2-5 p: rtrmpksjdvpplmrkl 728 | 9-11 s: ssshsskssssssr 729 | 5-8 j: wjnjjvjjfjjhf 730 | 4-6 q: qlpcjqqqq 731 | 13-14 m: zctdnmkjstxbmmfqtns 732 | 4-11 n: nqntnngnvmnknrnwnnl 733 | 3-5 d: ddfvdnkd 734 | 9-14 j: wsznlrpljmjwjjjkmtk 735 | 2-6 w: wlwwwww 736 | 9-12 j: jjzjxjjjjhjp 737 | 10-13 v: zvvvvvvvvfvwlvvvv 738 | 3-18 x: dzxcqgwxpwxvpmcxxdxx 739 | 2-3 w: wsgwwd 740 | 3-20 n: nrnfxnnnnlnnnnnfnrhp 741 | 3-8 f: fmvjwsffvxjfnlw 742 | 5-6 l: llllcs 743 | 3-5 b: bbbbbbc 744 | 2-7 l: rlwkflnsm 745 | 4-18 m: dqskhdqgmrpbgtmdnp 746 | 4-6 r: grpxzr 747 | 5-7 m: mmmmmmjmm 748 | 7-8 b: bbkkbbkbb 749 | 1-4 r: rwrtr 750 | 5-6 g: gggcggg 751 | 4-6 l: qlcbwrsf 752 | 16-18 t: tttmtttltvtttttxtrtt 753 | 3-4 z: zzzz 754 | 6-10 g: gggggtgggg 755 | 12-15 f: tffffffffqrffvvftffh 756 | 10-16 w: wwgwwpwhqdwhwpbw 757 | 5-7 m: mpmmmmm 758 | 3-5 b: bbxtbbb 759 | 5-10 x: xxxxbxxxkjkx 760 | 10-12 b: bjbldbbbwbxg 761 | 3-4 g: gnggqgg 762 | 2-4 s: sstst 763 | 6-10 j: jjjjfvjjjj 764 | 16-20 r: rrrrrrrrrrrrrrrrrrrr 765 | 4-12 b: bbbxbbbbbbbbbbbbb 766 | 3-4 k: kkpk 767 | 4-7 s: ssssqsh 768 | 10-13 b: vbzbbbbnblbbb 769 | 12-14 f: rgqffrfsvftwff 770 | 2-4 x: bfxvhmsxnqxz 771 | 10-12 c: ccccccccccbcc 772 | 1-4 l: llxbmjpll 773 | 9-14 f: ffhfmpfffffzfgcg 774 | 3-4 n: ndfm 775 | 1-6 k: lkmdzgfbkfktkkvkw 776 | 12-13 q: qtkqqgqbqtqgvqqqzq 777 | 7-9 d: ddddddhddsd 778 | 4-11 j: kdqjjjjjjxg 779 | 4-6 k: kkkgkm 780 | 6-12 n: nnnnndtnnnnnnv 781 | 2-6 c: dccccdc 782 | 10-11 v: vvvlvvvvvvb 783 | 7-10 w: wwwwwcwtzwkpvjqwsb 784 | 1-5 x: xxxxxxx 785 | 5-8 g: dhggzggsggggglgggg 786 | 8-9 t: dttttttdtfnt 787 | 11-17 g: cqgglgtwgggcbwjvwg 788 | 1-2 t: ttttt 789 | 16-17 j: jjjjjjjjjjjjjjjjjj 790 | 4-7 k: lkdkhkkkfk 791 | 15-17 z: zzzzszzzzzzzzzwzlz 792 | 3-13 w: wwswwwwwwwwwfwww 793 | 5-12 h: mstzhsghhhhnzmdrh 794 | 10-12 h: hhhhhhfhhphhbhhk 795 | 3-4 j: jjsd 796 | 11-12 k: kkkkkkmkkmfd 797 | 19-20 d: ddddhdddddddddddddxj 798 | 7-8 g: gggjggrg 799 | 4-5 m: mdzmv 800 | 3-4 w: wwww 801 | 7-8 b: bdbwbbbbb 802 | 2-12 q: dxqqqqqjqqqlqq 803 | 3-6 w: wwwwxwh 804 | 9-11 s: smhnkssssssstxj 805 | 5-6 n: nnpnkj 806 | 7-8 s: qsgdxkjs 807 | 9-14 m: mmmmmmmmsmmmmv 808 | 1-3 v: vvcvv 809 | 2-5 x: kzxgjttwxspclfx 810 | 5-8 c: ccctpcckz 811 | 5-6 h: hhhchthqxchh 812 | 3-7 t: hnrcqdtttmtxtnmhcf 813 | 2-4 v: vvlz 814 | 4-5 k: kbgkl 815 | 9-12 x: mhzpjqtxqnfrcnwhk 816 | 7-11 z: slztclzvxbzmz 817 | 13-14 l: ldllllllllllkcl 818 | 1-2 l: fslcthfv 819 | 12-16 b: bxbkbbbbbbbbbbbb 820 | 1-4 r: rrmr 821 | 8-11 d: dddfdpdddtdd 822 | 17-20 n: nnnsngnbnnnnnnnncnnn 823 | 1-16 x: xxxxxxxxxxxxxxxxx 824 | 2-4 z: zqzv 825 | 1-4 m: fnwm 826 | 2-3 j: jqvd 827 | 10-12 h: ghhhhhjhhchg 828 | 14-15 v: vvtvvvvvvvvvvvv 829 | 4-6 f: ffffff 830 | 8-20 g: tgghjfglrzggggcxhcgg 831 | 9-11 p: pvpmzppppkpk 832 | 5-18 x: xxxxnxxxxxxxxxxxwlzx 833 | 10-11 m: mgdmrfchqwmfmrlnq 834 | 7-8 g: gggggzxs 835 | 4-6 n: vjnchzknzbvnvn 836 | 17-18 p: pppppppppppkppppjp 837 | 6-8 d: dddddfddld 838 | 1-4 r: brrr 839 | 2-10 m: mzmmhqmmmmkmmwm 840 | 8-15 f: cfjwxkgmfkxdmwxf 841 | 3-8 c: djskjzcmwjcz 842 | 2-3 k: hkckkjbztrggrffvxwm 843 | 11-13 d: krddnddddrddgdddd 844 | 4-5 f: zjsndf 845 | 4-5 r: rrrgl 846 | 1-2 z: tsbn 847 | 1-11 s: sssdwtjssssskkszms 848 | 6-16 x: xfxxtxxxxxxdxzxmxx 849 | 5-13 m: mmmmmmmmmmmmmvm 850 | 2-4 z: zdzj 851 | 3-4 d: dddd 852 | 3-4 n: nnmnkv 853 | 14-16 d: dfddddddddddtddddqdd 854 | 5-7 n: jnnnnnnj 855 | 8-16 q: qqltjqqqqqqqsqqfq 856 | 10-14 s: sssxsmsssvqjssss 857 | 6-7 w: wwwwjwwxwd 858 | 2-5 m: mzqcndqmnmmgwmsspm 859 | 9-10 k: tkkkkrkkkhkk 860 | 3-5 r: rxrrrrr 861 | 7-11 c: glfcdqrcnfhc 862 | 8-9 r: rrrrrrrjd 863 | 7-8 d: ddddddlk 864 | 2-7 j: pjsmjjr 865 | 2-4 x: txxx 866 | 13-15 f: ddkhqfnbcmtwvbf 867 | 7-11 n: nnnnnnnnnnvn 868 | 7-9 m: jmmmlgmmthlrm 869 | 8-13 w: wwwwkwwgwwwwfrwww 870 | 2-6 d: drdrhn 871 | 8-10 k: lnkfrvgkzkchq 872 | 4-7 z: lxjzzzzhzprrzzzpcwj 873 | 1-2 s: lssc 874 | 2-3 n: jmkcngpn 875 | 3-9 x: xxmzxnxxxx 876 | 3-12 v: nqwshwqgfnwvwvnf 877 | 5-8 m: zmmmmmmmqlkprv 878 | 1-5 q: qpqrqwqsvpjqf 879 | 14-18 q: qqqqqqqtqqqcqqqqqq 880 | 13-16 v: vvvvhvvvvvvvrvxdv 881 | 2-6 r: rrlrrrk 882 | 6-8 r: hmsrxsrkprdrrrl 883 | 14-16 s: sssssslssgswssssss 884 | 3-11 t: ctttvsnfcstzktktb 885 | 1-11 c: gwfbddphwnqcmf 886 | 3-18 h: hhhhhhwhhhhhhhhhhs 887 | 7-9 c: cjjcrtpvctccfcc 888 | 6-14 f: fffffgfffffffff 889 | 8-15 z: zzzzzzzzzzzzzzdz 890 | 9-16 d: ddddbdddhddddqpd 891 | 1-2 q: qffc 892 | 3-5 l: grcsjln 893 | 12-13 q: qqqqqqqqqqqqq 894 | 4-5 q: qqqlk 895 | 1-3 w: wwwx 896 | 3-4 w: kwwf 897 | 5-15 m: pkwmgmmxspzxhmmrmp 898 | 5-18 t: ttfthsbwntpcnttmwtc 899 | 14-15 p: pjpjwppkpxpqkpf 900 | 1-3 n: nnnn 901 | 8-9 j: jjjjjjjbxj 902 | 4-6 w: gfhwfwwmfx 903 | 8-11 k: kkckkkknkkkk 904 | 13-14 m: mmmmmmmmmmmmsqmmm 905 | 2-4 s: tsrz 906 | 9-13 j: tjvjqpnjjjlkwjjljrj 907 | 3-4 f: xwfgf 908 | 2-7 h: rhxshbh 909 | 10-18 j: jjjjjjgbjjjjjjjjjjj 910 | 5-14 n: fnwnnnsnnnncnpnn 911 | 9-13 h: qhhlnhhhqhhhm 912 | 3-17 h: hhfgzkhhjhrbhwdcpbnh 913 | 2-4 c: qccrblqtcd 914 | 13-16 s: ssjssqssssqsxssw 915 | 10-15 n: nnnnnnnnnqnnnnf 916 | 2-3 m: nmtl 917 | 2-4 w: wqwdt 918 | 4-7 v: vvvvvvvvvvv 919 | 5-6 w: wbctwwwgj 920 | 4-6 q: qqqttqzzwsxp 921 | 2-7 r: rcrrrrrr 922 | 10-12 d: sdmddcfdddzvdddddq 923 | 1-15 f: ffffffffffffffffff 924 | 3-7 r: rrwddcjgr 925 | 2-11 t: tttttgttttttt 926 | 3-6 n: nhxgnqnnfs 927 | 1-3 t: pqtwt 928 | 8-17 r: rrrrrrrrrrrrrrrrrrrr 929 | 3-16 t: tktnpjtcthrhtqltq 930 | 5-6 h: kcmkkqdrbhhxm 931 | 3-4 l: llll 932 | 1-14 g: gggdgrvjtqfgpk 933 | 5-8 p: ppppplwcpp 934 | 4-7 d: ddddtdmdd 935 | 1-7 q: qqvxrqq 936 | 8-10 v: pvvvgkqrvvgnvlvv 937 | 17-19 g: sdgghgnggggggfbmggp 938 | 6-8 x: rvjknxlx 939 | 13-14 r: rrrrrrrrrrrrrb 940 | 3-10 b: zbkmbbbbbb 941 | 4-6 d: kdtbdmkd 942 | 8-12 m: mmzmmmmmcxmmh 943 | 7-8 n: gspnbfnp 944 | 13-14 l: llllllllllllnf 945 | 4-5 b: rzbbbxblvbwbrbbbx 946 | 3-5 x: bxgrcxxrk 947 | 2-4 j: jjjh 948 | 11-13 r: rrrrrrrrrfrrrrrrr 949 | 4-7 q: mwqqfqqqnwqwq 950 | 2-3 g: sghvhggvv 951 | 4-5 k: kkkkk 952 | 11-12 s: ssssssskssgss 953 | 16-17 g: dcgqnwtptvvlfkdgg 954 | 4-5 v: vvvqc 955 | 2-6 s: xsksrmrrd 956 | 7-8 w: swwwwwfnww 957 | 5-6 m: hmgchm 958 | 6-8 m: mmmglzmmmhfnfqk 959 | 2-5 c: bnjknt 960 | 2-3 x: lxxj 961 | 1-4 g: gqgpzgtj 962 | 3-12 c: cngsrcvcjccxgcc 963 | 2-11 z: zpzzzzzzzzzzz 964 | 6-7 s: ctsxgslsjbstspgsl 965 | 1-2 v: vnqs 966 | 4-5 n: rnnwcnfl 967 | 14-17 v: kvvvvvvvkvvvvbnvw 968 | 5-6 h: hhhchhh 969 | 1-7 d: vmcdddj 970 | 14-16 n: snnnnnnnnnnmnnnhn 971 | 11-16 h: hhhhhhvhdhrhhghn 972 | 3-5 k: lckkknk 973 | 1-12 t: tcttbpgtdwdxwddrxv 974 | 1-13 x: jxxxxxxxxxxxfx 975 | 11-12 l: llllflllllll 976 | 11-14 p: qpphckzdppkjxz 977 | 3-16 d: nfngxfjxwdpjvjcds 978 | 4-5 b: xkbmb 979 | 11-12 s: sssssssssshs 980 | 15-17 t: tttttttttttwttttt 981 | 14-15 x: xxxxxxxxxxxcxxgm 982 | 3-5 t: wxlttc 983 | 10-11 x: xxxxxxxxxtk 984 | 9-12 h: hhhhhhhhdhhhh 985 | 5-20 d: smdvdkdbqbnsdssfhdnd 986 | 16-17 d: ddddddddddddddsvtddl 987 | 6-11 v: kvvvvvvmvvdv 988 | 2-5 r: nrrgr 989 | 1-4 b: bbbc 990 | 8-10 p: ppppptjpspkpppp 991 | 7-10 w: pjhswvhdjqx 992 | 11-13 c: cfcfccbcctgnccccvcc 993 | 8-14 t: tttttttttgtttttts 994 | 1-4 c: fcccc 995 | 4-6 v: tvfvvvqvlkrpxkvvhztr 996 | 3-6 v: vvdvvbv 997 | 13-15 p: pwppppppppppppp 998 | 1-2 v: pwbr 999 | 15-18 r: xrrrbrrrgrpbrprrqrqr 1000 | 2-4 g: zgggp 1001 | -------------------------------------------------------------------------------- /p20.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 ⋄ ⎕PP←17 2 | p←1↓¨{⍵⊂⍨0=≢¨⍵}(⊂''),¯1↓⊃⎕NGET'p20.txt'1 3 | n←{⍎⊃'\d+'⎕S'&'⊃⍵}¨p ⍝ tile numbers 4 | t←'#'=↑¨1↓¨p ⍝ tiles 5 | t8←{⍵,⍉¨⍵}{⍵,⌽¨⍵}{⍵,⊖¨⍵}⍪t ⍝ tiles flipped and rotated 6 | ×/n/⍨12=+/⍣3∘.≡⍨⊣⌿¨t8 ⍝ part 1 7 | f←{x y←⍵ ⋄ 0=≢i←⍸(⊢⌿x)∘≡¨⊣⌿¨y:⍵ ⋄ (x⍪y⊃⍨i)(y⌿⍨(⊃⊃i)≠⍳≢y)} ⍝ find next tile below 8 | g←{f⍣≡⊖¨f⍣≡⍵} ⍝ assemble column 9 | h←{x y←⍵ ⋄ ⊃⍪/{⍉⊃g(⍉⍵)y}¨⊂[1 2]12 10 10⍴x} ⍝ assemble image 10 | i←{m←(≢⍵)⍴~1⌽10↑1 1 ⋄ m/m⌿⍵}h g(⊃t8)(1↓t8) ⍝ image 11 | i8←{⍵,⍉¨⍵}{⍵,⌽¨⍵}{⍵(⊖⍵)}i ⍝ image flipped and rotated 12 | m←'#'=3 20⍴'..................#.#....##....##....###.#..#..#..#..#..#...' ⍝ monster 13 | n←+/∊{∧/,⍵≥m}⌺(⍴m)¨i8 ⍝ number of monsters 14 | (+/,i)-n×+/,m ⍝ part 2 15 | -------------------------------------------------------------------------------- /p21.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 2 | p←⊃⎕NGET'p21.txt'1 3 | a←{'\w+'⎕S'&'⊢⍵↑⍨⍵⍳'('}¨p ⍝ ingredients 4 | b←{'\w+'⎕S'&'⊢⍵↓⍨9+⍵⍳'('}¨p ⍝ allergens 5 | c←∪⊃,/b ⍝ unique allergens 6 | d←{⊃∩/a/⍨(⊂⊂⍵)∊¨b}¨c ⍝ ingredients that might contain each allergen 7 | +/~(⊃,/a)∊⊃,/d ⍝ part 1 8 | 1↓∊',',¨(⊂⍋c)⌷{z@{m}⍵~¨⊂z←⊃¨⍵/⍨m←1=≢¨⍵}⍣≡d ⍝ part 2 9 | -------------------------------------------------------------------------------- /p21.txt: -------------------------------------------------------------------------------- 1 | bffxt gbsr qsfjh gvcrp bdmmnn fghcjm svxjl bbsjt vjgvx lvtglg mgbcxxg pqkzl zqrgzc gxg sgtkj rcsrk ltzdz pzsx zhpn tznx mgvm slhrk fzbn tttc mjmfk nlph mnbbg fgmjgxx lftp vxsjdfl xldmrv grspss nphhnzj kdct qlpsq jcvrbsv rbxb jbbsjh pmrf tvxrpmq tdmqcl cmqj bfhkjm pncz qtrk gjpgp xmd gnfl xktgd qsr bdlcbg cpttmnv skzkfc svgrpz mvtjf vnjxjg qrhrmj xdpjls dcdjzd grn blltznj rsjt rnjktbf ccrbr hqgc cmdfcb qfdh kkhr tlbk vfrhm mzqjxq bnjfqpv (contains sesame) 2 | qrfpq rnjktbf tsgb cpk ppqsg zbxfm qbxmst jqkc nlph tcc qjvgh lftp fbtqkzc tvxrpmq mzqjxq ltzdz gvcrp hdzxfn zrcqxd vzf nphhnzj mjmfk qrhrmj hbrk zfj rmmzt bcc tttc vjgvx svgrpz hdxpf bdlcbg crbl ddpg kvvzs gbsr bbsjt pgdc frcxz pqqsx srffnhh zqrgzc bvmld dhhsr ghfd rqqxrb tdmqcl cpttmnv jbbsjh jcvrbsv snksnr cjhgj vbx ccrbr gxh fgdts bshd gmspg xhksx vzjk mgvm kg fsfxl blltznj jxdk cxxdh gcspgn xldmrv (contains nuts, dairy, eggs) 3 | zqbhtj svgrpz fgdts dblp tttc zrcqxd gmspg sgtkj bsdtlx bffxt gvkcgbb cxxdh tsc bdlcbg kpvxqt lvtglg fbtqkzc vnjxjg fsfxl vhb rlxvs tdpgb mzqjxq mvskm gjpgp dgnbsz grn zbxfm rxdbdq qrdqpnd rqqxrb gfcpds qbxmst ccrbr nlph jcvrbsv kdct cbhfjjq dhhsr hdzxfn kvhhnx svxjl kg hqgc qxksrfh lftp gprsvmt hlxr tlbk jbbsjh rmmzt bv xldmrv fmxltts mgbcxxg tcpjd jdpl gtpzt cmqj pzsx rzbjx fghcjm gvpq gfjgh nzzxdj frcxz bdmmnn cjhgj qjvgh bvmld mjmfk jxdk pqkzl cpttmnv bvvrkn zhpn (contains wheat) 4 | mvskm vfrhm zqrgzc cxxdh lftp zqbhtj grspss mjmfk zfj mgbcxxg kbml cvhn bsdtlx tdmqcl fzbn rnjktbf xmd cpttmnv kg svxjl gprsvmt qrdqpnd pchkj bnjfqpv scqvnn snksnr vzjk jqkc zcvzt cbhfjjq mfdtjx pncz grpdz bshd ccrbr nphhnzj plqgqvk ghfd qlpsq dhhsr xktgd fgdts hsgzgb cjhgj lllm gcspgn zrcqxd hdv ndjs tznx mzqjxq fsfxl pgdc nlph gtpzt crznk mnbbg gvpq kvhhnx gxg dgnbsz hlxr cpk tbbf skzkfc vnjxjg tcpjd qjvgh srffnhh jbbsjh jdpl qtrk dtkdz xdpjls bvvrkn (contains nuts, eggs, soy) 5 | stq vgzx ccrbr hbrk kfqnkld gvkcgbb bvvrkn cnfzz tvxrpmq mvtjf plqgqvk bshd vhb tznx bbsjt grpdz qhlntcc mjmfk gjgqxt qtrk svgrpz bv tdmqcl srffnhh qrhrmj kg svxjl pqqsx mzqjxq crbl lrrkhsq qjvgh rmmzt rcsrk lllm zqrgzc rsjt jcvrbsv tgqjnp gfcpds mnbbg nlph kkhr fgdts fmxltts fgmjgxx nphhnzj vnjxjg cmdfcb gcspgn bsdtlx sngvn fbtqkzc hxpc qstnz tlbk bnjfqpv jbbsjh tbjnhb hsgzgb zrcqxd rlxvs mgvm ltzdz vzjk zhpn pncz grn lzqfh (contains sesame, peanuts, eggs) 6 | slhrk kvvzs vnjxjg gmspg gfcpds gkntmb cvhn tsgb dgnbsz gvcrp vzf bv cpttmnv tnhcqg dcdjzd vfjp lvtglg hpkznb vbx mvskm vjgvx hsgzgb khtfps gxh crznk vhb qbpts bdmmnn qtrk kdct sgtkj gtpzt shb ccrbr stq pzln tsc scqvnn tznx nlph xmd gjgqxt tlbk qlqqf hkbzj zrcqxd dtkdz dhpqh fbtqkzc cbhfjjq grpdz qlpsq ghfd qsfjh bshd cjhgj qsr kkhr vzjk qjvgh skzkfc tdmqcl ltzdz xktgd frcxz jbbsjh rnjktbf vfrhm (contains nuts) 7 | nlph kkhr dcdjzd fgdts bdlcbg scqvnn cvhn qrhrmj rnjktbf gfcpds qhlntcc cpk qbxmst vzf gcspgn rmmzt lzqfh fzbn zcvzt grn hkbzj rsjt frcxz xhlgnz bnjfqpv tp tgqjnp dhpqh kpvxqt fgmjgxx sngvn qxksrfh slhrk gvkcgbb fbtqkzc jbbsjh qsfjh qsr svgrpz cpttmnv gmspg ddpg nphhnzj tdmqcl dbpr xktgd vzjk pzln gprsvmt grspss ccrbr vfrhm tvxrpmq fsfxl bbsjt mzqjxq pmrf hpkznb crznk bdmmnn dblp zbxfm svxjl mjmfk lftp zhpn tbbf bcc pqqsx qrdqpnd mgvm (contains nuts) 8 | tcc bdlcbg tznx kkhr rlxvs fgdts xhlgnz cpttmnv sgtkj svxjl vfrhm cxxdh zhpn zqrgzc crznk nzzxdj czfhm tbjnhb xlgjn bsdtlx grn gvcrp zrcqxd nphhnzj bvmld hxpc grspss tmbtvld cbhfjjq hdv vnjxjg ccrbr tgqjnp qfdh mgvm tsgb vgzx jbbsjh rnjktbf ghfd cpk gvpq mnbbg fzbn fbtqkzc pchkj vzjk qsfjh pncz hdxpf mcc fmxltts mzqjxq pzsx hpkznb bvvrkn rmmzt xhksx gjpgp rbxb grpdz qjvgh gkntmb zjpc gfjgh tlbk gtpzt mjmfk ltzdz vzf scxkgk nlph bv fhbbjj cjhgj xdpjls zpfs fsfxl rzbjx shb bshd pzln (contains shellfish, eggs, wheat) 9 | crbl tnhcqg fsfxl jvjdqd crznk zbxfm gjgqxt dcdjzd pmrf gxg zjpc zrjh nzzxdj kkhr tdmqcl hdzxfn scxkgk cvhn mcc fbtqkzc lftp kpvxqt fhbbjj ccrbr kvhhnx tgqjnp fgdts bbsjt gvcrp qxksrfh xktgd lllm lvtglg shb dhpqh svgrpz dhhsr tcpjd mgbcxxg plqgqvk gnfl vhb qlpsq bvvrkn gxh cpk zcvzt bsdtlx rnjktbf fghcjm pchkj vzjk zhpn vfrhm qsfjh blltznj nlph bnjfqpv grn pzsx dbpr tcc cpttmnv jbbsjh vnjxjg jtlpb qstnz cmqj khtfps ncnzr vgzx mnbbg qlqqf qrdqpnd (contains nuts, eggs, peanuts) 10 | gjpgp grpdz xlgjn hlxr krv svxjl pzln nlph hdxpf cmqj rnjktbf dcdjzd lllm ppqsg fbtqkzc nphhnzj qstnz xhlgnz vfjp zqrgzc jdpl bdmmnn kvhhnx gxg jxdk hdzxfn gkntmb xdpjls tbbf jbbsjh zfj lzqfh tmbtvld tttc zrcqxd vzjk ccrbr cpttmnv cpk pqqsx gmspg plqgqvk pchkj mgvm mzqjxq ltzdz rbxb skzkfc tsc zpfs rsjt bvmld bshd jvjdqd hqgc grn lrrkhsq zjpc dbpr gvcrp xldmrv tcc mvtjf zhpn scxkgk sngvn rcsrk rzbjx qrfpq tdmqcl rqqxrb fhbbjj pzsx rmmzt (contains dairy) 11 | tmbtvld kvhhnx stq jvjdqd zqrgzc vnjxjg ccrbr sngvn lrrkhsq lftp slhrk lvtglg hdzxfn frcxz cvhn tdpgb fghcjm cmdfcb rbxb cpk ddpg hbrk pgdc fbtqkzc qstnz qjvgh tdmqcl vzjk jbbsjh qbpts hqgc qrhrmj bvvrkn ltzdz jdpl mzqjxq bbsjt qsfjh nphhnzj qrfpq zfj vxsjdfl zpfs qsr cmqj gcspgn bdlcbg gnfl crznk zcvzt pqkzl nlph tvxrpmq svgrpz jqkc (contains sesame, soy, wheat) 12 | blltznj mzqjxq vfrhm xhksx shb cpttmnv mvtjf vzf xktgd svxjl hbrk fsfxl gvcrp hdxpf cmqj zbxfm glpm gkntmb hdzxfn bvvrkn gxh mgbcxxg fgdts hkbzj czfhm gxg rxdbdq bnjfqpv tvxrpmq bbsjt bvmld pchkj rmmzt xldmrv tdmqcl pgdc gjgqxt tbbf qbpts tcc fhbbjj sgtkj qrhrmj xhlgnz kpvxqt ppqsg grn grpdz xlgjn vhb gnfl tmbtvld cvhn snksnr cbhfjjq fbtqkzc gprsvmt jbbsjh vnjxjg qfdh dbpr nlph (contains sesame, soy, dairy) 13 | tlbk qrhrmj bvmld qbpts mcc fgmjgxx fghcjm gfcpds vnjxjg snksnr gjgqxt ncnzr xdpjls vjgvx vbx grpdz bffxt stq jtlpb bnjfqpv gxg pchkj bshd jbbsjh fmxltts blltznj xlgjn crznk zbxfm zrcqxd czfhm qstnz mvtjf bvvrkn mgvm qlqqf pncz tdpgb mfdtjx tdmqcl cpttmnv tgqjnp fbtqkzc ccrbr gprsvmt xmd mzqjxq ltzdz gvpq ndjs jqkc kbml grn hqgc xktgd cxxdh shb hdzxfn (contains eggs, sesame) 14 | hkbzj gfjgh crbl hdv jbbsjh gxg gvkcgbb vjgvx vzjk pzln cjhgj fsfxl lllm bdmmnn kg dhhsr qrdqpnd shb jvjdqd rnjktbf ltzdz grspss svxjl kbml bvvrkn fgdts qstnz tsgb zpfs czfhm dhpqh dbpr tbbf lrrkhsq mzqjxq cpttmnv lvtglg xhlgnz mjmfk krv zhpn kpvxqt fhbbjj pzsx qsfjh hdxpf ddpg ncnzr fmxltts skzkfc xldmrv ndjs vgzx nzzxdj grn hlxr khtfps crznk bffxt vfjp zbxfm dtkdz tbjnhb qxksrfh mnbbg xhksx qrhrmj gprsvmt tvxrpmq ccrbr gmspg svgrpz blltznj dblp hpkznb nlph hdzxfn jqkc fbtqkzc mcc tp frcxz vnjxjg gjgqxt vfrhm (contains dairy) 15 | gvkcgbb hbrk pmrf mzqjxq hdzxfn gfjgh vgzx qrhrmj hqgc qlqqf kdct tvxrpmq cnfzz fzbn bbsjt tgqjnp bvmld kpvxqt qhlntcc nlph tbjnhb rmmzt mvskm xktgd kg pqqsx xlgjn ccrbr gcspgn crbl vfrhm rqqxrb qbpts cmdfcb gxh qsfjh pzsx khtfps ddpg bfhkjm hkbzj skzkfc pncz dgnbsz grpdz bffxt tdmqcl fbtqkzc svgrpz tcc zrjh tcpjd gbsr bvvrkn ncnzr svxjl zcvzt scxkgk rnjktbf gfcpds gjgqxt kbml ndjs jbbsjh shb nphhnzj vnjxjg jvjdqd zqbhtj (contains eggs) 16 | blltznj lrrkhsq gvpq tcpjd vgzx vfjp rxdbdq zrcqxd kkhr gnfl gbsr rcsrk hxpc tznx zpfs svgrpz bffxt tdmqcl zhpn gjpgp lvtglg bshd fsfxl rsjt cmqj kvhhnx jbbsjh bsdtlx ghfd pzln pchkj frcxz jcvrbsv snksnr xmd zcvzt pzsx vzjk slhrk gprsvmt fhbbjj hdv bnjfqpv hsgzgb xhksx dbpr dcdjzd vbx cpttmnv scxkgk gjgqxt fghcjm fgdts mzqjxq xlgjn qrdqpnd fzbn jxdk hdzxfn bdmmnn fbtqkzc gmspg pqqsx vnjxjg ccrbr tttc vxsjdfl tnhcqg nzzxdj mvtjf mfdtjx (contains peanuts, nuts, dairy) 17 | qfdh mzqjxq tbbf gfjgh ccrbr gvpq svgrpz tcc fbtqkzc gfcpds mvskm rlxvs pzln bsdtlx jxdk gbsr vgzx xktgd pncz cpttmnv qbpts rqqxrb tttc sngvn rsjt lllm qrdqpnd jtlpb vzf dgnbsz zfj gjpgp qrhrmj khtfps crznk jdpl cvhn xldmrv gjgqxt zjpc vnjxjg vxsjdfl frcxz tdmqcl tnhcqg xdpjls tvxrpmq mgvm vbx grpdz kkhr dhhsr jbbsjh (contains eggs, sesame) 18 | vfjp pncz jvjdqd xmd tsgb gvkcgbb rlxvs pqkzl bsdtlx mcc nzzxdj qrdqpnd cjhgj tnhcqg zbxfm krv tlbk tmbtvld grn kvhhnx mzqjxq mnbbg hxpc pqqsx bvvrkn stq vnjxjg cbhfjjq shb gfjgh gjpgp hdxpf tcc jbbsjh qrfpq cpttmnv mgbcxxg ddpg qlqqf pchkj svxjl tp fgdts qstnz jcvrbsv bcc bdlcbg dtkdz scqvnn fsfxl nlph qbxmst tdpgb tsc gvpq tbbf cvhn tbjnhb pmrf fhbbjj tdmqcl mfdtjx cpk lvtglg gjgqxt tcpjd fmxltts hbrk fbtqkzc jtlpb ppqsg qjvgh (contains eggs, nuts, wheat) 19 | fgmjgxx zqrgzc ghfd dgnbsz vnjxjg crbl kdct gtpzt vxsjdfl grn rcsrk mfdtjx zqbhtj hdv ltzdz mzqjxq rlxvs gvpq vgzx qsr tsc pqqsx tcc xktgd cmdfcb dbpr zfj lllm gjgqxt qbxmst gjpgp jbbsjh gbsr mnbbg pncz bsdtlx kpvxqt tdmqcl xldmrv cpttmnv hbrk qsfjh kkhr nphhnzj hdzxfn lftp gprsvmt kg rzbjx pchkj nlph kvhhnx hsgzgb tttc bvvrkn jvjdqd bfhkjm bdmmnn gvkcgbb plqgqvk zrcqxd qfdh sngvn cvhn tdpgb vfjp qrfpq vhb tp mvskm lrrkhsq xhlgnz bvmld ccrbr jdpl kbml pzsx pgdc zpfs svgrpz zcvzt (contains shellfish) 20 | mcc qrfpq qrdqpnd tdmqcl ncnzr rlxvs ccrbr tttc vnjxjg dhpqh gprsvmt hdxpf nlph cxxdh vbx tsc crbl jdpl skzkfc hkbzj tbjnhb kpvxqt cnfzz kvhhnx qbpts pzsx gkntmb tnhcqg qlqqf vjgvx bcc czfhm bffxt ltzdz cpttmnv mjmfk zcvzt xlgjn vgzx lvtglg dbpr rmmzt gxh plqgqvk pgdc shb cbhfjjq fbtqkzc stq gjgqxt gfcpds mzqjxq (contains shellfish) 21 | krv qlqqf ndjs rnjktbf tcpjd zjpc mzqjxq vbx kbml svxjl bfhkjm vfjp jbbsjh qsfjh zrcqxd zbxfm cvhn frcxz qhlntcc qbxmst tmbtvld dtkdz sngvn vgzx bdlcbg mjmfk fbtqkzc crbl ltzdz fmxltts nlph zqbhtj rqqxrb ccrbr vzjk ncnzr pmrf lvtglg glpm dhhsr tdmqcl qrdqpnd qstnz vnjxjg gxg bshd snksnr ghfd hqgc xldmrv pqqsx xhksx jqkc fgmjgxx jdpl fhbbjj mgvm qrfpq kdct kpvxqt pncz qrhrmj bvmld ddpg qlpsq rxdbdq vjgvx xdpjls ppqsg vzf hdzxfn xlgjn svgrpz lrrkhsq (contains dairy, wheat) 22 | svxjl tdmqcl mgbcxxg cmqj pchkj gprsvmt gbsr zjpc vfjp grn gjgqxt hdzxfn rqqxrb mnbbg tttc lftp lllm vjgvx dbpr xhksx lzqfh tznx fsfxl ccrbr nlph ghfd rbxb srffnhh skzkfc jbbsjh ndjs tdpgb fgmjgxx zrcqxd sgtkj pqkzl vhb gnfl mcc zqrgzc jvjdqd jqkc rsjt bv cbhfjjq jtlpb gvpq gfcpds tp zhpn rnjktbf qlqqf bfhkjm fzbn grpdz mgvm vnjxjg bbsjt fbtqkzc blltznj ppqsg qfdh qlpsq rlxvs ncnzr cpttmnv rxdbdq xdpjls gvkcgbb (contains eggs, dairy, sesame) 23 | kbml qfdh fbtqkzc ccrbr jvjdqd xlgjn ddpg fhbbjj vgzx snksnr skzkfc hsgzgb xmd mgbcxxg grspss zhpn dtkdz fghcjm mcc nzzxdj tlbk czfhm rbxb tbbf tmbtvld gxh jbbsjh xhksx pncz hqgc ncnzr gjpgp rqqxrb pzln jqkc tsc fgdts zjpc dblp nlph jxdk cpk qxksrfh xhlgnz jtlpb tcpjd gcspgn qlpsq qtrk vnjxjg qsfjh gtpzt dhhsr hkbzj dbpr tdmqcl lrrkhsq hbrk hlxr lllm qrhrmj jcvrbsv rcsrk kdct mzqjxq bshd hdv fsfxl (contains eggs, sesame) 24 | tbjnhb dbpr xmd ghfd pgdc bdmmnn xhksx qbxmst tdmqcl dtkdz cnfzz tbbf gxh bsdtlx gnfl rcsrk zhpn qlqqf rqqxrb cpttmnv khtfps nzzxdj hdxpf scxkgk bcc tgqjnp rxdbdq kpvxqt zrjh mzqjxq jvjdqd cmqj tmbtvld zqbhtj cvhn fbtqkzc vnjxjg qjvgh svgrpz mgbcxxg mvskm dhpqh bdlcbg ddpg vhb gcspgn fzbn vzf kkhr hdv zcvzt crznk dgnbsz bffxt qxksrfh zfj qfdh qhlntcc ndjs pchkj plqgqvk jbbsjh slhrk mvtjf blltznj grn lllm vxsjdfl ccrbr hdzxfn bv qrhrmj rnjktbf grpdz svxjl frcxz (contains nuts) 25 | gvpq gjpgp ddpg zjpc gprsvmt bcc kvvzs gfjgh grspss czfhm vnjxjg tgqjnp krv zbxfm cmdfcb hkbzj frcxz lftp gvcrp pchkj tdmqcl fzbn tlbk lllm vbx ccrbr gcspgn hsgzgb mcc tnhcqg gbsr fhbbjj rlxvs qlqqf ppqsg hlxr rxdbdq bdmmnn mgvm slhrk jbbsjh fgdts nlph pqqsx kfqnkld dhhsr gvkcgbb ndjs lvtglg kg gnfl qbxmst hxpc pncz tbjnhb tvxrpmq cxxdh nphhnzj gkntmb qrfpq cbhfjjq zpfs vzjk crznk hdv zcvzt qjvgh cmqj khtfps fmxltts pzsx vxsjdfl cpttmnv jqkc kvhhnx fbtqkzc (contains shellfish) 26 | ccrbr tdmqcl xktgd cbhfjjq plqgqvk gbsr gfcpds scqvnn ddpg vzjk fbtqkzc jbbsjh pncz rzbjx skzkfc jcvrbsv mfdtjx hdxpf hdv ppqsg vnjxjg glpm mzqjxq rqqxrb lllm gkntmb dhhsr hqgc gjpgp bvmld jqkc qbpts mgvm cmdfcb tsc kpvxqt xldmrv xmd xdpjls qsr cjhgj tznx qfdh hkbzj gvcrp zcvzt tvxrpmq rnjktbf pmrf qhlntcc grpdz kdct zfj mvtjf dcdjzd khtfps qxksrfh kbml pzsx cpttmnv vbx (contains shellfish, peanuts, wheat) 27 | scqvnn mzqjxq rbxb tcpjd hdxpf vzjk bcc mnbbg kkhr lftp tp kbml zqrgzc hdv tsgb qjvgh rcsrk xdpjls qsfjh rnjktbf rsjt nlph bdlcbg pchkj kvvzs qxksrfh snksnr cmdfcb fbtqkzc hkbzj ghfd gfjgh lzqfh mgvm tdmqcl zbxfm ccrbr bnjfqpv jqkc tttc kg pqqsx blltznj zrcqxd tsc bvvrkn tmbtvld mvtjf jbbsjh mjmfk dcdjzd gjpgp vnjxjg pncz xktgd (contains dairy) 28 | jvjdqd ccrbr jbbsjh vxsjdfl svgrpz rcsrk xhksx mvtjf rqqxrb gmspg khtfps zbxfm vbx hbrk frcxz nzzxdj cpttmnv zqrgzc tznx zrcqxd lftp bsdtlx tdmqcl qrfpq qlpsq fbtqkzc pmrf jxdk krv crznk vhb xktgd dbpr ghfd tbjnhb kdct bfhkjm bnjfqpv mzqjxq hlxr grpdz hdv kpvxqt snksnr cjhgj rnjktbf xdpjls qxksrfh xldmrv svxjl pchkj tdpgb vnjxjg dgnbsz dhpqh pqkzl gfjgh tmbtvld bdlcbg fgmjgxx (contains eggs, dairy, peanuts) 29 | cpk tp qstnz tdmqcl tnhcqg mnbbg bffxt xktgd kpvxqt grn gxh dcdjzd rcsrk mgbcxxg jtlpb nlph gvcrp bcc mjmfk qtrk ncnzr mcc gprsvmt xmd hbrk mfdtjx tsc qlqqf zqbhtj rnjktbf bvvrkn hdxpf qbpts fsfxl fbtqkzc mzqjxq jvjdqd vnjxjg mvtjf rsjt slhrk lrrkhsq ccrbr hkbzj cmdfcb dgnbsz tcpjd cpttmnv mgvm tcc (contains shellfish) 30 | pmrf lvtglg fmxltts gjgqxt bcc kfqnkld cjhgj fgmjgxx kg gxg fhbbjj tcpjd pchkj cpk hlxr cvhn rsjt cmdfcb tlbk bnjfqpv glpm vhb nlph fghcjm fbtqkzc bffxt hdxpf zjpc blltznj bsdtlx vnjxjg zqbhtj xldmrv tp jbbsjh mgvm ccrbr bv fgdts grn rzbjx dtkdz bvvrkn tdmqcl qtrk hxpc gvpq dhhsr rmmzt hqgc kpvxqt mzqjxq svxjl vgzx jxdk (contains sesame, eggs) 31 | zjpc bsdtlx kvvzs gxg ncnzr cnfzz tcpjd pchkj kdct fghcjm gmspg fgdts rsjt tvxrpmq mcc dcdjzd skzkfc jbbsjh tbjnhb gcspgn hkbzj bdmmnn svxjl fsfxl gvpq xhksx ppqsg gfcpds vnjxjg jvjdqd bshd zrcqxd xlgjn tdmqcl bcc crznk mnbbg mzqjxq bvmld bv gprsvmt nzzxdj gxh qstnz qrhrmj bbsjt qjvgh jxdk grn bnjfqpv qbxmst qfdh rnjktbf hpkznb ndjs cpttmnv pqqsx nlph tznx xktgd crbl tnhcqg jdpl pzsx pzln rlxvs svgrpz fbtqkzc fmxltts mgvm jtlpb hdxpf hdv tdpgb zcvzt rmmzt scqvnn krv (contains soy, nuts, sesame) 32 | jxdk zqrgzc qlqqf fgdts bv mvtjf ghfd pzsx stq kvvzs cxxdh kdct pzln zrcqxd qlpsq zrjh sgtkj pgdc dgnbsz dblp lvtglg kkhr nlph jtlpb gkntmb fghcjm dcdjzd gvcrp mgvm rlxvs jvjdqd mnbbg vnjxjg rbxb bvmld jcvrbsv qrhrmj fmxltts krv bfhkjm ncnzr gxg bbsjt jbbsjh gfjgh cpttmnv mfdtjx vgzx fbtqkzc ccrbr vfrhm mzqjxq glpm zfj (contains eggs, soy) 33 | slhrk cmqj gprsvmt gxg pgdc pqqsx snksnr xktgd hkbzj zqbhtj blltznj gxh mvtjf tdpgb ppqsg grspss bsdtlx fgmjgxx cpk nlph fgdts crbl svgrpz tznx mzqjxq cpttmnv hdv qstnz jxdk mgbcxxg pzsx gtpzt zrjh bvvrkn scqvnn dhpqh qlpsq vnjxjg qhlntcc kkhr ccrbr jbbsjh bshd mvskm rbxb mcc fbtqkzc (contains nuts, shellfish, dairy) 34 | rnjktbf zqbhtj lzqfh cjhgj nlph crbl tcc bvmld hlxr bfhkjm tsgb shb dhhsr gvpq pncz mzqjxq srffnhh stq jqkc zcvzt zqrgzc jbbsjh gbsr mvtjf rqqxrb vnjxjg scxkgk rsjt kvhhnx ddpg tnhcqg tbbf mgbcxxg gxg tbjnhb czfhm qrdqpnd vbx hxpc rbxb gjgqxt qrfpq fbtqkzc plqgqvk tdmqcl jvjdqd pmrf skzkfc zrcqxd cxxdh cpttmnv zrjh snksnr (contains eggs, shellfish, sesame) 35 | pzln grpdz dbpr mzqjxq fbtqkzc bcc kdct zjpc krv rnjktbf zbxfm blltznj qtrk pqkzl pncz jdpl rmmzt tmbtvld frcxz sngvn ndjs shb fzbn kg gfcpds bvvrkn zhpn jqkc gvpq cmdfcb qlqqf tbjnhb ccrbr nzzxdj gnfl cpk nlph fsfxl dblp jvjdqd tvxrpmq hdv lzqfh xktgd tdmqcl cpttmnv kkhr jbbsjh zrjh (contains peanuts) 36 | tp qbxmst mzqjxq qrfpq hdv fzbn bv gvkcgbb dgnbsz rzbjx zjpc svgrpz qhlntcc cjhgj rlxvs fmxltts fbtqkzc nlph tvxrpmq hdzxfn hdxpf ccrbr lrrkhsq zrcqxd grn pqqsx glpm gjgqxt sngvn ppqsg rnjktbf vnjxjg gfcpds hpkznb xldmrv vfrhm cpttmnv tlbk kg mfdtjx hxpc tsc rxdbdq jbbsjh cnfzz zqrgzc qfdh zcvzt tcpjd khtfps vgzx qbpts lzqfh ncnzr tcc qrdqpnd fgmjgxx nphhnzj ltzdz (contains wheat, peanuts) 37 | bv zrcqxd mgvm cpttmnv kvhhnx fmxltts qlpsq gxh ccrbr bffxt tnhcqg gvkcgbb fzbn vfjp nlph zqbhtj jbbsjh xldmrv bfhkjm mnbbg hlxr tcc crbl dhhsr cmqj kkhr tbbf lvtglg tdmqcl qfdh qlqqf xhlgnz crznk bdmmnn rqqxrb qstnz rnjktbf vgzx gkntmb tbjnhb bsdtlx mvtjf kg vnjxjg dtkdz pqkzl khtfps hpkznb bcc fsfxl hbrk pgdc tznx bshd hkbzj pmrf sngvn tsgb hdzxfn slhrk zbxfm lzqfh grn vfrhm tp fhbbjj ghfd tsc zcvzt zfj hsgzgb lrrkhsq qsr qsfjh fbtqkzc stq kdct gvpq hqgc lllm gjgqxt xmd skzkfc hdxpf vzjk rzbjx nzzxdj cpk (contains shellfish) 38 | bshd crznk qsr zqbhtj rnjktbf cjhgj scqvnn qrdqpnd vnjxjg skzkfc jbbsjh sngvn zrjh cpttmnv gvcrp scxkgk pqkzl sgtkj cvhn grspss tbjnhb fhbbjj ncnzr tznx mcc bvmld tdmqcl vbx czfhm jtlpb hsgzgb hpkznb gmspg ccrbr fbtqkzc bvvrkn xlgjn cpk hbrk bfhkjm nlph zrcqxd mgvm mgbcxxg qlpsq fgdts vzjk rqqxrb kpvxqt rlxvs rmmzt tgqjnp xdpjls srffnhh bffxt dtkdz dhpqh cxxdh tmbtvld grpdz tcc pqqsx bdmmnn (contains nuts) 39 | pgdc lllm fbtqkzc fsfxl hkbzj tlbk grn qjvgh xdpjls qstnz jbbsjh gbsr cvhn nlph dtkdz bshd ppqsg vnjxjg rnjktbf kdct lzqfh cbhfjjq zfj qxksrfh srffnhh dblp svgrpz ddpg cpttmnv qsr fgdts plqgqvk pmrf hdzxfn sgtkj cxxdh qhlntcc mjmfk hlxr tdpgb ccrbr khtfps rbxb tdmqcl vhb bvvrkn qfdh tgqjnp zbxfm vjgvx hbrk jqkc (contains sesame) 40 | tcpjd vnjxjg ltzdz bfhkjm qjvgh zrcqxd qbxmst ccrbr hdxpf kfqnkld gnfl xlgjn qlpsq ncnzr bdmmnn ddpg gkntmb fmxltts rsjt rmmzt kvhhnx kbml gxg ppqsg gvkcgbb qrdqpnd ghfd tlbk zqrgzc gtpzt bshd zhpn qtrk shb lvtglg rcsrk gjpgp gvpq tdmqcl fgmjgxx tsgb mzqjxq vgzx vzjk slhrk tnhcqg jxdk qstnz jbbsjh gxh czfhm tttc nzzxdj bvmld gvcrp lrrkhsq gmspg cmdfcb vhb qfdh rxdbdq bdlcbg hpkznb fsfxl gcspgn gjgqxt kpvxqt hbrk snksnr cpttmnv dhpqh nlph tdpgb zjpc kdct rlxvs pchkj qrhrmj cpk svgrpz (contains shellfish, sesame) 41 | -------------------------------------------------------------------------------- /p22.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 2 | p←⍎¨¨2↓¨{⍵⊂⍨0=≢¨⍵}(⊂''),⊃⎕NGET'p22.txt'1 3 | s←{⍵+.×⌽1+⍳≢⍵} ⍝ score 4 | f←{,∘(⍵⌽⊃¨⍺)¨@⍵⊢1↓¨⍺} 5 | s∊{0∊≢¨⍵:⍵ ⋄ ∇⍵ f ⍺⍳n←∊⍵,≢⊃⍵:0⍬ ⋄ (⍺⍪n)∇⍵ f {∧/(≢¨⍵)>z←⊃¨⍵:sg z↑¨1↓¨⍵ ⋄ /⌈/¨⍵:0 ⋄ ≢p:a ⋄ _←⍎i⊃p ⋄ ∇⍵+1}0}¨⍳≢p ⍝ part 2 6 | -------------------------------------------------------------------------------- /p8.txt: -------------------------------------------------------------------------------- 1 | nop +116 2 | acc +12 3 | acc -8 4 | acc +34 5 | jmp +485 6 | acc +42 7 | jmp +388 8 | acc +36 9 | nop +605 10 | acc +17 11 | jmp +411 12 | acc +49 13 | jmp +1 14 | acc -9 15 | jmp +289 16 | jmp +288 17 | jmp +74 18 | acc +4 19 | acc +42 20 | jmp +258 21 | acc +14 22 | acc -13 23 | nop +106 24 | jmp +280 25 | jmp +534 26 | acc +41 27 | acc +40 28 | jmp +224 29 | acc +43 30 | acc +10 31 | nop +240 32 | jmp +211 33 | acc +7 34 | acc -3 35 | acc +7 36 | jmp +1 37 | jmp +559 38 | jmp +415 39 | jmp +528 40 | acc -16 41 | jmp +568 42 | jmp +442 43 | nop +113 44 | jmp +464 45 | acc +42 46 | jmp +336 47 | acc -2 48 | acc +39 49 | jmp +251 50 | acc -4 51 | acc +42 52 | jmp +528 53 | acc +5 54 | acc +30 55 | nop +429 56 | acc +49 57 | jmp +86 58 | acc +15 59 | nop +145 60 | acc -8 61 | jmp +1 62 | jmp +404 63 | acc +26 64 | acc +50 65 | jmp +251 66 | acc +47 67 | jmp +1 68 | acc +45 69 | acc -5 70 | jmp +357 71 | acc +31 72 | jmp +62 73 | acc +25 74 | nop +540 75 | acc -13 76 | acc +0 77 | jmp +72 78 | acc +28 79 | acc +36 80 | nop +475 81 | acc -17 82 | jmp +166 83 | acc +4 84 | acc +20 85 | acc +30 86 | acc +43 87 | jmp +464 88 | acc +4 89 | jmp +94 90 | jmp +44 91 | nop +446 92 | acc -16 93 | nop +267 94 | acc +30 95 | jmp +519 96 | acc +45 97 | acc +47 98 | jmp +62 99 | acc +28 100 | acc -13 101 | acc +45 102 | jmp +239 103 | acc +12 104 | jmp +1 105 | nop +153 106 | jmp +245 107 | jmp +244 108 | acc -12 109 | jmp +308 110 | jmp +190 111 | jmp -86 112 | acc +45 113 | acc +1 114 | acc +15 115 | acc +30 116 | jmp +350 117 | acc +30 118 | jmp +42 119 | jmp +214 120 | jmp +447 121 | acc +24 122 | jmp +453 123 | acc +29 124 | acc +42 125 | jmp +302 126 | acc -4 127 | acc +33 128 | jmp +447 129 | acc -18 130 | acc +15 131 | acc -2 132 | jmp -24 133 | jmp -4 134 | jmp +35 135 | acc +0 136 | jmp -83 137 | acc -13 138 | nop +437 139 | acc -15 140 | jmp +95 141 | nop +289 142 | jmp +348 143 | acc +17 144 | acc +23 145 | acc +45 146 | jmp +359 147 | acc +18 148 | jmp +352 149 | acc +0 150 | acc +13 151 | acc +25 152 | acc +11 153 | jmp +331 154 | acc -2 155 | jmp +19 156 | jmp -103 157 | acc +34 158 | acc +48 159 | jmp +141 160 | acc +44 161 | jmp +1 162 | acc +42 163 | jmp +374 164 | acc +45 165 | acc +35 166 | nop -37 167 | acc -2 168 | jmp +244 169 | jmp +151 170 | acc +36 171 | acc +4 172 | nop -64 173 | jmp +231 174 | nop +321 175 | nop +291 176 | acc +16 177 | jmp -161 178 | acc +17 179 | nop +412 180 | nop -89 181 | nop +179 182 | jmp -8 183 | nop -167 184 | acc +44 185 | acc +4 186 | jmp +42 187 | acc +22 188 | acc +28 189 | acc +22 190 | jmp +192 191 | acc -18 192 | acc -7 193 | jmp -70 194 | acc +27 195 | acc +25 196 | jmp +312 197 | acc +50 198 | acc -16 199 | jmp -121 200 | acc +14 201 | acc +43 202 | nop -111 203 | jmp -54 204 | nop +39 205 | acc -4 206 | acc +41 207 | jmp +236 208 | acc -11 209 | jmp -118 210 | jmp +150 211 | acc -15 212 | jmp -141 213 | acc +14 214 | jmp +1 215 | acc -8 216 | jmp -96 217 | acc +11 218 | nop -95 219 | jmp +1 220 | acc +47 221 | jmp -113 222 | nop +257 223 | jmp +35 224 | acc +45 225 | acc +25 226 | acc -6 227 | jmp +31 228 | jmp +1 229 | nop +153 230 | nop -39 231 | jmp +25 232 | acc +0 233 | acc +50 234 | jmp +362 235 | acc -15 236 | acc +0 237 | acc +31 238 | acc +22 239 | jmp +69 240 | acc -18 241 | acc +24 242 | jmp -38 243 | acc +39 244 | acc -10 245 | acc +40 246 | jmp +6 247 | jmp +143 248 | jmp -44 249 | acc +32 250 | acc -8 251 | jmp +358 252 | jmp +248 253 | nop +343 254 | nop -11 255 | jmp +116 256 | jmp +74 257 | jmp +120 258 | acc +37 259 | acc -19 260 | acc +36 261 | jmp +341 262 | acc +49 263 | jmp -164 264 | acc +14 265 | acc +13 266 | acc +0 267 | acc +50 268 | jmp +291 269 | jmp +1 270 | jmp -79 271 | acc +19 272 | jmp +243 273 | acc +25 274 | acc -13 275 | acc -12 276 | acc -7 277 | jmp +228 278 | jmp -81 279 | acc +18 280 | nop -163 281 | acc +0 282 | acc +8 283 | jmp +212 284 | acc +38 285 | acc -12 286 | jmp +6 287 | acc +24 288 | acc +42 289 | acc +21 290 | acc +12 291 | jmp +136 292 | acc -12 293 | acc -2 294 | acc +46 295 | acc +35 296 | jmp +290 297 | acc +6 298 | acc +36 299 | jmp -182 300 | acc +14 301 | acc +7 302 | jmp +228 303 | jmp -19 304 | acc +48 305 | acc +25 306 | jmp +106 307 | jmp +70 308 | acc +24 309 | jmp +1 310 | acc +24 311 | acc +29 312 | jmp -156 313 | nop +296 314 | acc +34 315 | jmp +115 316 | acc -12 317 | acc +41 318 | jmp +28 319 | jmp +165 320 | acc +0 321 | acc +24 322 | acc +42 323 | acc +27 324 | jmp +106 325 | acc +24 326 | acc -11 327 | acc +4 328 | acc -6 329 | jmp -180 330 | acc -2 331 | jmp +2 332 | jmp -314 333 | acc -9 334 | acc +1 335 | jmp -327 336 | acc -8 337 | acc +7 338 | acc -6 339 | acc +32 340 | jmp -157 341 | acc +10 342 | acc +10 343 | acc -16 344 | jmp +278 345 | jmp +6 346 | acc +0 347 | nop +178 348 | acc +26 349 | jmp +231 350 | jmp +175 351 | acc +29 352 | acc +36 353 | acc +7 354 | jmp -255 355 | acc +46 356 | acc +45 357 | acc +7 358 | nop -7 359 | jmp -101 360 | jmp +3 361 | acc -13 362 | jmp -140 363 | nop -115 364 | jmp +1 365 | jmp -336 366 | acc +9 367 | acc +9 368 | nop -68 369 | acc -3 370 | jmp -37 371 | acc -13 372 | nop +128 373 | jmp +1 374 | jmp -90 375 | acc +49 376 | jmp -124 377 | acc +16 378 | acc +9 379 | jmp +212 380 | acc -18 381 | jmp -303 382 | acc +33 383 | acc +23 384 | acc +26 385 | jmp +140 386 | acc +25 387 | nop -123 388 | acc +22 389 | jmp +148 390 | acc +1 391 | acc +44 392 | jmp -352 393 | acc -11 394 | jmp +33 395 | acc +16 396 | nop -199 397 | acc +15 398 | jmp -351 399 | jmp +5 400 | jmp -357 401 | nop -284 402 | acc +32 403 | jmp -43 404 | acc +5 405 | acc +23 406 | acc +3 407 | jmp +59 408 | acc -10 409 | nop -266 410 | nop +43 411 | jmp +79 412 | acc +21 413 | jmp -42 414 | acc +35 415 | acc +5 416 | jmp +68 417 | acc +24 418 | acc -4 419 | jmp -155 420 | acc +45 421 | jmp +154 422 | jmp -311 423 | acc +10 424 | acc +17 425 | acc +39 426 | jmp -297 427 | jmp -175 428 | acc +49 429 | jmp -151 430 | acc -4 431 | acc -9 432 | jmp -219 433 | acc +48 434 | acc -17 435 | acc +30 436 | jmp -9 437 | acc +10 438 | jmp -61 439 | nop -396 440 | acc +11 441 | acc +37 442 | jmp -331 443 | acc +14 444 | acc +22 445 | acc +30 446 | acc +2 447 | jmp -43 448 | nop -265 449 | acc +5 450 | acc +40 451 | acc -15 452 | jmp -35 453 | acc -3 454 | acc +24 455 | jmp -415 456 | acc +0 457 | jmp +98 458 | acc +17 459 | acc +25 460 | nop -48 461 | acc -17 462 | jmp -302 463 | acc +11 464 | acc +11 465 | jmp -181 466 | acc +46 467 | acc +19 468 | jmp -331 469 | nop +90 470 | acc +45 471 | acc +8 472 | jmp -237 473 | acc -11 474 | nop -421 475 | jmp -145 476 | acc -16 477 | acc +47 478 | jmp -387 479 | acc +50 480 | jmp -375 481 | acc +38 482 | jmp +1 483 | jmp -225 484 | acc +47 485 | acc +39 486 | jmp +69 487 | acc +46 488 | acc +41 489 | jmp -89 490 | acc +19 491 | jmp -453 492 | nop +63 493 | acc +18 494 | jmp -386 495 | nop -243 496 | acc +48 497 | jmp +70 498 | acc +25 499 | jmp -191 500 | acc +48 501 | acc +31 502 | jmp +40 503 | acc -10 504 | jmp -46 505 | acc +45 506 | jmp -48 507 | jmp -12 508 | acc +16 509 | acc -16 510 | jmp -120 511 | acc -10 512 | jmp +1 513 | acc -10 514 | jmp -124 515 | acc +48 516 | acc +15 517 | acc +8 518 | acc -15 519 | jmp -66 520 | nop -130 521 | acc +16 522 | acc +10 523 | acc +31 524 | jmp -375 525 | acc +9 526 | acc +20 527 | jmp -37 528 | acc +14 529 | jmp -134 530 | acc -9 531 | acc -6 532 | jmp -120 533 | acc +24 534 | acc +17 535 | acc +49 536 | jmp -332 537 | acc +7 538 | acc +35 539 | nop -149 540 | jmp -103 541 | jmp -277 542 | acc -1 543 | acc +28 544 | nop -211 545 | jmp -371 546 | nop -129 547 | acc -15 548 | acc +6 549 | acc +19 550 | jmp -120 551 | acc -6 552 | jmp -79 553 | acc +0 554 | jmp -64 555 | acc +33 556 | acc +33 557 | jmp -440 558 | jmp -85 559 | acc +37 560 | nop -183 561 | acc +24 562 | acc +42 563 | jmp -545 564 | acc +50 565 | acc +6 566 | jmp -7 567 | nop +8 568 | acc +1 569 | jmp -359 570 | acc -1 571 | nop -388 572 | acc -7 573 | acc +28 574 | jmp -211 575 | jmp -384 576 | acc +32 577 | acc +16 578 | acc +40 579 | jmp +17 580 | acc +0 581 | acc +43 582 | acc -14 583 | jmp -512 584 | nop -264 585 | jmp -474 586 | nop -543 587 | acc +17 588 | nop -288 589 | jmp -38 590 | jmp +24 591 | acc -4 592 | jmp -321 593 | acc +49 594 | acc -16 595 | jmp -532 596 | acc +0 597 | acc -11 598 | acc -16 599 | jmp -104 600 | acc -12 601 | jmp -301 602 | acc +6 603 | nop -498 604 | acc +0 605 | jmp -126 606 | nop -127 607 | acc +1 608 | jmp -6 609 | acc +40 610 | jmp -547 611 | acc +16 612 | acc +18 613 | jmp -123 614 | acc -5 615 | acc +27 616 | acc +44 617 | acc +15 618 | jmp -22 619 | acc +48 620 | acc -18 621 | jmp -350 622 | acc -7 623 | acc +30 624 | acc +26 625 | jmp +1 626 | jmp +1 627 | -------------------------------------------------------------------------------- /p9.dyalog: -------------------------------------------------------------------------------- 1 | ⎕IO←0 2 | p←⍎¨⊃⎕NGET'p9.txt'1 3 | ⊢a←⊃(25↓p)/⍨25↓~{p[⍵]∊∘.+⍨¯25↑⍵↑p}¨⍳≢p ⍝ part 1 4 | b c←1+⊃⍸a=∘.-⍨+\p ⋄ (⌈/+⌊/)c↓b↑p ⍝ part 2 5 | -------------------------------------------------------------------------------- /p9.txt: -------------------------------------------------------------------------------- 1 | 19 2 | 20 3 | 22 4 | 10 5 | 11 6 | 29 7 | 4 8 | 41 9 | 38 10 | 46 11 | 7 12 | 2 13 | 49 14 | 26 15 | 48 16 | 6 17 | 47 18 | 42 19 | 18 20 | 40 21 | 43 22 | 45 23 | 14 24 | 30 25 | 8 26 | 55 27 | 9 28 | 12 29 | 54 30 | 10 31 | 69 32 | 11 33 | 57 34 | 13 35 | 15 36 | 32 37 | 21 38 | 53 39 | 20 40 | 16 41 | 17 42 | 19 43 | 36 44 | 22 45 | 34 46 | 23 47 | 77 48 | 18 49 | 24 50 | 25 51 | 47 52 | 26 53 | 51 54 | 39 55 | 54 56 | 29 57 | 27 58 | 49 59 | 28 60 | 62 61 | 73 62 | 33 63 | 42 64 | 41 65 | 70 66 | 40 67 | 37 68 | 43 69 | 58 70 | 44 71 | 82 72 | 45 73 | 83 74 | 55 75 | 52 76 | 84 77 | 53 78 | 56 79 | 99 80 | 57 81 | 80 82 | 119 83 | 61 84 | 65 85 | 74 86 | 122 87 | 75 88 | 110 89 | 77 90 | 81 91 | 85 92 | 87 93 | 88 94 | 144 95 | 89 96 | 106 97 | 97 98 | 105 99 | 107 100 | 108 101 | 180 102 | 113 103 | 164 104 | 118 105 | 126 106 | 136 107 | 135 108 | 138 109 | 139 110 | 155 111 | 152 112 | 156 113 | 158 114 | 162 115 | 166 116 | 200 117 | 175 118 | 177 119 | 186 120 | 194 121 | 215 122 | 202 123 | 212 124 | 225 125 | 226 126 | 231 127 | 282 128 | 326 129 | 244 130 | 277 131 | 271 132 | 273 133 | 290 134 | 291 135 | 307 136 | 548 137 | 564 138 | 377 139 | 328 140 | 341 141 | 352 142 | 361 143 | 398 144 | 380 145 | 396 146 | 414 147 | 639 148 | 438 149 | 475 150 | 470 151 | 1203 152 | 515 153 | 567 154 | 916 155 | 544 156 | 561 157 | 563 158 | 581 159 | 619 160 | 689 161 | 669 162 | 873 163 | 680 164 | 724 165 | 852 166 | 750 167 | 1404 168 | 776 169 | 810 170 | 957 171 | 884 172 | 908 173 | 913 174 | 945 175 | 1182 176 | 1560 177 | 1317 178 | 1105 179 | 1107 180 | 1797 181 | 1124 182 | 1144 183 | 1200 184 | 1288 185 | 1393 186 | 1349 187 | 1456 188 | 1862 189 | 1474 190 | 1526 191 | 2231 192 | 1586 193 | 1694 194 | 1718 195 | 1792 196 | 1858 197 | 2057 198 | 3720 199 | 2306 200 | 2212 201 | 2344 202 | 2229 203 | 2537 204 | 3632 205 | 2324 206 | 2268 207 | 2549 208 | 2488 209 | 3517 210 | 3580 211 | 2805 212 | 4499 213 | 3168 214 | 3000 215 | 3112 216 | 3280 217 | 3304 218 | 3412 219 | 5268 220 | 3650 221 | 4202 222 | 4269 223 | 4480 224 | 4441 225 | 4497 226 | 4553 227 | 6109 228 | 5354 229 | 4592 230 | 4812 231 | 4756 232 | 5549 233 | 5293 234 | 5805 235 | 7777 236 | 6112 237 | 6280 238 | 6168 239 | 7062 240 | 6416 241 | 11463 242 | 6716 243 | 10609 244 | 9292 245 | 7919 246 | 9365 247 | 8710 248 | 8921 249 | 8938 250 | 10105 251 | 10842 252 | 13174 253 | 9348 254 | 10397 255 | 14057 256 | 10049 257 | 11098 258 | 12521 259 | 11917 260 | 12280 261 | 12884 262 | 12448 263 | 23726 264 | 13132 265 | 21093 266 | 23571 267 | 14635 268 | 17267 269 | 21645 270 | 18759 271 | 27469 272 | 18058 273 | 31039 274 | 37574 275 | 28109 276 | 44819 277 | 19745 278 | 21147 279 | 21966 280 | 22329 281 | 49114 282 | 23015 283 | 24197 284 | 24728 285 | 38360 286 | 36645 287 | 25580 288 | 27767 289 | 30399 290 | 47057 291 | 31902 292 | 53547 293 | 35325 294 | 36817 295 | 37803 296 | 39205 297 | 40387 298 | 41711 299 | 40892 300 | 42074 301 | 45325 302 | 49777 303 | 46694 304 | 48595 305 | 54231 306 | 48925 307 | 47212 308 | 50308 309 | 52495 310 | 55979 311 | 53347 312 | 72142 313 | 88104 314 | 82210 315 | 68719 316 | 79114 317 | 93734 318 | 73128 319 | 74620 320 | 118319 321 | 79592 322 | 81279 323 | 89487 324 | 135557 325 | 95619 326 | 92019 327 | 96989 328 | 170766 329 | 108474 330 | 96137 331 | 99707 332 | 97520 333 | 102803 334 | 168747 335 | 109326 336 | 122066 337 | 143339 338 | 198813 339 | 141847 340 | 185753 341 | 147748 342 | 243894 343 | 152720 344 | 154212 345 | 217685 346 | 169079 347 | 173298 348 | 186476 349 | 187638 350 | 200493 351 | 188156 352 | 244737 353 | 197227 354 | 205463 355 | 289595 356 | 200323 357 | 285676 358 | 320879 359 | 231392 360 | 310222 361 | 342340 362 | 402690 363 | 310926 364 | 294567 365 | 300468 366 | 301960 367 | 306932 368 | 321799 369 | 341850 370 | 623759 371 | 611394 372 | 359774 373 | 374114 374 | 375794 375 | 388649 376 | 405786 377 | 397550 378 | 428619 379 | 603013 380 | 707746 381 | 542318 382 | 517068 383 | 553191 384 | 595035 385 | 663649 386 | 596527 387 | 1148226 388 | 715964 389 | 681573 390 | 648782 391 | 661734 392 | 1128462 393 | 701624 394 | 730499 395 | 1008799 396 | 1077401 397 | 779900 398 | 749908 399 | 764443 400 | 981810 401 | 803336 402 | 1258684 403 | 970937 404 | 1059386 405 | 1394148 406 | 1113595 407 | 1070259 408 | 1201973 409 | 1191562 410 | 1446463 411 | 1245309 412 | 1990609 413 | 1343307 414 | 1383197 415 | 1310516 416 | 1411642 417 | 1432123 418 | 1893186 419 | 1862722 420 | 2648436 421 | 1514351 422 | 1544343 423 | 1878038 424 | 1746253 425 | 2481901 426 | 1994898 427 | 3595496 428 | 2030323 429 | 2315568 430 | 2261821 431 | 3325309 432 | 2516722 433 | 2393535 434 | 2436871 435 | 2555825 436 | 2759660 437 | 2653823 438 | 2693713 439 | 2722158 440 | 2925993 441 | 2843765 442 | 2946474 443 | 3058694 444 | 3260604 445 | 3392389 446 | 3996252 447 | 3290596 448 | 3624291 449 | 5502299 450 | 5497588 451 | 4025221 452 | 4292144 453 | 4345891 454 | 5159029 455 | 9126590 456 | 4830406 457 | 5087248 458 | 5209648 459 | 4992696 460 | 5249538 461 | 5347536 462 | 6237070 463 | 5415871 464 | 5565923 465 | 10296896 466 | 5790239 467 | 8317365 468 | 9155281 469 | 9176297 470 | 7620543 471 | 6914887 472 | 8792895 473 | 9122550 474 | 8638035 475 | 8371112 476 | 8855627 477 | 9284840 478 | 12613239 479 | 9917654 480 | 18411430 481 | 10815461 482 | 10242234 483 | 10202344 484 | 10340232 485 | 18010908 486 | 19072935 487 | 10981794 488 | 17915445 489 | 15552922 490 | 12705126 491 | 13410782 492 | 15285999 493 | 29888396 494 | 14535430 495 | 17164007 496 | 15707782 497 | 17009147 498 | 27295748 499 | 18711344 500 | 18573456 501 | 18140467 502 | 19202494 503 | 20119998 504 | 25528233 505 | 20444578 506 | 22907470 507 | 20542576 508 | 24737774 509 | 28258048 510 | 31101792 511 | 29555250 512 | 23686920 513 | 30838921 514 | 41081155 515 | 55553796 516 | 27946212 517 | 40564576 518 | 30243212 519 | 33246774 520 | 38831342 521 | 32716929 522 | 44730727 523 | 43668700 524 | 36713923 525 | 43352048 526 | 39647072 527 | 39745070 528 | 49215153 529 | 40987154 530 | 43450046 531 | 61451697 532 | 48488788 533 | 48424694 534 | 51633132 535 | 53242170 536 | 53930132 537 | 88399427 538 | 72461999 539 | 62960141 540 | 58189424 541 | 83916624 542 | 63489986 543 | 76598822 544 | 87020748 545 | 69430852 546 | 96363859 547 | 76360995 548 | 77701077 549 | 100057826 550 | 80634226 551 | 119811041 552 | 153096225 553 | 84437200 554 | 128231954 555 | 178000465 556 | 106678212 557 | 96913482 558 | 101666864 559 | 104875302 560 | 122673022 561 | 126392131 562 | 121149565 563 | 181350682 564 | 249065153 565 | 121679410 566 | 132920838 567 | 312555139 568 | 203042071 569 | 254624085 570 | 435228161 571 | 414222003 572 | 180692052 573 | 158335303 574 | 331096690 575 | 165071426 576 | 186104064 577 | 189312502 578 | 266738290 579 | 198580346 580 | 201788784 581 | 243822587 582 | 254070403 583 | 206542166 584 | 438947270 585 | 248071541 586 | 242828975 587 | 254600248 588 | 322233340 589 | 532885474 590 | 366796116 591 | 291256141 592 | 339027355 593 | 799623764 594 | 419141829 595 | 344439367 596 | 323406729 597 | 345763478 598 | 347647805 599 | 433135089 600 | 351175490 601 | 508670651 602 | 387892848 603 | 602248053 604 | 581856330 605 | 408330950 606 | 751499626 607 | 449371141 608 | 529948895 609 | 502671789 610 | 662434084 611 | 497429223 612 | 599039615 613 | 671054534 614 | 875466767 615 | 614662870 616 | 630283496 617 | 667846096 618 | 905263059 619 | 827472779 620 | 1270094149 621 | 556543474 622 | 1079285553 623 | 698823295 624 | 853847279 625 | 837263989 626 | 796223798 627 | 857702091 628 | 1484130775 629 | 905760173 630 | 911002739 631 | 1378138556 632 | 1324837908 633 | 1525548187 634 | 1053972697 635 | 1127712719 636 | 1408431962 637 | 1155583089 638 | 2182954070 639 | 1171206344 640 | 1186826970 641 | 1224389570 642 | 1255366769 643 | 2303675123 644 | 1964976708 645 | 2604833740 646 | 2061653559 647 | 1536087284 648 | 1694966080 649 | 1633487787 650 | 1653925889 651 | 2564928628 652 | 1763462264 653 | 2605968819 654 | 2235840647 655 | 1964975436 656 | 2278362267 657 | 3791660710 658 | 2181685416 659 | 2209555786 660 | 2919355650 661 | 2326789433 662 | 2342410059 663 | 2358033314 664 | 4340015826 665 | 3529237029 666 | 2479756339 667 | 2791454053 668 | 3695141346 669 | 3169575071 670 | 3190013173 671 | 3231053364 672 | 4021755513 673 | 5196028800 674 | 3287413676 675 | 3417388153 676 | 5548046487 677 | 6134070769 678 | 4417526063 679 | 4620772326 680 | 4146660852 681 | 4567589100 682 | 4391241202 683 | 4508474849 684 | 4536345219 685 | 9939287689 686 | 4669199492 687 | 4700443373 688 | 4837789653 689 | 5271210392 690 | 6946625182 691 | 6421066537 692 | 15487334176 693 | 6885154519 694 | 6359588244 695 | 9369642865 696 | 6518467040 697 | 12878055284 698 | 6704801829 699 | 9421484445 700 | 7564049005 701 | 8537902054 702 | 8564186915 703 | 8655135701 704 | 8714249952 705 | 9807555611 706 | 8927586421 707 | 9044820068 708 | 13985115542 709 | 9205544711 710 | 9506989145 711 | 9538233026 712 | 11258856190 713 | 10109000045 714 | 13223268869 715 | 12780654781 716 | 17679922727 717 | 13589956348 718 | 18907875891 719 | 14897490298 720 | 15419051781 721 | 16126286274 722 | 14268850834 723 | 15242703883 724 | 16128235920 725 | 16101951059 726 | 17193037755 727 | 17219322616 728 | 17369385653 729 | 18221239097 730 | 22761501895 731 | 21825474849 732 | 31363707875 733 | 18712533856 734 | 20464400901 735 | 25006490343 736 | 24848812538 737 | 22889654826 738 | 23698956393 739 | 26003923650 740 | 26370611129 741 | 28832660231 742 | 27858807182 743 | 29511554717 744 | 40130887548 745 | 29687902615 746 | 39117663372 747 | 36592636821 748 | 31344654942 749 | 33321273675 750 | 33294988814 751 | 34412360371 752 | 34588708269 753 | 45228192835 754 | 36933772953 755 | 55146748524 756 | 39176934757 757 | 41602188682 758 | 42411490249 759 | 43354055727 760 | 54536715153 761 | 46588611219 762 | 48893578476 763 | 59203462124 764 | 57348578592 765 | 55203271360 766 | 57370361899 767 | 62806543531 768 | 59199457332 769 | 61032557557 770 | 116548035924 771 | 79946692548 772 | 64639643756 773 | 77933266161 774 | 67707349185 775 | 67883697083 776 | 77000198518 777 | 125672201313 778 | 103430293629 779 | 139146149880 780 | 80779123439 781 | 81588425006 782 | 145640615346 783 | 85765545976 784 | 102553513059 785 | 101125326372 786 | 106263940375 787 | 104096849836 788 | 112551849952 789 | 118402919456 790 | 114402728692 791 | 116569819231 792 | 180435547035 793 | 120232014889 794 | 245075190791 795 | 132346992941 796 | 365307205680 797 | 145816963244 798 | 135591046268 799 | 248370476303 800 | 248142896220 801 | 183332636498 802 | 162367548445 803 | 227229040352 804 | 181904449811 805 | 166544669415 806 | 182713751378 807 | 186890872348 808 | 241854986643 809 | 203678839431 810 | 205222176208 811 | 230972547923 812 | 294714541386 813 | 226954578644 814 | 234972738687 815 | 248916812172 816 | 384114386466 817 | 252579007830 818 | 255823061157 819 | 345081299823 820 | 267938039209 821 | 281408009512 822 | 388554812706 823 | 297958594713 824 | 328912217860 825 | 511625969238 826 | 414119912700 827 | 344271998256 828 | 348449119226 829 | 349258420793 830 | 508362588156 831 | 498393380817 832 | 390569711779 833 | 408901015639 834 | 432176754852 835 | 436194724131 836 | 457927126567 837 | 475871390816 838 | 461927317331 839 | 502910777896 840 | 501495820002 841 | 684755762682 842 | 641133820536 843 | 673993517683 844 | 1098875675382 845 | 565896633922 846 | 825129811609 847 | 1196381731920 848 | 642230592969 849 | 673184216116 850 | 1109378940247 851 | 1174680036118 852 | 734841710035 853 | 739018831005 854 | 807185547360 855 | 1074407347821 856 | 799470727418 857 | 956466345701 858 | 1050034836175 859 | 868371478983 860 | 1414393472268 861 | 919854443898 862 | 1269112864691 863 | 1237752487931 864 | 1207030454458 865 | 1067392453924 866 | 1208127226891 867 | 2007597954309 868 | 2336505318615 869 | 1239080850038 870 | 1300738343957 871 | 1606656274778 872 | 1315414809085 873 | 1377072303004 874 | 1691308055736 875 | 1473860541040 876 | 1658873274903 877 | 2117427290099 878 | 1824837824684 879 | 1755937073119 880 | 4125025244408 881 | 1719325171316 882 | 2023858799625 883 | 1788225922881 884 | 2508865570848 885 | 2578727718801 886 | 1987246897822 887 | 2616153153042 888 | 2274422908382 889 | 2415157681349 890 | 2996353149772 891 | 2447208076929 892 | 2539819193995 893 | 3356508140137 894 | 4862365758278 895 | 6741178397450 896 | 2692487112089 897 | 2789275350125 898 | 4141286089724 899 | 3132733815943 900 | 3262086463921 901 | 3447099197784 902 | 4298052890117 903 | 3812084722506 904 | 4411812283405 905 | 3507551094197 906 | 3706572069138 907 | 3775472820703 908 | 4062648831263 909 | 4983600047594 910 | 9188386474379 911 | 4261669806204 912 | 4689580589731 913 | 4814242102377 914 | 4954976875344 915 | 7274019905667 916 | 7847858158862 917 | 5232306306084 918 | 5954573576010 919 | 6296826444322 920 | 5481762462214 921 | 5825220928032 922 | 7769220900401 923 | 6394820279864 924 | 7037559284624 925 | 6709185661705 926 | 8501665312237 927 | 9769218977721 928 | 7214123163335 929 | 7283023914900 930 | 9216646681548 931 | 7482044889841 932 | 11049492726370 933 | 12465644937435 934 | 13570846349989 935 | 15001525283805 936 | 12122047372354 937 | 12220041207896 938 | 14311579190291 939 | 21396345563669 940 | 11186879882094 941 | 10714068768298 942 | 11306983390246 943 | 11778588906536 944 | 12190948123919 945 | 11876582742078 946 | 21645801719799 947 | 16499670596448 948 | 13104005941569 949 | 15715788475572 950 | 13923308825040 951 | 14497147078235 952 | 17052242892621 953 | 14696168053176 954 | 14765068804741 955 | 16698691571389 956 | 18196113658139 957 | 21763561494668 958 | 25294954065488 959 | 21900948650392 960 | 22021052158544 961 | 23429030762600 962 | 29802697512958 963 | 22492657674834 964 | 22493863272340 965 | 22905016892217 966 | 33799641065080 967 | 23085572296782 968 | 23655171648614 969 | 33750934464010 970 | 24980588683647 971 | 27601153019804 972 | 27027314766609 973 | 27800173994745 974 | 28420455903275 975 | 28619476878216 976 | 29193315131411 977 | 29461236857917 978 | 31394859624565 979 | 31463760376130 980 | 34894805229528 981 | 40097062308531 982 | 47473246358481 983 | 43922000808936 984 | 61551108458755 985 | 45106624455326 986 | 44986520947174 987 | 45397674567051 988 | 45398880164557 989 | 56220629898020 990 | 55050031273179 991 | 46740743945396 992 | 48635760332261 993 | 88800965737189 994 | 52007903450256 995 | 52581741703451 996 | 77829075463672 997 | 54827488761354 998 | 57039932781491 999 | 135541709682585 1000 | 57812792009627 1001 | --------------------------------------------------------------------------------