heh
d13
| -rw-r--r-- | src/inp.txt | 2407 | ||||
| -rw-r--r-- | src/main.rs | 129 | ||||
| -rw-r--r-- | src/util.rs | 11 |
3 files changed, 1470 insertions, 1077 deletions
diff --git a/src/inp.txt b/src/inp.txt index 8d3476d..54d6dec 100644 --- a/src/inp.txt +++ b/src/inp.txt @@ -1,1000 +1,1407 @@ -.?#???#???#.?.?##?? 6,2,1,4 -.?.????#.???#?.???. 5,1,2,1 -????#??.?. 1,2,1 -???.???#???.??.#?.? 1,7,1,1 -???#???.??????????? 6,6,2 -????.???#??#?? 4,3,3 -??#??#???????? 2,6 -???.#?.?.?#??? 1,2,1,4 -##?#???????????? 9,1,1,1 -?#???#???????????#? 5,2,8 -??.#?#.??????#?# 3,6,1 -?????????##??#.?? 2,9 -??.?????.??.??????. 3,2 -.????.#???#?#?#??.#? 3,1,5,1,1 -?#??..????? 2,1 -?##?.????? 3,4 -#?####?#??.#. 1,8,1 -????.?..#?????.??? 3,6,2 -??#?????????????#?? 8,2,1,2 -?#??.#??#???? 2,6 -#.??.??##???. 1,1,2,1 -?.???#####?#??#.?? 1,13,1 -.????#????.##??#?#?? 7,9 -????????????. 3,6 -?.???##??#?#??..??? 12,1 -.???###??????.????. 1,6,1,2 -.???????.???#?####? 2,1,1,7 -#????.#?..??#? 1,3,1,4 -????#?.#?????#??#?.? 1,1,8,1,1 -?.??#?..?????##??? 1,1,2,1,6,1 -?###..?#?????? 4,6,1 -#.#?????#?. 1,1,3 -#?#?#????#..?? 6,1,1,1 -.???##??.???.???. 4,3,2 -#?#??#.??#??#? 3,1,6 -?#??###?..#?#????#?? 1,3,1,8 -?#???.#??.? 4,3,1 -??##.??#??. 3,3 -??????##??????.? 1,3,1,1,1 -.##???#???????.? 6,3,1 -?#?#????.? 2,2,1 -.??.??.????#? 1,1,2,2 -?#??#????#?? 1,5,1,1 -?.???##?????????. 1,2,1,2,2 -????????####??? 2,9 -??????.??. 1,1,2 -?#?????#.?????.????? 5,1,1,1,3,1 -??????#???#.??? 2,1,1,1,2 -##???#?#????#???##? 2,1,1,1,1,7 -??#???#?#?.#??#?? 7,5 -?.???#????????? 1,1,7 -#?????.#??? 1,1,2 -?..???#?#??#?#??##? 1,15 -??#?????.#?# 4,1,1,1 -.???.?????#?? 2,4,1 -..?##?????#.???????? 8,7 -????.????##? 1,2,4 -??.#??.???#? 2,2 -?.??????#?#?. 1,1,4 -?#...?.???. 1,1,3 -?????.?????#???##?? 4,1,8,1 -?..??.##?#.?.#? 1,4,1,1 -?##?.?.????#??##? 2,9 -???????????? 6,1,1 -.##???.#.. 5,1 -??#????????#???? 1,6 -?#?##???.?#?#?.#?#. 6,2,1,1,1 -????.??.????#????? 2,8 -???#?????????????. 1,1,3,5 -.?.??.##??? 1,2,1 -??#??.????? 4,1 -.???##?#?.??.?? 4,2 -?#.?.??.#???#.?? 2,1,1,1,2 -????#??#.? 2,1,1 -?#?#?#?????##????## 8,3,1,2 -?????#..?..?????#? 4,7 -???.??#???#.?????? 1,3,2,5 -??.?#??##??? 2,2,2,2 -??.??#????. 1,4 -??###????.???? 6,1,4 -????????##?#?#??.? 1,1,1,7,1 -???##???.?.????#??? 5,1,2,4 -????#????.???##???. 2,5 -??.#????.#?#??##? 1,3,7 -????#??##.??# 9,1 -.?#?????.#?#?? 4,1,1 -##???##.????.???? 7,1,1,1,1 -??????..##???##?? 1,7 -???#..??#???#??##?.? 4,1,5,3 -????#.##??###???#?#? 2,3,4,4 -????.?.?#?????? 1,1,7 -???????????. 2,2,1,1 -?#?.??#?#???. 2,6,1 -???????..?? 2,2,1 -.??##?.##.?# 4,2,1 -????.???#.? 3,1 -?#?#####????#?..?? 12,1 -??.?.??.??.##? 1,1,1,3 -???.??#..?# 2,1,2 -?.???????.? 1,4,1 -?#.???##????? 1,1,5,1 -????.???????#????? 4,4 -#?????###. 2,5 -?..??.????##? 1,1,5 -?????.?#??? 3,1 -.?#?...#???.??? 2,3,2 -????#??#??#?..??#?? 8,2,1,3 -.??..??.#? 1,2,1 -.????.??????. 1,1,3 -??#?????????.#??? 4,3,1,2,1 -??????#??? 1,7 -???.?#???????..??? 2,4,3,1 -??.?#????.#?#### 1,1,2,6 -?#??..???#???.??? 3,4,1,1 -.?#?##?..??.??. 6,1,2 -????.???..#. 1,1,1,1 -????#?#?#?????. 4,4,2 -??##???.#?#?#? 6,1,1,1 -.?#.???#?? 2,4 -.?#?##?.??? 5,1 -#.??##.????## 1,2,2,2 -.?##??#?????#??#?.? 6,7 -??????.?#.? 6,1,1 -??#.????#?#?? 2,5,2 -????#????.??#.#?? 4,1,1,2 -????.??????? 1,5 -?.?????????? 1,1,1,4 -.??#?#?????#.? 1,9 -..#????.#? 1,1,1 -##????#??.??? 8,1 -.#?.?..#?#???#?.? 2,7 -???##?#?????#?????? 8,5 -??????##???###???.?? 3,1,4,3,1,1 -?..?#?#???#.???#???. 7,4 -?.#????.?.#.?.???? 1,5,1,1,1,1 -#??????...# 1,4,1 -..???.???#?? 3,4 -#?#??###?#?#???.?? 4,7,2 -??#????????#???.##? 3,2,4,1,2 -???##??#??? 1,5,1 -#..??#????#?.?#?? 1,9,2,1 -?#??#.??.??#?#???#?. 5,9 -??????#.?.?????????? 4,2,1,1,5,1 -??#.#?.??.?#? 2,1,1,2 -#.#.???#?##?.?.??? 1,1,7,1 -????????#??? 1,4,1,1 -????#..????????? 1,1,1,6 -.??..?#??##??.? 2,2,4,1 -?.?#?.????? 2,2 -??#??#???.?.??? 7,1,1 -#?#?.?.?#??####.???? 4,1,7,1 -?.??.??#????# 1,3,1,1 -?.#????... 2,2 -#????.#??# 4,1,1 -.#..???#?###??#?. 1,4,7 -???.?#????.?? 2,6,1 -.#?#??#?#. 4,3 -??..????#?? 1,1,4 -??#.?#.???#???##? 2,1,2,7 -?.?.??.?.??.???.?## 1,2,1,1,2,2 -##???.??#?????#??.?? 3,1,8,2 -?#?.??.?????#?#?? 2,1,9 -??#??##?..???. 6,1 -??????????#??? 1,1,4,1 -.#?#??????.??????## 5,3,2,1,3 -????#??#????..?? 3,3,1,1 -??.....??????##????? 7,2 -??????????#?#?? 9,1,1 -#...?.???.????????? 1,1,1,1,5,1 -.???##?????.?? 5,3,1 -???.??#?##???? 1,1,6 -.??#??#?.?? 2,2,1 -???#???????## 7,3 -??#????##???# 1,9 -#????#?#???.#??????? 1,5,1,1,3,1 -#??#????????#?#??.?? 8,8 -?????#?###?#?#??.? 1,1,9,1,1 -????..???. 3,1 -??#?#.????#????.?### 3,1,2,4,4 -.????#?????? 5,1,1 -??#?.????#???? 3,3,1,2 -????????.???????.#? 7,3,1 -????????#?#??????.? 11,1,1 -..#?#??..??.?.? 5,2,1 -#??.???.????#? 1,1,1,6 -???##?#?.??.???.. 6,1 -?##?????#??#????# 4,7,1 -??#??.??##?.??? 4,3,1 -????#????.?? 1,1,3,2 -???#?.??#. 1,2 -..??#??????.???? 8,3 -#????????????.#.?.? 1,5,4,1,1 -??.??????##????? 1,11 -?#????????.##??#??#? 5,2,2,2,1 -?????..??????#???? 2,2,6 -.???.?#??? 1,4 -?.##?????#.#?? 1,4,3,1 -?.##?#?????#?????.?? 12,1,1 -.????#????????##? 1,9,3 -?#????????????####?. 5,2,7 -?.??????#?????? 1,1,3,3 -.????#??#??????.?. 1,4,1,3,1 -??.??????.##?#????? 2,1,5,3 -??????#?.? 3,1 -.##??????????#? 4,8 -?????????????#.?. 4,1,3 -??.#?#?#?.?.????? 6,1,2 -?.?????##?.?##? 1,8,3 -??#???#?..??. 1,1,2 -??#?.??.??? 1,1,3 -.##?#?#?#??#?.??# 6,1,1,1,1 -?#??.?.???. 3,2 -???#?????..?.?##? 7,1,4 -?.?.?##?###?.. 1,8 -??.###????#?. 2,4,1,2 -.??#.????#?????.#. 3,1,1,1,1,1 -#?#?##??????#?#?.#?. 1,11,1,2 -?#???.??#?##??#. 2,8 -.???#.???#??????#. 1,1,10 -?.??.??##??#?.?.?. 1,2,8,1,1 -??.????#???.?? 1,4 -??#?????.?.?.#. 1,2,1,1,1 -.???#???#?? 1,3,3 -????.??????????? 2,9 -?#.?##???? 2,2,1 -?.???????##??.# 3,6,1 -#???.#???????..#?#?? 1,2,2,5 -?????##????#?.?????? 1,1,8,1,2 -???.???.?..?#?? 3,2 -??.???#???#??????. 2,5 -.???.#.#???#? 1,1,1,4 -???#.??#?? 1,1,4 -?..????#??#? 1,5,2 -.#??#???#?..?#?.???? 2,6,2,2 -#?#????????.. 5,2 -...????????????.# 3,1,1,4,1 -.?#??#????#?#???#?#. 2,2,11 -??#????##??## 1,6 -#?#???#?..#?????# 3,4,2,3 -??##?????.????? 8,1 -.#???#?#?.#??### 5,1,6 -##.???????#.?#?..?? 2,6,1,2,1 -.#??????#?#?#?. 3,8 -?#??????#.. 3,1 -?#???.?.?? 2,1,1 -#???????#????? 2,1,3,2 -?#.????????#? 1,1,2,3 -??#??##???????#??? 1,3,2,4 -?#?.?#?????.?? 1,3,1 -?##???#???.?.#. 10,1,1 -???#???#????#??.?#.? 12,1,1,1 -?????.#????. 2,5 -??###??????#?#??#?.? 3,1,10 -???.?????##?????#? 2,10,1 -?#?#?#????? 2,5,1 -???#??#.??? 4,1,3 -??#???#????? 1,6 -???...????#?? 1,2,1,1 -??????#???.???#??#?? 5,7 -?.??#..?#?##.?. 3,4 -?????????#???? 1,10 -?..???...??##?#?#?? 3,6 -.??.??#?#???#??## 1,5,1,3 -??.???#?#???#??##?. 1,1,6,6 -??.##??##?? 1,3,3 -???????.?? 1,1,1 -?#.#??#?#???.? 1,4,1,1 -.?#???#???.??##? 2,3,1,4 -??.??...?. 1,1,1 -#?????#??? 1,2,2 -.???#???##?????.??. 9,1,1,2 -?????..???#???? 1,2 -????????.? 2,1,2 -?????#???? 2,3,1 -.#??.#??#?#??? 1,1,8 -.??????.??.# 5,1 -????????.#????##??? 2,2,7 -?#?.#??#?. 1,4 -?????#?#?. 5,1 -?.????..?#?.???? 2,1,2,3 -??#?.?#?????..??###. 2,6,4 -.??.????.??????## 1,4,5,2 -.?..??.??? 1,2,1 -.??.?????#??????. 1,1,1,1,4 -????#?...??#??. 1,3 -??????.?.?#????. 1,3,1,1,1 -.#?..?#?.??####??#?? 2,2,9 -.??#.#???? 2,5 -.??????????.???#??. 3,2,6 -#??..???#..#.#??.#. 3,4,1,3,1 -???????#?#????.??? 11,2 -??#???#?.?.#??? 8,2,1 -???.???.?#?##? 1,1,1,4 -????##???.??#???.?? 5,2,3,1,1 -?????###?.???.?#??? 6,2 -?#??#???????????#?#? 6,11 -..???????#. 2,2,1 -????####?#?#?.???? 8,2,1 -?.????.???# 1,1,1 -??#??????##????.# 1,4,4,2,1 -.??..#?.?#?? 2,2,2 -?????????#?#??#.??? 1,10,1,2 -?????#?????. 2,2 -..??#??#??.??..# 3,1,1,1,1 -.??????.?#?. 5,2 -????????#?#. 2,3,3 -##??##????.. 2,2,2 -?.#..?#?#??. 1,1,1,1 -?.?##??##???###?.??? 1,6,6,1 -?????#??#????. 3,1,3 -#?.?.##?????#??#. 1,4,6 -.????####?#..??? 1,7,2 -#?.#..?????#?.?.#? 1,1,1,4,1,1 -.?#?#??????..??##?? 9,2 -????.#.????? 1,1,1,2 -#??#?????????#?.. 2,1,1,2,3 -#..#?#?#??#?#?#?? 1,13 -.???###??#.?.?..?. 9,1,1 -??#?#?#??????.?? 1,10,1 -#?#??.?????? 1,3,1,3 -?#?####.?#??? 7,4 -?.?.#.???. 1,1,2 -??????#??#.??? 7,1,2 -????????.#??. 3,2,1,1 -?..#?.?????? 1,1 -?????.?????#?????? 2,1,1,1,2,5 -.?#?#??#???#?.?.?#?. 12,3 -#????#??????.?.?#? 1,4,1,1,1,3 -??#??##??.???? 7,1,1,1 -#???#?.##??. 3,1,4 -??..???????#??.??#.? 1,1,7,1,1 -??????#??? 1,3 -???#?.??????##? 1,2,1,1,2 -???#?#??#?#?????. 1,1,4,3,1 -???##?????.??..??#? 8,1,2 -????.???????.???.#? 1,1,7,3,1 -??#???#?#?. 2,1,1 -??.????#??#??? 6,3 -#?????????# 6,1,1 -???????##??? 1,1,5 -.?.???.#???? 1,5 -????????????? 1,1,3,1 -???#????#.???##??# 1,1,1,1,1,6 -#.??##???#?????? 1,1,6,2 -??#?#??.???#?#??.?.? 4,6 -.?#???.??? 1,2 -?#.#.??.??????#?.?.? 1,1,7,1,1 -.#??.#???? 2,1,1 -???#???.?#??#????? 1,1,1,6,1 -?##????.?#??# 5,5 -????.??????. 1,6 -?.?...##??????#? 1,2,3,1 -???##??.???..???#?? 2,4,2,2 -????#?#??##?##??? 1,1,11 -??????###?#.? 1,5 -.?#???????..?#? 3,1,1 -..#..???#??????????# 1,1,5,3,2 -??????#??#?.????#?.? 10,1,2 -.??????..??#?#? 3,1,4 -#?????.??.???.##? 1,3,1,1,3 -???.#..#??#????#?# 3,1,1,7,1 -.##?#??#??.? 5,1,1 -.#?#???#?..#??????? 4,2,1,1,2 -?????????# 3,2,2 -????.?.??##.?.. 2,1,3 -??.?.????#?#?? 1,1,1,5 -?.#????.#?? 2,1,1 -...#?#????????##? 7,4 -?.????????##?.#???#. 1,8,2,1 -?##?.??.?#?.?# 2,2,2,1 -#?????.#????#???? 4,1,1,5 -#????#????#??.#???? 1,6,1,1,1,1 -???????.??#?#...?. 1,2,3,1,1 -?#.?????##?#?????? 1,13,1 -??..##?????##.?. 2,6,2,1 -?#??###..?#????????? 6,1,3 -?##?.????????? 3,4 -?.?????.?#? 5,3 -.?..??.?##?#?.???#.? 1,1,6,1,2,1 -?#.?.?.?##????????#? 1,1,1,4,2,1 -???###?#???.???? 7,2 -??#????#?#.#???# 1,1,4,1,1 -.??.?#??#?#??#?????? 2,11,1 -?##???.????.?#?.? 6,2,2 -??#.??????#?..?? 1,1,5,2 -.???##???#? 5,1 -??.?.#?..#??? 1,1,1,1 -#.?.??##???.. 1,7 -.#.##?###?#? 1,9 -#?.??.#?##?#?#?##?. 1,1,4,6 -..??????????#?.?? 2,5,1,2 -..??#???????##????? 2,11 -#???#??###??? 2,3,3,1 -??.???.?#?.##. 1,2,2,2 -?#???????#?. 6,4 -?????.?##.? 1,3 -??.??...?.????##? 1,1,1,6 -.##????.?#? 2,1,2 -??##?###??..?? 7,1 -?????#???##???#?.?? 11,2,1 -?#??##??????? 2,3,1,3 -?#????????? 2,4 -??#??????.?????? 5,1,4 -#?#????#.#?????.?? 4,1,1,1,1,2 -?.#?#?#?#?.???#? 1,6,5 -???#?????.??.? 4,1 -?.??????.?#.?? 1,2 -????#???#???? 5,2 -??#.??????????.?#? 1,5,1,1,1 -?.???#..??#.?#?#?? 2,1,3,6 -.?#.??????. 2,3,1 -??.??###?# 1,5 -#.???#?##??.#?#.?. 1,2,2,1,1,1 -?#?#?####??????? 1,1,10 -#?????????#?#????. 1,1,10 -?.?#???????#. 1,2,1,4 -???.?????.?????? 3,2,1,1 -?????.????.??#? 3,3,2 -.?#???#?#?##?##? 2,7,2 -?.????.??.?? 4,1,1 -.??#??????#??? 3,6 -????.??##?..#. 2,3,1 -??.???.??##. 1,4 -?#..??.??????? 1,1,4,1 -##??#?#???#?#?? 7,6 -#???????????..#?? 5,3,1,3 -?.????#???.#??? 1,5,1,1,1 -??#?.???#???? 3,4 -???????#?? 1,1 -?###??????..???. 9,2 -??????#.#?.#??#?? 2,1,1,1,5 -#???????.??. 2,1,2 -??.?????????? 1,2,1 -??.?#?#?#???????. 2,1,4,2 -#??.##?????? 1,1,5,1 -????.????#?#? 3,5 -??.??#??????#?#? 1,4,1,1,2 -?.#?#?...??.?#. 4,2 -??????##??? 2,5 -???##?.???????????. 6,2,4,2 -?.???????????#??#? 1,1,2,1,2,1 -?????.#?#??#??????#? 1,2,1,1,10 -.??????#.?.?. 7,1 -?#?#??#???##?????? 13,1 -??????????#.????# 10,1,1 -#?#?..???? 1,1,3 -????.???????? 2,1,2,1 -#??#?#??#???.???? 4,6,1,1 -..??##???##????? 9,1 -?????##?????????? 2,3,6,1 -?#????????. 2,1,1 -??.?#???##?#???? 1,9,1 -.??????#??.???## 8,3 -.??.?.####. 2,4 -.#.??#??..?. 1,2 -.???..#??#??#???##?# 2,1,2,8 -#?#????##???#?.????? 1,1,10,1,1 -???.??#???#???#?# 1,7,1,1 -??.????#?#???????.? 4,1 -????#?.?.#..?? 4,1 -??#??#.??.????????# 2,1,1,3,5 -????.?##?????????#?? 1,1,8,5 -.?#?##????????##? 8,4 -?..??.?#.##?.?? 1,1,1,3 -??????????## 1,1,5 -#?..??#?????? 1,1,5,1 -?.#??#??#.?.? 7,1 -.?#?.?##????#?? 1,9 -??###.??.??#??#? 1,3,1,5 -??..?#???#???.?. 1,5,1,1 -?.#??#.??#?#??.?.? 1,4,6 -?.?????#??.??.???.? 7,2,2,1 -?#??#???.?. 6,1 -.?#?##?????.?#. 10,1 -???#??#??#??#?#.?? 1,2,2,1,4,2 -????#?#???????.??#. 1,5,2,1,1 -##?#?.#????????#??? 5,1,5,2,1 -??????#??? 1,7 -.????????????#??. 8,2 -#??#?#?##?#??????? 2,12 -???????#????#?###?.? 2,1,9 -??.#??.????? 1,3,1 -?#.???.??..??#??.. 2,1,1,1,1,2 -?##?#???.#????? 7,2,2 -??#?????.???##? 5,1,2,3 -?????#..??.?? 4,1,1 -??.???#..???#? 2,2 -..?.#??#?.? 1,4,1 -?#?#??????#?###????? 5,6,1 -???#??.#?.? 3,1,2 -????????#???.#???#?# 1,7,2,1,1 -?????#???????????.?? 13,1 -??##?#.#??..#????? 1,4,1,4 -??????????.?. 3,2,1 -??.#.?.#?#?#????# 1,1,1,8,1 -?????.??#. 2,1 -?.?##??#?#??? 3,1,2,1 -#.#?..#???????####?? 1,2,1,9 -#?#??#???#?#???? 1,1,10 -???#???????###???.?# 1,2,2,3,1,1 -?????????#??.# 1,1,4,1 -??.?????#??#??.???? 9,1 -.???##????#???# 6,1,1,1 -##????????.????# 2,6,5 -#?#?##??##???##????? 15,2 -??#??????.? 4,1,1 -?#????#?????.??? 3,2,3,1 -????.?#?.#.???.?#? 1,2,1,2,2 -??###????#???? 3,2 -#?##?#??????.? 8,1,1 -????.??#??#???? 1,1,7 -?.??#??###???.?? 9,1 -#???####.?.?? 1,5,1,1 -?..??#????????? 3,5 -..???.?#?#.?# 1,1,4,1 -.??#??#?.???????.?? 5,4,1,1 -??..?##??#??#??.?#?? 2,10,2 -??#????#?????.??#?. 8,1,1,2 -???#?????#??????? 1,3,2,2 -#..?##?.#.?#??.??? 1,4,1,1,1,1 -?#??????#.? 1,1,1 -.???#??#.????#.???# 5,1,1,3,4 -.??#?##?.?????? 1,1,2,1,1 -???.??#?.? 2,1,1 -???#??????????# 3,1,4 -?.#???.####.??#?? 1,4,5 -?#????#####????? 10,1 -#.#.?????# 1,1,1 -??????.??????? 6,4 -???.??.??.????#????? 1,1,2,1,10 -?????????????#.?#?? 13,1,1 -???.????????.?? 1,2,3,1 -.??#??????#.?? 3,6 -?????.???# 1,1,1 -?????..#??? 2,1,1 -#??.##?#??????? 2,5,1,2 -#?#?.?.????. 4,3 -???.??##??#??? 2,9 -??#???..??.???? 1,1,1,1,2 -???#?#???.????..?. 9,3 -.??#???#????#? 2,3,3 -.?###.?#?##?#???.? 3,9 -??.??#?#?.???.#??#.? 1,3,2,2,1,1 -?#?#???#.?.??.?? 4,2,2 -??.??????????#??## 1,5,1,3 -??????#.??? 1,2,1 -?#??#??.?#?#.. 1,3,2,1 -?#?.##????.? 2,4,1 -?????###??????. 2,4,1 -??#?##?#????#??#???? 8,6 -#?????????#???? 1,2,1,1,5 -?#?.??##??????.#? 2,6,2 -??.????????###??#??# 10,4 -?##??.?#????? 2,7 -.???..??????#???#?? 1,10 -?????????#?????#? 2,7,1,1 -?.??#?????. 1,2,3 -?..??..#?#?? 1,2,3 -.??.?????? 1,1,2 -??#?#????#?.#??? 6,1,1 -?#??.????#? 3,1,4 -?.??????????#???.??. 1,4 -.#?..????.?????? 2,2,4 -#???##?????????.?#? 1,1,2,1,5,2 -????##???.?? 2,6,1 -#.?#??..##.##?##???? 1,3,2,6,1 -.???.###??????#..?.? 3,2 -?#???#??.???#.# 1,2,1,1,1 -?.?#???..? 3,1 -..??????.???##?#? 3,6 -??.####??###???? 4,4,1 -?????????. 1,2 -..??.?#?#?? 2,4 -##????##?. 4,4 -#????#????#?? 1,4,3 -?.??.#????.#??? 1,1,2,3 -#?..##???????#?????? 1,3,2,1,2,1 -.##??#?.??.?? 3,1,1,1 -?##?#.?..#??????? 5,1,4,1,1 -?..???##??????#?#??? 6,6 -?##???#??#???? 2,5 -???##?#???.????.? 8,1 -???###??..?????# 5,1,2,1 -??????.?.#??#??# 1,2,1,2,1 -??????????#.??????# 2,3,1,1,1,1 -????????##????#. 1,11 -?#??.#??#?##??? 2,4,5 -?#.?????.? 2,1 -??##???#?#??## 5,1,1,3 -.?..????#? 1,1,1 -..#??#???.???.???? 6,3,1 -#?????.?#???.#??. 4,4,3 -.??##?#.??.? 4,1,1 -?#?????.?? 3,1,1 -#?????#???#??#???? 8,5 -.?##????#?? 3,4 -??#??#?..?###?. 5,4 -#?#???????????.?. 3,3,6,1 -?????#??#??#. 1,2,1,1 -??#..??##?#??? 1,1,6,1 -.???#??#?.????#?. 8,2 -????#????##?.? 1,3 -???#?.?#???#. 1,2,5 -#????????.??#? 1,4,2,3 -?.??????#? 1,5 -?????????##?.????# 1,1,5,1,1,1 -#????#????#????#??? 1,9,2,1,1 -??.?###?#???????# 6,1,1,1 -?.?##?##??##? 3,6 -..???###?##?#.???# 9,1,1,2 -??????..#? 4,2 -??.????.#.?????#### 1,1,1,1,8 -.#?.??.?.#?? 2,1,2 -##??#?????.???#?. 7,1,5 -#???#???.? 1,1,1 -??#????.?# 3,1,2 -.?????#??#????? 3,7,1 -#???.????.?##?? 2,1,4 -??#?.??.?. 1,1,1 -..#.???#??#??? 1,4 -??????.??##?? 1,2,4,1 -?#????#.#. 1,1,1 -????#??.??..#??.? 3,1 -.????.?#?##???.? 4,1,5 -?.?#???????..#????? 1,7,1,1,4 -?.??????#????#??? 2,12 -.????.????? 2,1,1 -.???.???#??#??? 2,7 -?.?#??#?#?..?? 7,1 -?.?#?.?#??? 2,3 -.?#?????.#..??#?? 3,1,1,3,1 -???.#?#.??#?? 1,3,2 -?.?#???#??#???.?.? 1,1,1,1,1,1 -.#.?.??#.??.#.?????? 1,1,2,1,1,4 -.??#???#??#??#?#? 10,4 -.##?#.????????? 4,1,1,1,1 -???????????????. 12,1 -#??..?????##? 3,1,2,3 -?????##???##..?. 2,8 -????????#????#?# 2,3,3,4 -???????.#????.?.?? 2,1,3,1,1,1 -????#??????.? 3,1,3,1 -?#?#??????.?.??? 1,1,2,1,2 -?#????#??.?##??#? 6,3,1 -?#??.????. 3,1,2 -.#????#????????#?.#? 12,3,1 -??????????#???.#. 8,4,1 -???###?.?..??.? 6,1,1,1 -????.????#???#??.? 3,4,4 -#?#?#?#????#????#?? 1,1,6,2,1,2 -???#.????#?#? 2,1,1,4 -??#??#???.???#.? 5,1,1,1 -..?#??#???????# 4,3,1 -???#???.?#? 4,1 -??#?#??####???.???#. 2,8,1,1 -##?.????##?#.?#?? 3,6,1 -??.???????.?.?? 1,1,4,1 -#?#???.???.??..#. 4,1,1,1,1 -.?..????#?????#?? 1,1,9 -??.?#?###?.??? 6,1 -#.?#????.??.?#????? 1,2,3,1,4 -?#??##??#????????? 13,2 -.??.??##?????.. 1,6,2 -????#.????? 3,1 -.?????..?#..???.. 5,1,2 -????#????.??.?#?# 1,2,3,2,4 -?????#??.??#?.??#. 6,3,2 -?????#????? 3,3,1 -?#.??#??????? 1,4,2 -#??????.?#??????? 1,2,1,5 -?#.????#?##??????? 1,1,11 -????##???.????## 1,2,1,1,2 -.???????#?#??????#?? 3,2,1,1,1,3 -?#????#?#??.??.????? 1,1,6,1,2,1 -...#?.?.?. 1,1 -???##?#.#..?.?? 1,4,1,1,1 -???#??????#?#? 7,3 -???????#?.. 1,5 -?.?#??????.????? 4,1,1,1,1 -?.???.?.??#???#??#?? 2,7,4 -?.?.???###???##?? 1,11 -???#?..?#?????#? 5,2,1,2 -???.?????#???#?#?? 1,1,1,6,3 -.#..?????? 1,1,1 -.???????????#???? 1,9 -?#????#.?.? 3,1,1 -??????.??#??? 1,1,4 -.??#?#????#?.##??? 5,3,4 -#???.?#??#???? 1,1,7,1 -???#?.??.?.#??# 5,2,1,1,1 -?..#???#??.#.?..?? 1,1,4,1,1,1 -?#???.?#???#??#?? 4,9 -?.#?.?###? 2,3 -?????#?.?##?.?.??. 5,2,1 -?.???###???#?#?????? 1,9,1,1 -.?..?????#???. 1,3 -.????###??#?????? 1,4,1,3,1 -??????.??.? 4,1 -?#???????? 1,3 -?????????#.?????#?? 4,1,1,1,5 -?????#???#.???#? 1,7,5 -???#?????#?? 1,5,1,1 -???#.??#???.???? 1,3,1,1,1 -??##?.?##.??#?? 2,2,1 -??#???.??.?.??### 4,2,4 -?..??#.??.?##? 1,1,2,3 -?????#??#?#.#???.??? 7,3,3 -.#??#.?.#? 2,1,1 -.##???#.#???? 6,1 -.?.##?..?? 3,1 -???.?#??#??? 1,1,2,1 -.??????.????#?????# 1,1,10 -??????#??.??????#??? 1,1,4,1,5,1 -#?#???#??????? 3,2,2 -#??.??#?#??#???#? 2,12 -??#???????. 3,1 -????#.?..?????##?.?. 2,2,1,1,6,1 -.????.??#. 4,1 -??????#??.#.??.? 1,2,1,2,1 -#?????..?##?? 4,1,3 -???##????#..#? 6,2,2 -.?.?????#??.?#? 7,1 -??#?.???.. 1,3 -.?????????#? 8,2 -?..????#??? 2,1,1 -??????.????.#? 5,2,1 -?.?#.????#??? 1,5 -??###.???..???#? 5,1,1,2 -#?##??#??##.? 7,3 -??#???.???#?#?? 2,4 -#???.#???????#? 1,1,3,6 -??#.????###.?. 3,6 -#???#.##??? 1,3,4 -?.#?#?##?..?? 6,1 -#..#???#?#?????##? 1,1,13 -#?#???###?#?.????? 4,4,1,1,2 -????#.???#??????.? 4,8 -.??#.??..?#?#??.#? 2,2,5,1 -?????#??###?#????? 1,1,1,6,1,1 -?#??#????###????#? 7,4,1,2 -.#?#?#?##?????.???? 5,4,1 -#?#?????###. 1,9 -????#???##??????? 10,2 -?.??#???##???#??.# 1,1,1,3,4,1 -??????#???#?#?? 6,6 -##?????####??????? 11,4 -.?????#??.?#?#????? 1,2,1,1,5,2 -??#?..??#.?#?#?? 2,1,1,1,2 -.#??#?.#..???????# 4,1,4,1 -??#.??.?????#? 1,1,1,2 -?????##??.# 2,4,1 -?????#????#?#?##??? 3,3,10 -?..?????###?? 1,8,1 -##????.#???#??.??? 2,1,7,1,1 -???#??????#?.? 2,1,3,1 -.#?#???#?.????#??. 7,6 -?.??????.###????.? 1,1,1,2,4,2 -.?????#??#??#?##?## 2,1,4,8 -??.???#???????# 1,1,3,6 -?.#..?????#.. 1,2,1 -??#???#??. 2,1,1 -#????#???#????? 10,1,1 -?????????? 3,4 -??#?????????##??#?# 2,2,5,4 -???###???#?#??#??# 6,5,1,1 -????.??#??.? 2,2 -.???##??##?????? 1,10 -##??????.?.#??? 6,1,1,1 -??##??##?..?# 2,2,2 -#?#.???#.????. 3,4,1,1 -#????##?##.???????. 3,3,2,4 -??????#?#????#.? 1,9 -?.??.?.?#???#???.?.? 1,1,1,2,4,1 -??#?#?##??.????.? 4,3,2,1,1 -??????.#??.???#.???? 4,1,1,4,1,1 -?.??????.#?? 1,6,1 -??.???????#? 1,7 -??????.?##?##?#?.? 2,1,9 -???????#???.??#.#. 5,5,1,1,1 -.??????##?????#? 1,8,2 -?.?#..???.???.?. 1,1 -?????##?.??###?#? 2,5,6 -???.?.?.#. 1,1,1 -#???##??.#? 1,6,1 -????#???#??.???..#? 1,5,1,1,2,1 -????#??###??.?? 1,1,1,6,1 -#?.#???#????.?#????? 1,2,1,1,6 -?..??##??#...?.?? 5,1 -???.#?.?.?? 3,2,1 -#????????#??# 1,1,7 -???#?#??????#?#?.?? 8,3,1 -????????##? 1,1,3 -??#???.??##? 1,1,3 -?????.???????#? 3,1,2,3 -#.##?..??.??.?#?#. 1,2,2,1,1,1 -??.???????#?????? 1,1,5,1,1 -.??.?.?#??? 2,2,2 -???????###?. 1,6 -?#?#?.?????? 5,3 -?#?##?#.????#???? 6,4 -??##?..??? 3,1 -.????.#??#??####??#? 3,13 -#????.?????? 1,1,1,1 -.???.#????? 2,3 -?#.?????#???? 2,1,3 -??????#????.??? 1,6,1,3 -#?##????????#??.??? 15,1 -???#?.??##?#??????.. 4,10,1 -?#??#?????.?.??? 4,1,1,1,1 -??????????#??#?.?. 1,1,3,1,1,1 -???..??????.###?..# 3,1,1,4,1 -??#.?#?#??????# 1,6,1 -?#??#??#??.???????? 5,1,1,5 -?.##??###????.?? 3,3,1,2 -??.????#???#?#?..# 6,3,1 -.????#???.??#. 1,3,1,2 -?#??#?#?.?. 1,4 -.#?#?.????? 3,1,1 -????#????#?.?????. 2,1,1,2,1,2 -?#??#?.?.##???.? 6,2,1,1 -??????????.???. 2,1,2 -?????#.????#??#?? 2,2,6 -???#??#?##?????.??# 11,1,2 -.??????#????? 1,7,1 -?####??????.?#? 5,2,1 -.?????##?#??.?? 9,1 -#.?#???... 1,1,1 -?#?..?#?#?#.???.?.# 1,6,1,1,1 -.????.???? 4,2 -?????##???..??#?? 1,3,1,3 -????#??.?.?.??. 6,1,1,1 -???#??.?#.?? 2,1,1 -#??????.??#? 1,1,1,1 -?..??###????.? 1,7 -.??###?.##??. 3,2 -.#?????#?#??#? 5,1,1,2 -.#?#????##?#??#?.? 9,5 -.#?#???#.???##? 1,3,1,6 -#???.????###??? 3,4 -?????????#??#???#.? 1,1,8,1,1 -??#??#?.?? 6,1 -??#??####.??#?# 2,4,4 -?#????#??.?.? 1,5,1,1 -??????.#???#?.?? 1,2,1,3,2 -??????.##. 5,2 -??#?.#?.??.?.#? 4,1,1,1,2 -????#.??#????#??.??? 2,1,3,1,3,2 -.#????.??. 2,1 -??#???????#????? 5,3,2 -?#?????.??#????.?## 2,2,2,3,2 -.??#????.???#???#. 3,1,1,3,1 -??.???##???????? 1,2,3 -?????#..?? 1,1,1 -.??##?#?#?? 4,5 -????#????..????.?#? 7,4,1 -?..???#??#???###? 7,3 -?..??.?.#? 1,2,1 -?.??#?..#???#??# 1,8 -.#?????#??..??????.. 1,3,3 -???#?#??.????????? 7,1,1,2,1 -?.?##??.?#? 4,1 -#??#???#?..? 4,1,1 -.#??.#??????#..#???? 3,3,1,1,5 -??#?????..? 7,1 -.??.#?####?##? 1,1,8 -.?#???????.?##?.? 6,4 -?.#????.?#??.?# 2,1,1,1,1 -?.##.??????#? 2,4 -??????#????#?#??? 2,10,1 -???#?##??##? 7,3 -?##???????????..? 5,1,1 -??.?.??????.? 1,6 -??????#?##?? 1,1,5 -#???#.#?.#? 5,1,1 -..???.???#?????.?? 3,1,2,3,2 -???????#?? 4,1 -????.??#??????????? 2,1,11,1 -?##?##?????# 8,2 -??????#????? 1,4,1 -??#???#?#?? 8,1 -.?????#??.?#?#? 3,5 -??#?#???????# 8,1,1 -#?...??.??#?? 2,4 -??##?.?????.? 5,2,1,1 -#????.??.??.?????? 5,2,3 -?#???????????? 1,1,1,3 -??????...?#??. 2,3 -#???.????? 1,1,1 -????#??..??? 1,2,1,1 -.#???????..#? 5,2,2 -?#???#?.??? 6,1,1 -???..??.?.??? 1,2,1,3 -?#??#?#?.???# 2,4,1,1 -?.?.????..#??#?.?? 1,4,1,2,2 -##?..#..???.. 3,1,2 -.#??#????? 6,2 -.??.???????##??#???# 1,1,2,9 -..??.??#?#???? 1,8 -?????#???? 5,1 -??#??##?.?#?.??.#??? 3,4,2,1,4 -?????.??#????#???? 2,1,6,1,1 -.???#?##??#?.?#?. 9,2 -?#???..???? 1,1 -???#.#?#???. 3,5 -?.???????#??? 1,2,4,2 -????#???????? 2,4,2 -?????.#?.? 4,1,1 -#??#?#????...#??? 7,1,1,1 -?##??.#??? 2,1,2 -.?...????? 1,2,1 -???.??????#???##?.? 1,1,8 -???.??#.#????# 1,3,6 -?#??...???#?#??????? 2,7 -??#???????#.?? 3,3,3,1 -.?#?#????#???. 4,4 -#?.????#?#??##.??? 1,2,8,1 -??#?#??????? 1,3,1,1 -??.??##..?.##. 4,1,2 -#?????#????# 1,1,6 -?#?#????????.??# 1,3,3,1,1 -#.???..??##?#?#? 1,3,9 -??.?.#?###?.?????#?? 5,2 -.???#?.?????#?.??#? 1,2,5,3 -????????#????#???? 1,13 -????????????#?? 1,3,2 -??.???????#??## 3,1,5 -.?.??????.???? 1,2,1,3 -#?.?#??????#### 2,1,1,1,5 -??#??##?.??.?? 3,3,1,1 -.?..??.##?????.? 1,1,4,2,1 -.???.##???? 2,2 -#?#??????. 4,4 -?????????????#?????. 2,3,1,7 -????#????#?#?? 2,1,1,5 -????????##.?? 2,4,1 -?#??????.??.???? 3,1,2,1,1 -?.?#????.????#? 3,1,2 -??.????????#.????.? 1,3,3,2 -.??#?????.?.??? 8,1,1,1 -.?#??.?#?. 2,1 -?.#???#?#??.?. 1,9 -???#????.??##????? 5,5,1 -?#??.??#???.??.?? 4,1,3,1,2 -?#?..??????#? 3,1,1,1 -.?????.???? 1,1 -#????????.?? 1,5,1,1 -..???#??#?. 4,1 -#?.???#?#????? 1,1,8 -#??.??.#???.?#??? 2,2,2,3 -???#.?#??#??##?? 3,9 -?.#??##?#???.#? 1,7,1 -#??????#.##.??? 1,1,3,2,2 -?#?????.?###??????# 3,6,1 -?..??#?#????.??? 8,3 -?????#?????????? 8,1 -??????#.??...?? 1,1,2,1,1 -??.#????#???.?.#.??? 1,6,1,1,1,3 -?#??????.??? 1,2,1,2 -?.##?.???#?????. 3,5 -.????.?.?###??#?### 2,11 -??#.?.#?.???#??? 3,1,1,5,1 -?????##.?.?#?#?? 3,2,1,5 -?##?#??.?##.#?#? 6,3,4 -.#??????.?#..? 3,1,2 -???.????.??#??. 1,3,4 -???##?????.#? 6,1,1,1 -.?#????#??.??? 2,1,3,1 -#??#?.???#?.???. 1,3,1,1,1 -.??#??????? 1,3,2 -#?####??????#???? 7,6,1 -##??.?????????? 3,2,1,1,1 -??????#??##???#???.. 1,3,4,3 -??#??.#?.? 5,1,1 -?.??????#?. 1,2,1 -????.??#?#???. 3,1,1,1 -???????..??# 1,2,1,2 -?.#?????#?.?? 4,1 -..??#?#.#?#???#??#? 5,5,1,1 -?????#????. 1,4,1 -??.??#??###.???? 2,7,1,1 -.?????#?.??##?.?#?. 5,3,2 -???#???.#? 4,2 -?????.#??.#???? 2,1,1,1,5 -?#????#???#?#?#.??? 7,3,1,1 -?????#.??. 4,1 -??#?.?#.?. 1,1,1 -????????##.#? 1,1,2,1 -???????.???##?.?. 3,6,1 -#?#???????????#..? 3,8 -.??#??.?.??#??? 3,2,1 -??????#???..? 1,5 -#.??#??##??????.#??? 1,8,1,2,1,1 -????#?#???????#????? 6,5 -????.?##?????.# 2,1,5,1,1 -??.#???##?#??? 1,5 -.?#????.??????#??##? 5,1,8 -?#.??#????#???..?#?. 2,1,6,1,2 -?##?.??.?.##??#??.?? 2,2,7 -?#?#??#????#? 5,1,1,2 -#???#????### 1,1,1,3 +.#.#### +##..#.# +##..#.# +.#.#### +..#..#. +####.#. +#.#.#.# +.#..#.# +##.##.. +#.#..#. +#.#.... + +.##.....#....#. +.##.....#....#. +..#.#..##....## +...###...#..#.. +#..##.....##... +.#.#...#.####.# +#.#.....######. +##..###...##... +#..#..##..##..# +.##.#.#........ +#..#..##..##..# +#####.#.##.###. +.#....##.#..#.# +..##.#...#..#.. +#..####..#..#.. + +.##......## +.##......## +.#.#.##.#.# +#.########. +#.##....##. +#.######.#. +####....### +##.#.##.#.# +###......## +...######.. +####.##.### + +....#.### +#.#..#### +##....... +##....... +#.#..#### +....#.### +#..##.#.# +#.##...#. +#.##..#.# +####..#.. +#.#.###.# +#.#..##.# +####..#.. +#.##..#.# +#.##...#. + +##.####.# +.###.#### +###...### +###...### +.###.#### +#..####.# +..###..#. +##..#..#. +####...#. +#....#.#. +...#..... +#....#.## +#.#.#.##. +#.#.#.##. +#....#.## +...#..... +#....#.#. + +.##..#..#..#..# +#....##.##.##.# +......#..###### +......#..###### +#....##.##.##.# +.##..#..#..#..# +######..#.#.### +.#..#.....#.#.. +#...#..#.#.##.# +.###....#..###. +.###....#..###. +#...#..#.#.##.# +.#..#.....#.#.. +######..#.#.### +.#...#..#..#..# + +.######.#.#..#. +#..##....##..## +#.#.#.###.#..#. +#.#.#.###.#..#. +#..##....##..## +.######...#..#. +#.#.#..#..####. +#.#...######### +.....###.##..## +.#.#....###..## +.#...#...#....# + +#.##.#......#.# +#.##.#......#.# +..##.#.......#. +.##.##.##.##... +#.#.##...#.#### +##...#.##.#.##. +.#..#.##.#.#..# +.#..#.##.#.#..# +##...#.##.#.##. +#...##...#.#### +.##.##.##.##... +..##.#.......#. +#.##.#......#.# + +..#..#..#..#. +##.#.####.#.# +####......### +#####.##.#### +..#.#.##.#.#. +####..##..### +...#......#.. +##.###..###.. +...#..##..#.. +##.##.##.##.# +##.###..###.# +####......### +..#.##..##.#. +##..........# +##.##....##.# + +.#.#....#.#...... +...##..##.......# +#..######..#.##.. +.###....###.##... +.#.#.##.#.#..#... +..###..###....... +###..##..####.### +#..##..##..##.#.. +....#.##....#...# +###.#..#.###.#.#. +#.#......#.##..#. +#.#......#.##..#. +###.#..#.###.#.#. + +#.##..##...##.. +##.#.#.####..## +##..#..#.#.##.# +##.###.##...... +####...####..## +##.#.#.####..## +##.#.#.####..## +####...####..## +##.###.##...... +##..#..#.#.##.# +##.#.#.####..## +#.##..##...##.. +#...#.######### +.##.###.#.#..#. +......####.#### + +##..##. +.##.... +.##.... +##..##. +#.###.# +#.##..# +.###### +.###### +#.##..# +#.###.# +.#..##. + +....#.. +##.#.## +..#.#.. +....### +##.#.## +##.#### +###.... +##.##.. +....#.. +.....## +#####.. +##..... +....#.# +####.## +##..#.. + +.#.##.#.....#.#.# +###..###.#####... +###..###.#####... +.#.##.#.....#.#.# +.#....#..#.###... +#.#..#.#####..##. +#.####.##......#. +##.##.##.##.##..# +###...##.##....## +#.####.#####.#### +##.##.##.##...... +#########.#.####. +###..####..###... + +#..####..#..#..## +###.##.####.#.##. +..######.....#.## +###.##.#####...#. +#.#....#.#.#....# +##.####.###.#.#.. +###....###.#.#.## +###.##.####.##### +...#..#....##...# +...#..#....##...# +###.##.####.##### +###....###.#.#.## +##.####.###.###.. +#.#....#.#.#....# +###.##.#####...#. + +####..##. +####...## +.....###. +...###### +######... +....#.... +####..#.# +####..#.# +....#.... +######... +...####.# +.....###. +####...## + +#...#..#. +#...#..#. +####....# +#..###### +...###### +###...... +...##..## +###.####. +#.#....#. + +.####.. +##.#.#. +##.#.#. +.####.. +#..#..# +.....## +.#.#..# +..#.#.# +..#.#.# +.#.#..# +.....## +#..#..# +.#.##.. + +#.#.#....##.. +.####.#.####. +.####.#..###. +#.#.#....##.. +..#...###.... +..#...###.... +#.#.#....##.. +.####.#..###. +.####.#.####. +#.#.#....##.. +##.#.####...# +..#..#..#.##. +##.#######..# +.##..####...# +###..##....## +.######.##... +.#..#.##..##. + +......# +##...#. +.#....# +.#....# +.#...#. +......# +#..###. +...#..# +#.#..## +#.#...# +#..##.# +#..##.# +#.#...# +#.#..## +...#..# +#..###. +......# + +##..#.#.... +####..#.##. +#.#.#..#### +..#....#..# +..#....#..# +#.#.#..#### +####..#.##. +##..#.#.... +####...###. +#....###### +#...###...# +..#####..#. +..##.###.#. +..##.###.#. +..###.#..#. + +..........#.### +..######...##.# +.#......#...... +#.##..##.#..... +##.####.##.#.## +#...##...###..# +#...##...###..# +##.####.##.#.## +#.##..##.#..#.. + +..#.......##.#. +#.#.#...####..# +.#..##.#.#.#.## +.#..##.#.#.#.## +#.#.#...####..# +..#.......##.#. +..#..#####....# +.#.#.#......### +.#.###......### + +...#.##.# +....#..#. +#..##..## +...###### +.#.#....# +.#.#....# +...###### +#..##..## +....#..#. +#..#.##.# +###..##.. + +.#.####.#.... +#.#....#.#... +###....##.### +#.##..##.#.## +.#.#..#.#.### +#.######.#... +#.##..##.#### + +##.#.## +#...... +#...#.# +####.## +.#.#..# +...#### +...#### +.#.#..# +####.## +#...#.# +#...... +##.#.## +.#..#.. +#..#..# +#.....# + +#.########.#. +..##....##..# +..##....##..# +#.########.#. +.##..##..##.# +#.##....##.#. +.#.....#..#.# +...#.##.#.... +#..........#. +.#...##...#.. +.##.#..#.##.. + +.##..#..#.##.#. +#..#.##...##... +#######..####.. +#######..####.. +#..#.##...##... +.##..#..#.##.#. +.#.....#.#....# +......###.#..## +.......#.###.#. +####.##..#..#.# +....#.#.##.#..# +######.######.. +....#..##.###.. + +##.#....#.. +##.#...##.. +.###.##.#.# +##.####.... +...##....#. +..#....#.#. +.....##..## +.#..####... +.#..####... +.....##..## +..#....#.#. +...##....#. +##.####.... +.###.##.#.# +##.#...##.. + +##.####.# +.#.####.# +.#.####.# +##..##..# +####..### +##.####.# +#.#....#. + +...#..##. +......##. +#...##### +#..#.#### +...###### +.#.###### +##...#..# +###..#### +##..#.... + +###..###. +####.#.#. +..#..##.# +###.#...# +......##. +..###.### +..#...### +##..#.#.# +##....... +..#...... +######... +#####...# +##..##.## +###....#. +###.#.### +#####..## +#####.### + +..#..###... +..#...##... +##..###.##. +#.#..###..# +.####...##. +#.###.#.### +..##.....## +#.#..##.#.# +######.#.#. +.####..#..# +.##.##..... +..#......## +..#......## + +..#...##...#..# +..####..####... +.#.#.#..#.#.#.. +###.#.##.#.###. +..##.####.##... +#..###..###..#. +#....####....#. +..#.######.#... +..#.######.#... +#....####....#. +#..###..###..#. +..##.####.##... +###.#.##.#.###. +.#.#.#..#.#.#.. +..####..####..# +..#...##...#..# +##.##.##.##.##. + +.###..#.# +..#...#.# +##.####.. +#..#.#### +....##... +....##... +#..#.#### +#..####.. +..#...#.# +.###..#.# +.###..#.# + +#..##..##...##... +........######### +##....########### +#.#..#.#.#.#..#.# +.##..##..##....## +###..############ +#########...##... +.#.##.#.######### +..#..#..###....## +###..#####.#..#.# +.#.##.#..######.# +..#..#..#..#..#.. +..####..##..##..# +#.####.########## +##.##.##.#.####.# +..####..#..#..#.. +########...####.. + +..#.#....#.#..##. +###.###.##.###..# +##.#......#.##..# +#....####....#..# +.##.#....#.##.##. +.#....##....#.##. +....######....... +#....#..#....#..# +##.#.#..#.#.##### +#.#...##...#.#### +#.##.####.##.#..# +#####.##.######## +.##..#..#..##.##. +.###......###.... +#..#.#..#.#..#..# + +#.#.#.#.#.####. +...########..## +..#.###.###..## +..#.#.#.###..## +#...#..#...##.. +.##..########## +#..#.....##..## + +#.###..##.#...... +#.###..##.#...... +.#.#...#....#..#. +#.#####..###..... +#####......#.###. +....#.###.#...### +....##.#.#.##..#. +#.##.#...#...##.# +..##..#.######### +#.#..###.#..###.# +#.#..###.#..##### +..##..#.######### +#.##.#...#...##.# +....##.#.#.##..#. +....#.###.#...### +#####......#.###. +#.#####..###..... + +......# +....#.# +#..#.#. +.#.#### +.#.#### +#..#.#. +....#.# +......# +.####.# + +....#.##.##..##.. +####..#.##.#.##.# +.#.....#.###....# +###.####......... +#.##.#.#..###..## +##.#.####.####### +####.##.#....##.. +#######.#....##.. +##.#.####.####### +#.##.#.#..###..## +###.####......... + +###..#...##...#.. +..#.####.##.####. +##.#..#......#..# +..#..#........#.. +###.#.########.#. +##.#...######...# +###.############. +##.#.#..####..#.# +##..#.#.####.#.#. +..#...#..##..#... +###.#####..#####. +#.#.###.####.###. +##..###.####.###. + +##.##.####..##.## +###..####..#..#.. +#.####.##..##.#.. +..####..#..#...#. +##.##.##....#...# +#.#..#.####.#.#.. +............#...# +#..##..#...#..##. +#......#.##...##. +.#.##.#.###.##..# +##.##.####.####.# +##.##.####.####.# +.#.##.#.###.##..# +#......#.##...##. +#..##..#...##.##. +............#...# +#.#..#.####.#.#.. + +.##..###.####..#. +.###...####.###.. +##...#..##.#.###. +##.##.#.##.##.#.# +##.##...##.##.#.# +#.##...#..##.##.. +.###....#####.#.. +..####.#..#..###. +..####.#..#..###. +.###....#####.#.. +#.##...#..##.##.. +##.##...##.##.#.# +##.##.#.##.##.#.# + +##.##..###. +##.##.#..#. +......#...# +......#...# +##.##.#..#. +##.##..###. +###....#.#. +#.#..#..#.. +#.##...#.#. +..####.###. +..####.##.. +#.##...#.#. +#.#..#..#.. +###....#.#. +##.##..###. +##.##.#..#. +......#...# + +###.############. +...#.#.######.#.# +##.......##...... +##.....#....#.... +####....####....# +..##.##.#..#.##.# +...######..###### +####.##..##..##.# +#...##..#..#..##. +..#.#.#..##..#.#. +.....#.#....#.#.. +#####..#.##.#..## +...#..##....##..# +####...#.##.#...# +###.#..#....#..#. + +....##..#.#.. +....#...##### +....#...#.### +.##..#...#... +....###.####. +#..##.#.##... +####..#####.. +#####..#.##.. +####...##.... +#####.#...### +#..###.####.. +.##.####..### +####.###..### +....#...#.... +.##...####### + +...###### +#.#..##.. +.#.###### +#...##### +..####### +#####..## +#.#.####. +.#...##.. +.#..#..#. +#...#..#. +.###.##.# +..##.##.# +..##.##.# +.###.##.# +#...#..#. + +##...#. +##...#. +.###### +###...# +.#.#.#. +...#.#. +#..#.## +#..#.## +...#.#. +.#.#.#. +##....# +.###### +##...#. + +##..#..## +##.#..... +##...##.. +#.###.... +###..#.## +#####.### +##.####.. +#####.### +....#.### +..##...## +..####... +..###.... +...###### +#######.. +###..#... + +####....##### +#####...#.##. +......#.##..# +....####.#### +....##...#..# +#..#.#....#.. +.....#...#..# +########..... +#######.#.##. +#..##..#.#..# +#..##.....##. +.....##.#.##. +.##.#.#.#.##. +########.#### +#..#...#..##. + +.#####.#.## +.#####.#.## +...#......# +.#.#..###.# +###.###.#.# +###..#...## +##.#####... +##..##..#.# +..##.####.# +#.#.#..#### +#.#.#..#### +..##.####.# +##..##..#.# +##.#####... +###..#...## +##..###.#.# +.#.#..###.# + +##......##### +#..#..#..##.# +#.#.##.#.#### +##..##..##..# +..#....#...## +###########.. +..######..##. +#.....#..#..# +.##....##..## +###.##.###... +#........#..# +##..##..###.. +##..##..###.. + +#.#..#.#..#.#.. +#.##.#.#..#.#.# +#.##.#.#..#.#.# +#.#..#.#..#.#.. +...#...#..#...# +...##..#..#..## +..#...#....#... +.##.#.######.#. +.....#......#.. +#######....#### +#.#.###.##.###. +##...#......#.. +#.##.#.####.#.# +#.###..#..#..## +###..##....##.. +#.###..#..##.## +#.#.....##..... + +...#.#..#.#...... +##..#....#..####. +#####....######## +##.#......#.####. +#.#...##...#.##.# +##..........####. +#.##########.##.# +.#####..#.###..## +.############..## + +..#.##..# +..#.##..# +.###..#.. +##.#..##. +#...#.#.. +###.#..#. +##.#.#### +..#...#.. +##.#....# +..###.#.. +#.#.###.# +.#.#####. +...#....# +...#....# +.#.#####. +#.#.###.# +..###.#.# + +..#...#.# +.#....#.# +#..#####. +..#####.. +...##...# +#.##..... +#.##..... +...##...# +#.#####.. +#..#####. +.#....#.# +..#...#.# +.#..#.##. +.#..#.##. +..#...#.# + +.#.####.##.#### +##.....#..##### +#.#.#......#### +##.#.#.#..##### +.#.########.##. +#.....##....##. +.#..#....##.##. +#..#.#....##.## +##.###.####.##. +##.##....#..... +#.##.##.####..# +.##..###.#..... +.##..###.#..... + +......#..#. +.......#..# +.......#..# +......#.... +######.#### +#.##.##.... +#######.##. +######.#..# +######..#.. +#########.. +......####. +#.##.###... +######.#.## +##..##.#... +#######.... +..##...#### +.......##.. + +.##.#####..#. +##.#..#.#.... +.#.###.##.#.# +##.###.....#. +..#..#.###..# +##..#.#....## +##..#.#....## +..#..#.###..# +##.###.....#. +.#.###.##.#.# +##.#..#.#.... +.##..####..#. +.##..####..#. + +#...#..##.#.#.. +#.#..##.####.#. +#.#..##.####.#. +#...#..##.#.#.. +.#.#...#..###.# +......#.....### +....##..#.##### +##...####.#.##. +#...#...##..### +...###.##..##.# +...##..##..##.# + +###..####.. +###..####.. +##....#.... +.####.###.. +###.###.#.. +##.###..### +....#.#..## +#.#..#..#.. +..#...##### +.#.####.... +##......##. + +##.##.#.#.. +###.#..##.. +..##.##.##. +#.#..#.#.## +#.###....#. +#..#.#...## +...##.###.# +...##.###.# +#..#.#....# +#.###....#. +#.#..#.#.## +..##.##.##. +###.#..##.. +##.##.#.#.. +.###.#..##. +#.####..#.# +#.####..#.# + +####....####... +...#....#...#.. +..##....##..... +...##..##....## +....####....#.. +#...####...#... +.#...##...#.### +.#........#.... +.....##........ +#..........#... +.#.#.##.#.#.### +##..#..#.###.## +.##......##..## +###.#..#.###.## +#...####...#... +..##....##..### +#.#.####.#.#... + +####..#.. +....####. +......##. +.##...### +.##...### +......#.. +....####. +####..#.. +.##.##.#. +.##..#.#. +#######.# +....###.# +######..# + +#.##.#..#.. +#.##.##.#.. +#.##.##.#.. +..##....#.. +..##...#.#. +#....###.## +..##...##.# +.#..#..##.# +#.##.##...# + +.#.########.#.. +####.......###. +#.###.##.###.## +..#........#..# +...##....##.... +###..#..#..###. +##.########.### +##.########.### +###..#..#..###. + +...##.....# +.##..##.... +..####..##. +#..##..#.## +#..##..#.#. +###..####.. +.#..#.#.### +.##..##.#.# +##....##### +..#..#....# +##....##..# +.#.##.#.### +...##...##. +##....###.. +##....###.. +...##...##. +.#.##.#.### + +#....######.# +#.##.#..#.#.# +.####.#...##. +#######.##... +##..#####.#.. +......###...# +......###...# +##..##.##.#.. +#######.##... +.####.#...##. +#.##.#..#.#.# +#....######.# +..##..###.#.. + +..####...##.. +.##..##..##.. +#.#..#.#....# +##....##....# +#.#..#.##..## +#.####.#.##.# +##.##..#.##.# +########....# +...##...####. + +##..... +..#.##. +###.### +.#.#### +.###..# +.###..# +.#.#### + +#....####.### +#....####.### +.#..#...##.## +#.##.#...#### +.#..##..#.... +.#..#.#...#.. +.####...##... +#.##.#.#.#.#. +..##...#####. +##..##.##.##. +#....###.#..# +.#..#.#..##.# +.......#.#... +.#..#.#.####. +......#..#... +##..##..##.#. +.#..#..#.###. + +#.#######.#.#.. +..#.#...#...#.. +#......#...#.## +##..##....###.. +.#.##.###.##### +###..#.#..##... +###..#.#...#... +##.#.##.##..### +.####.##..#..#. +..#####...##.## +..#####...##.## +.####.##..#..#. +##.#.##.##..### +###..#.#...#... +###..#.#..##... + +##.##.##.###.#..# +##.###.#..##..##. +.###..#.##..###.# +#.#...##.#####..# +..#.#.....#..#### +#...#.#..####.##. +#.#...####.#.#### +..#.#.#..##.#.##. +....##..##..##### +.#..##...#.###..# +.##.#..#..#.##..# +.##.#..#..#.##..# +.#..##...#.###..# +....##..##..##### +..#.#.#..##.#.##. + +####... +#.##### +..##### +####... +#....## +.###.## +.#..#.. +###.### +##...## +.###.## +#.##### + +..######... +.#......#.. +#....#...#. +##......### +.##....##.# +...####...# +.#.#..#.#.# +.#..##..#.. +#........#. +#.#.##.#.## +.#.####.#.# +.#.#..#.#.. +.#.####.#.. +.#.####.#.. +.#.#..#.#.. + +##.#......#.##. +##.#......#.##. +####......##### +###..#..#..###. +...#......#...# +#...#.##.#...#. +##....##....##. +##.###..###.##. +.###......##..# +...########.... +###.#....#.###. +..###....###..# +#.#.#.##.#.#.#. + +.######.######.## +.#.##.#...##...#. +##....####..####. +.##..##........## +#.#..#.#.####.#.# +##.##.###....###. +.#....#.#....#.#. +.#.##.#.#....#.#. +..#..#..######..# +########..##.#### +...##............ +#.####.#......#.# +..#..#..######..# + +.#.##...... +...##...... +..#..##.#.. +..#.#..###. +....#...#.. +#.#..##..## +...##.#.### +..#.###..#. +..#.###..#. +...##.#.### +#.#..##..## +....#...#.. +..#.#..###. + +#..#.####.#..## +#..###..###..#. +#.#.#.##.#.#.## +##..#.##.#..### +.##.##..#..##.. +..#..#..#..#... +##..#....#..### +.##.#....#.##.# +...#..##..#...# +....#....#....# +.....#..#...... +..#.#....#.#... +..##......##... +..##......##... +..#.#....#.#... +.....#..#...... +....#....#....# + +.##..#. +.##..#. +#.#.### +..##... +.#...#. +#####.. +#.#.### +#.#.### +#####.. +.#...#. +...#... + +###..#..### +.....#...## +......#.#.. +..#.#...#.. +...###.#### +##.##...##. +..###...### +##...#.#..# +#.##.##..#. +..#...#.#.. +...#.#..#.. +...#.#..#.. +..#...#.#.. + +.....##.. +....#..#. +.....##.. +#..#.##.# +####....# +.##...... +#..###.## + +.#..##.###### +#.#..##.#.##. +#.#..##.#.##. +.#..##.###### +.####..#..... +.#.#.#.#.#..# +####...#...#. + +#..#... +...#... +.###.#. +..#.##. +..#.#.# +.##.##. +.##.##. +..#.#.# +..#.##. +.###.#. +...#... +#..#... +...###. +#....## +.###### + +.##...#.# +####....# +...####.# +#..#.#### +.##.##.## +#####.#.# +....##### +.##.##.#. +.##..##.# +#..#.#### +.##...##. +#..#..### +#..#..### + +..#...# +..#...# +.###### +.##.#.# +.#.#.#. +#...##. +......# +#...#.# +#...#.# +......# +#...##. +.#.#.#. +.##...# +.###### +..#...# + +###.##. +..##... +.#.#..# +.#.#... +..##... +###.##. +###...# +.#..... +#...#.# +...##.# +...##.# +#...#.# +.#..... +###...# +###.##. + +....#..#. +##.###### +##.#....# +..###..## +..#..##.# +.....##.. +##.#.##.# +..##.##.# +###..##.. + +###..##.##.#. +###..##.##.## +######.#.#.## +####.#..#.#.# +...#.#.##.### +##..##.#..... +....##.#..##. +........#.#.. +...#....#.##. +###.####..... +...##...#.### +####..#.###.. +....#..#..##. +##.####...#.# +...#.......#. + +..#.#.. +..##### +..##### +..#.#.. +##..#.. +...#.## +.###### +.###..# +.####.# +.###### +...#.## + +.####..####.#..## +##..#..#..###.#.. +#...#..#...#.#.## +.#.##..##.#.##..# +#..#.##.#..#..... +.#..#..#..#...... +.#.######.#..#... +##.##..##.##.#... +.###....###.##### + +..###..#.##.. +..###..#.#... +...#.#..##### +#####.###.#.# +...#.#..#.#.# +#####..###.#. +##.....##.#.. + +....##. +.#.#### +.###### +.#.#..# +#.##..# +...#### +.###### +#...##. +##..##. +#...##. +#...##. +.###### +...#### + +##....##. +##...##.. +##.####.# +..##..##. +..##..##. +##.##.#.# +##...##.. +##....##. +....##.## +..#...### +...##.##. +...#...## +#####..#. + +##.#.#. +#..#.#. +..#...# +##.#... +...#... +.###... +.#.###. +.#..#.. +.#..#.. +.#.###. +.###... +...#... +##.#... +..#...# +#..#.#. + +.###....# +#..##..## +#.####### +#.#...... +##...##.. +..##....# +#....##.. +###...... +#.#.####. +....####. +#####..## +.##...... +..##....# +####.##.# +.###.##.# + +.##.##.##..##.##. +.##.#.########.#. +.##.####.##.####. +#..######..###### +.......##..##.... +..#..##########.. +....#.##.##.##.#. +#..#.##.####.##.# +####..#......#..# + +#..####..##.. +.#..##..#..#. +.#......#..#. +..##..##....# +...#..#...... +#..#..#..##.. +.#......#..#. +#........##.. +...####...... +.###..###..## +...#..#...... +#..####..##.. +..#....#....# +#........##.# +.###..###..## + +#.#..##..#.#..... +#.#..##..#.#.##.. +...#.##.#...#..#. +.#........####.## +#.##.##.##.#...## +..#.####.#.....#. +####.##.######.## +###.#..#.###..### +..##.##.##...#..# +..##.##.##...#..# +###.#..#.###..### diff --git a/src/main.rs b/src/main.rs index 5f339cb..f6055ab 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,88 +1,69 @@ #![allow(confusable_idents, uncommon_codepoints, mixed_script_confusables)] -// #![feature( -// unchecked_math, -// array_windows, -// slice_take, -// test, -// slice_as_chunks, -// array_chunks, -// slice_split_once, -// byte_slice_trim_ascii -// )] -// extern crate test; +#![feature( + iter_collect_into, + unchecked_math, + array_windows, + slice_take, + test, + slice_as_chunks, + array_chunks, + slice_split_once, + byte_slice_trim_ascii +)] +extern crate test; mod util; -use std::{io::Write, ops::ControlFlow}; pub use util::prelude::*; +fn trans(v: Box<[&[u8]]>) -> Box<[Box<[u8]>]> { + let len = v[0].len(); + let mut iters: Vec<_> = v.into_iter().map(|n| n.into_iter()).collect(); + (0..len) + .map(|_| { + iters + .iter_mut() + .map(|n| n.next().unwrap()) + .copied() + .collect::<Box<[u8]>>() + }) + .collect() +} + pub fn run(i: &str) -> impl Display { - i.行() - .map(|x| { - // AAA? - let (r, c) = x - .μ(' ') - .mr(|x| x.split(|&x| x == b',').κ::<u8>().collect::<Box<_>>()); - fn kill_me( - s: Vec<u8>, - n: usize, - max: usize, - p: &mut impl FnMut(&[u8]) -> ControlFlow<(), ()>, - ) -> Vec<Vec<u8>> { - if n == max { - return vec![s]; - } - let mut combinations = vec![]; - for c in [b'.', b'#'] { - let mut s = s.clone(); - s.push(c); - for thing in kill_me(s, n + 1, max, p) { - match p(&thing) { - ControlFlow::Break(()) => break, - ControlFlow::Continue(()) => combinations.push(thing), - } + let mut sum = 0; + for lines in i.split("\n\n") { + let this = lines.行().collect::<Box<_>>(); + 'huh: for (&[a, b], i) in this.array_windows::<2>().ι::<usize>() { + if a == b { + let mut α = i; + let mut β = i + 1; + while α > 0 && β < this.len() - 1 { + α -= 1; + β += 1; + if this[β] != this[α] { + continue 'huh; } } - combinations + sum += (i + 1) * 100; } - let why = kill_me(vec![], 0, r.len(), &mut |x| { - for (&x, &y) in r.iter().zip(x.iter()) { - if matches!(x, b'.' | b'#' if y != x) { - return ControlFlow::Break(()); - } - } - let mut checked = 0; - let mut len = 0; - for &b in x { - match b { - b'#' => len += 1, - b'.' if len != 0 => { - match c.get(checked) { - Some(&x) if x == len => {} - _ => return ControlFlow::Break(()), - }; - checked += 1; - len = 0; - } - _ => {} + } + let this = trans(this); + 'huh: for (&[ref a, ref b], i) in this.array_windows::<2>().ι::<usize>() { + if a == b { + let mut α = i; + let mut β = i + 1; + while α > 0 && β < this.len() - 1 { + α -= 1; + β += 1; + if this[β] != this[α] { + continue 'huh; } } - if len != 0 { - match c.get(checked) { - Some(&x) if x == len => {} - _ => return ControlFlow::Break(()), - } - checked += 1; - } - if checked != c.len() { - return ControlFlow::Break(()); - } - ControlFlow::Continue(()) - }) - .len(); - std::io::stdout().flush().unwrap(); - why - }) - .sum::<usize>() + sum += i + 1; + } + } + } + sum } fn main() { diff --git a/src/util.rs b/src/util.rs index b9d65b9..fba36d6 100644 --- a/src/util.rs +++ b/src/util.rs @@ -7,9 +7,9 @@ use std::{ pub mod prelude { pub use super::{ - gcd, lcm, pa, GreekTools, IntoCombinations, IntoLines, IterͶ, NumTupleIterTools, ParseIter, - Printable, Skip, TakeLine, TupleIterTools, TupleUtils, UnifiedTupleUtils, Widen, Ͷ, Α, Κ, - Λ, Μ, + even, gcd, lcm, pa, GreekTools, IntoCombinations, IntoLines, IterͶ, NumTupleIterTools, + ParseIter, Printable, Skip, TakeLine, TupleIterTools, TupleUtils, UnifiedTupleUtils, Widen, + Ͷ, Α, Κ, Λ, Μ, }; pub use itertools::izip; pub use itertools::Itertools; @@ -19,6 +19,7 @@ pub mod prelude { fmt::{Debug, Display}, hint::black_box as boxd, iter, + mem::transmute as rint, ops::Range, }; #[allow(unused_imports)] @@ -338,6 +339,10 @@ macro_rules! ι { ι!(u64); ι!(usize); +pub fn even(x: &usize) -> bool { + x % 2 == 0 +} + impl<T, I: Iterator<Item = T>> GreekTools<T> for I { #[track_caller] fn Δ(&mut self) -> T { |