finished day 5
This commit is contained in:
		
							parent
							
								
									122e48ef5d
								
							
						
					
					
						commit
						5b996a5019
					
				
					 4 changed files with 942 additions and 0 deletions
				
			
		
							
								
								
									
										46
									
								
								day5/day5.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								day5/day5.py
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,46 @@
 | 
				
			||||||
 | 
					#! /usr/bin/env python3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import pathlib
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import re
 | 
				
			||||||
 | 
					from dataclasses import dataclass
 | 
				
			||||||
 | 
					from pprint import pprint
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def row_to_int(string: str)->int:
 | 
				
			||||||
 | 
					    return int(string.replace('F','0').replace('B','1'),2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def col_to_int(string: str)->int:
 | 
				
			||||||
 | 
					    return int(string.replace('L','0').replace('R','1'),2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def parse(puzzle_input: str):
 | 
				
			||||||
 | 
					    """Parse input"""
 | 
				
			||||||
 | 
					    rows_and_cols = [(row_to_int(x[:7]),col_to_int(x[7:])) for x in puzzle_input.splitlines()]
 | 
				
			||||||
 | 
					    return set([x[0]*8+x[1] for x in rows_and_cols])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def part1(data):
 | 
				
			||||||
 | 
					    """Solve part 1"""
 | 
				
			||||||
 | 
					    return max(data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def part2(data):
 | 
				
			||||||
 | 
					    """Solve part 2"""
 | 
				
			||||||
 | 
					    for row in range(128):
 | 
				
			||||||
 | 
					        for col in range(8):
 | 
				
			||||||
 | 
					            potentialID=row*8+col
 | 
				
			||||||
 | 
					            if potentialID not in data:
 | 
				
			||||||
 | 
					                if (potentialID+1 in data) and (potentialID-1 in data):
 | 
				
			||||||
 | 
					                    return potentialID
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def solve(puzzle_input):
 | 
				
			||||||
 | 
					    """Solve the puzzle for the given input"""
 | 
				
			||||||
 | 
					    data = parse(puzzle_input)
 | 
				
			||||||
 | 
					    solution1 = part1(data)
 | 
				
			||||||
 | 
					    solution2 = part2(data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return solution1, solution2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == "__main__":
 | 
				
			||||||
 | 
					    for path in sys.argv[1:]:
 | 
				
			||||||
 | 
					        print(f"{path}:")
 | 
				
			||||||
 | 
					        puzzle_input = pathlib.Path(path).read_text().strip()
 | 
				
			||||||
 | 
					        solutions = solve(puzzle_input)
 | 
				
			||||||
 | 
					        print("\n".join(str(solution) for solution in solutions))
 | 
				
			||||||
							
								
								
									
										4
									
								
								day5/example1
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								day5/example1
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					FBFBBFFRLR
 | 
				
			||||||
 | 
					BFFFBBFRRR
 | 
				
			||||||
 | 
					FFFBBBFRRR
 | 
				
			||||||
 | 
					BBFFBBFRLL
 | 
				
			||||||
							
								
								
									
										859
									
								
								day5/input
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										859
									
								
								day5/input
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,859 @@
 | 
				
			||||||
 | 
					BBFFBFFRRR
 | 
				
			||||||
 | 
					FBBFFBBLRR
 | 
				
			||||||
 | 
					FFBFBFBRRR
 | 
				
			||||||
 | 
					FFFBFBFRRR
 | 
				
			||||||
 | 
					BBFFBBFLRR
 | 
				
			||||||
 | 
					BFFBFBFLRL
 | 
				
			||||||
 | 
					FBBBBBFRRR
 | 
				
			||||||
 | 
					FFFFBFFLLR
 | 
				
			||||||
 | 
					BFBFFBFLLR
 | 
				
			||||||
 | 
					FFBBFFFLRR
 | 
				
			||||||
 | 
					BFFFFFFLLL
 | 
				
			||||||
 | 
					FBFFBFFRLL
 | 
				
			||||||
 | 
					FFBFFBFRLR
 | 
				
			||||||
 | 
					FBBBFBFRRR
 | 
				
			||||||
 | 
					FBFFBBBRRL
 | 
				
			||||||
 | 
					FBFFBFFLRL
 | 
				
			||||||
 | 
					BFBBFFFLLL
 | 
				
			||||||
 | 
					FBBFBFBRRL
 | 
				
			||||||
 | 
					BFFBFFFLRR
 | 
				
			||||||
 | 
					FFFFBFFRLR
 | 
				
			||||||
 | 
					FFFBBBFRLR
 | 
				
			||||||
 | 
					FBFFFBFLLL
 | 
				
			||||||
 | 
					BFBFBBBLRR
 | 
				
			||||||
 | 
					FBBBFFBRLR
 | 
				
			||||||
 | 
					BBFFFFFLLL
 | 
				
			||||||
 | 
					BFFFFBFRRL
 | 
				
			||||||
 | 
					FBBBFBFRRL
 | 
				
			||||||
 | 
					FFBBBFBRLR
 | 
				
			||||||
 | 
					FFFFBBFLLL
 | 
				
			||||||
 | 
					FBFBFBBRLL
 | 
				
			||||||
 | 
					BFFFBFBRLL
 | 
				
			||||||
 | 
					FFBFBFBRLR
 | 
				
			||||||
 | 
					FBFFFBBRLR
 | 
				
			||||||
 | 
					BBFFFBBLRR
 | 
				
			||||||
 | 
					BFFBBFFRRL
 | 
				
			||||||
 | 
					BFBBBFFRRR
 | 
				
			||||||
 | 
					FFBFBFFRRL
 | 
				
			||||||
 | 
					FBFBBFBLLR
 | 
				
			||||||
 | 
					BFFBFBBRRR
 | 
				
			||||||
 | 
					BFFFFBFLLR
 | 
				
			||||||
 | 
					FFFBFFFRRR
 | 
				
			||||||
 | 
					FBFFFBFRLR
 | 
				
			||||||
 | 
					BFBFFBFRLR
 | 
				
			||||||
 | 
					FBBBFFFLLR
 | 
				
			||||||
 | 
					FBBFFBFLLL
 | 
				
			||||||
 | 
					BFBBFBFLLR
 | 
				
			||||||
 | 
					FFBFBBFLLL
 | 
				
			||||||
 | 
					BFFFBFBLRL
 | 
				
			||||||
 | 
					FBBFBBBLLL
 | 
				
			||||||
 | 
					FFFBFFBLLR
 | 
				
			||||||
 | 
					BFFFFFFRRR
 | 
				
			||||||
 | 
					BFBBBBFRRL
 | 
				
			||||||
 | 
					FFBFBBFRLL
 | 
				
			||||||
 | 
					FBBBFBBLRL
 | 
				
			||||||
 | 
					BFFBFBFLRR
 | 
				
			||||||
 | 
					BBFFFBFRRL
 | 
				
			||||||
 | 
					BFFBBFFLRR
 | 
				
			||||||
 | 
					BFBFFFFLLR
 | 
				
			||||||
 | 
					FBFBFFFLRR
 | 
				
			||||||
 | 
					BFBBFBBLRL
 | 
				
			||||||
 | 
					FBFBFFFRLR
 | 
				
			||||||
 | 
					FFBBBFFRLR
 | 
				
			||||||
 | 
					BBFBBFFRLR
 | 
				
			||||||
 | 
					BFFFFBBRLL
 | 
				
			||||||
 | 
					FFFBFBBLRR
 | 
				
			||||||
 | 
					FFFFBFBRRL
 | 
				
			||||||
 | 
					BFFBFBFRRL
 | 
				
			||||||
 | 
					FBFFBBBRRR
 | 
				
			||||||
 | 
					BFBBFFBLRL
 | 
				
			||||||
 | 
					FFBBFFFLLL
 | 
				
			||||||
 | 
					FBFBBFBRRR
 | 
				
			||||||
 | 
					FBBBFFFLRL
 | 
				
			||||||
 | 
					FBBFFBFLRR
 | 
				
			||||||
 | 
					FBBBBBFRRL
 | 
				
			||||||
 | 
					BFFFBBBLRL
 | 
				
			||||||
 | 
					FFFBBFBRLL
 | 
				
			||||||
 | 
					FFFFFBBLLR
 | 
				
			||||||
 | 
					FFBFBBBRLL
 | 
				
			||||||
 | 
					FFBBFBFLLR
 | 
				
			||||||
 | 
					FBFBBFFLLL
 | 
				
			||||||
 | 
					FFFBFFBRLL
 | 
				
			||||||
 | 
					BFBBFBFRLR
 | 
				
			||||||
 | 
					BFBFBBFRRL
 | 
				
			||||||
 | 
					FFFBFFFLRL
 | 
				
			||||||
 | 
					FBBFBBFRLR
 | 
				
			||||||
 | 
					BFFBFFBRRL
 | 
				
			||||||
 | 
					BBFFFBBRLR
 | 
				
			||||||
 | 
					FBBBBBFRLL
 | 
				
			||||||
 | 
					FFBBFFFRLL
 | 
				
			||||||
 | 
					BBFBFBBRLR
 | 
				
			||||||
 | 
					FFBBBFFLLR
 | 
				
			||||||
 | 
					BFBBBBBLLL
 | 
				
			||||||
 | 
					FFFBFBBLLL
 | 
				
			||||||
 | 
					FBFFBFFRRL
 | 
				
			||||||
 | 
					FBFBFFBLLL
 | 
				
			||||||
 | 
					BFFBBBFRRL
 | 
				
			||||||
 | 
					FBBBBBFLLL
 | 
				
			||||||
 | 
					FBFBBFBLRR
 | 
				
			||||||
 | 
					FFBBBBFLLR
 | 
				
			||||||
 | 
					BBFFBFFRRL
 | 
				
			||||||
 | 
					FBBBBBFLRR
 | 
				
			||||||
 | 
					FBFFFFFRLR
 | 
				
			||||||
 | 
					FBFFBBFLLR
 | 
				
			||||||
 | 
					FFBBBFBLRR
 | 
				
			||||||
 | 
					BFFFBBBRRL
 | 
				
			||||||
 | 
					FBFBFBFRRL
 | 
				
			||||||
 | 
					FFFBFBBRLL
 | 
				
			||||||
 | 
					FFBFBFBLRL
 | 
				
			||||||
 | 
					FBBBFBBLLL
 | 
				
			||||||
 | 
					FBBBFBFLRL
 | 
				
			||||||
 | 
					FBBBBFFLRL
 | 
				
			||||||
 | 
					FBFBBBBRLR
 | 
				
			||||||
 | 
					FBBFFBFLLR
 | 
				
			||||||
 | 
					FBFFBBFLRR
 | 
				
			||||||
 | 
					FBFFFBBLLL
 | 
				
			||||||
 | 
					BBFFBBFRRR
 | 
				
			||||||
 | 
					FBBFBBBRLL
 | 
				
			||||||
 | 
					BFFBBBFLLR
 | 
				
			||||||
 | 
					FBFFFFFLRR
 | 
				
			||||||
 | 
					FBFFBBFRRL
 | 
				
			||||||
 | 
					BFFBBFBLLL
 | 
				
			||||||
 | 
					FBBBFBBLLR
 | 
				
			||||||
 | 
					FBBBBFBLRL
 | 
				
			||||||
 | 
					FBBBFFFRRR
 | 
				
			||||||
 | 
					FFFFBBFRRR
 | 
				
			||||||
 | 
					BFBFFFFRRR
 | 
				
			||||||
 | 
					BFBFFBBLRL
 | 
				
			||||||
 | 
					BFFFFFBLLR
 | 
				
			||||||
 | 
					BFBBFFFRRR
 | 
				
			||||||
 | 
					FBFFFBFRRL
 | 
				
			||||||
 | 
					BFFBBFFLRL
 | 
				
			||||||
 | 
					FFFBFFBRRL
 | 
				
			||||||
 | 
					FFBFBFBLLL
 | 
				
			||||||
 | 
					FFBFBFFLLL
 | 
				
			||||||
 | 
					BBFFFBBRRR
 | 
				
			||||||
 | 
					FFFFFBFLRL
 | 
				
			||||||
 | 
					BFBFFFBLRL
 | 
				
			||||||
 | 
					BFBFBFFLRR
 | 
				
			||||||
 | 
					BFFBBBBRLL
 | 
				
			||||||
 | 
					BFFFBFFRRR
 | 
				
			||||||
 | 
					BBFBFFBRLL
 | 
				
			||||||
 | 
					FBFFFBBRRL
 | 
				
			||||||
 | 
					FFBBFBBRRL
 | 
				
			||||||
 | 
					FFBFFFFLLR
 | 
				
			||||||
 | 
					FFFBFFFLLL
 | 
				
			||||||
 | 
					FBBFFBBLRL
 | 
				
			||||||
 | 
					BFBFBBFLLR
 | 
				
			||||||
 | 
					FBFBFFFRRL
 | 
				
			||||||
 | 
					BBFFFFFLRR
 | 
				
			||||||
 | 
					BBFFFBFLRL
 | 
				
			||||||
 | 
					BBFFBBBLLL
 | 
				
			||||||
 | 
					BFBBFBFLLL
 | 
				
			||||||
 | 
					BFBFFBFRRL
 | 
				
			||||||
 | 
					FBFFFFBRRL
 | 
				
			||||||
 | 
					FBFFBBBRLR
 | 
				
			||||||
 | 
					BFBBFBBRLL
 | 
				
			||||||
 | 
					BFFBBFFLLR
 | 
				
			||||||
 | 
					FBBBFFBLRL
 | 
				
			||||||
 | 
					BFFFBFFRLR
 | 
				
			||||||
 | 
					FFFBFFBRLR
 | 
				
			||||||
 | 
					BFFBBBFLLL
 | 
				
			||||||
 | 
					FBBBBFFRLL
 | 
				
			||||||
 | 
					FFFFBBBRLR
 | 
				
			||||||
 | 
					FBFFBFFLRR
 | 
				
			||||||
 | 
					FBFBFBBRRL
 | 
				
			||||||
 | 
					FFFFFFBRRR
 | 
				
			||||||
 | 
					FFFBBBFLRL
 | 
				
			||||||
 | 
					FBFFBFBLLR
 | 
				
			||||||
 | 
					FFFBBBBLRL
 | 
				
			||||||
 | 
					BBFBFFBLLL
 | 
				
			||||||
 | 
					FBFFFFBLLR
 | 
				
			||||||
 | 
					BBFBFBBRRR
 | 
				
			||||||
 | 
					BFBFFFBRRR
 | 
				
			||||||
 | 
					FBBFBFFRLL
 | 
				
			||||||
 | 
					FBBBBFFRLR
 | 
				
			||||||
 | 
					FFBBFBBLRL
 | 
				
			||||||
 | 
					BBFBFFBLLR
 | 
				
			||||||
 | 
					FBBBBBBLRL
 | 
				
			||||||
 | 
					BFFFBBFLLL
 | 
				
			||||||
 | 
					BBFBBFFLLR
 | 
				
			||||||
 | 
					FBFFBFBLRL
 | 
				
			||||||
 | 
					BFFFBBBLRR
 | 
				
			||||||
 | 
					BBFFFFFRRR
 | 
				
			||||||
 | 
					BFBFBBBRLR
 | 
				
			||||||
 | 
					BBFFFBFLRR
 | 
				
			||||||
 | 
					FBBFBBFLLR
 | 
				
			||||||
 | 
					BBFBFFBLRR
 | 
				
			||||||
 | 
					BFBBBFFLRR
 | 
				
			||||||
 | 
					FBBFBFFRRL
 | 
				
			||||||
 | 
					FBFBFBBLRR
 | 
				
			||||||
 | 
					BFBBFFBRLL
 | 
				
			||||||
 | 
					FFFBBFBRLR
 | 
				
			||||||
 | 
					BFFBBBFRRR
 | 
				
			||||||
 | 
					FBFFBFFRLR
 | 
				
			||||||
 | 
					FFFBBBBRLL
 | 
				
			||||||
 | 
					FFFFFBBRLR
 | 
				
			||||||
 | 
					FBBFBFBLLR
 | 
				
			||||||
 | 
					FBBFBBFLRR
 | 
				
			||||||
 | 
					BBFFBBFLLR
 | 
				
			||||||
 | 
					FFFBFBBLLR
 | 
				
			||||||
 | 
					FFBFBFFLRR
 | 
				
			||||||
 | 
					BFBBFBFRLL
 | 
				
			||||||
 | 
					BFFFFBFRRR
 | 
				
			||||||
 | 
					BBFBFFFLRL
 | 
				
			||||||
 | 
					BFFFFBFLLL
 | 
				
			||||||
 | 
					FBFBFBFLRL
 | 
				
			||||||
 | 
					BFBBFBBLLR
 | 
				
			||||||
 | 
					BFFBFFFRLL
 | 
				
			||||||
 | 
					BBFBFFFRLR
 | 
				
			||||||
 | 
					BBFFBFFRLL
 | 
				
			||||||
 | 
					FFFBFBBRLR
 | 
				
			||||||
 | 
					FBFBBBFLRL
 | 
				
			||||||
 | 
					FFBFFBBRLR
 | 
				
			||||||
 | 
					BBFFFBBLRL
 | 
				
			||||||
 | 
					BFBBBBFLRR
 | 
				
			||||||
 | 
					FFBFFFBLRL
 | 
				
			||||||
 | 
					FFBBBFBRLL
 | 
				
			||||||
 | 
					BBFFBFFLRR
 | 
				
			||||||
 | 
					BBFFBFFRLR
 | 
				
			||||||
 | 
					FFFFFBFRRR
 | 
				
			||||||
 | 
					BBFBFBBLRL
 | 
				
			||||||
 | 
					BFFBBBBLLL
 | 
				
			||||||
 | 
					FBBBBFBRRR
 | 
				
			||||||
 | 
					FFBBBBBLRL
 | 
				
			||||||
 | 
					FBBFBBFRRR
 | 
				
			||||||
 | 
					FFBBFFBRLL
 | 
				
			||||||
 | 
					BFBFBFBLRR
 | 
				
			||||||
 | 
					BBFBFFFRRR
 | 
				
			||||||
 | 
					BFFFBBFRRR
 | 
				
			||||||
 | 
					FBFBFFFLLL
 | 
				
			||||||
 | 
					FBBFBFBRRR
 | 
				
			||||||
 | 
					BBFFBFBLLR
 | 
				
			||||||
 | 
					BBFBFBFLRR
 | 
				
			||||||
 | 
					BFFFFBBLRL
 | 
				
			||||||
 | 
					BFBBBFFLRL
 | 
				
			||||||
 | 
					BBFBFFBLRL
 | 
				
			||||||
 | 
					BFFBBFFRLL
 | 
				
			||||||
 | 
					FBFFBFFLLR
 | 
				
			||||||
 | 
					FBFBFBBLLL
 | 
				
			||||||
 | 
					BBFBFBFLRL
 | 
				
			||||||
 | 
					BBFFBBBLRL
 | 
				
			||||||
 | 
					FFFFFBBRLL
 | 
				
			||||||
 | 
					FFFBBBBRRR
 | 
				
			||||||
 | 
					FFBBFFFRLR
 | 
				
			||||||
 | 
					FFBFFFBRRR
 | 
				
			||||||
 | 
					FBFBFFBLRR
 | 
				
			||||||
 | 
					FFBFFBBLLL
 | 
				
			||||||
 | 
					FBBFBBFLRL
 | 
				
			||||||
 | 
					FBFFBBBLRL
 | 
				
			||||||
 | 
					FBBBBFFRRR
 | 
				
			||||||
 | 
					BFBBBBBLLR
 | 
				
			||||||
 | 
					FFBFBBBLRR
 | 
				
			||||||
 | 
					FFFFBFBLRR
 | 
				
			||||||
 | 
					BFFFFFFRLL
 | 
				
			||||||
 | 
					FBBFFFBLRR
 | 
				
			||||||
 | 
					BFBBBBBRLL
 | 
				
			||||||
 | 
					FFBBFFBLRL
 | 
				
			||||||
 | 
					BFBBBFFRLR
 | 
				
			||||||
 | 
					FFBFFBFLLL
 | 
				
			||||||
 | 
					FFBBFBFRLR
 | 
				
			||||||
 | 
					BFBFFBBLRR
 | 
				
			||||||
 | 
					FFFFBFFLRR
 | 
				
			||||||
 | 
					FFBFFBFLRL
 | 
				
			||||||
 | 
					BBFFBBFRRL
 | 
				
			||||||
 | 
					FFBFFFFLLL
 | 
				
			||||||
 | 
					BBFBFFBRLR
 | 
				
			||||||
 | 
					FBFBFBBRLR
 | 
				
			||||||
 | 
					BBFFBBBRRR
 | 
				
			||||||
 | 
					FBFFBBBRLL
 | 
				
			||||||
 | 
					BFBFFBBRRR
 | 
				
			||||||
 | 
					BBFFFBFRLL
 | 
				
			||||||
 | 
					FBBFBBBLRL
 | 
				
			||||||
 | 
					FBBFFFFLRR
 | 
				
			||||||
 | 
					BBFFFBBLLL
 | 
				
			||||||
 | 
					FFBFFFFLRL
 | 
				
			||||||
 | 
					FBBFFBFLRL
 | 
				
			||||||
 | 
					FBBBBFFLLR
 | 
				
			||||||
 | 
					BFBBFBFRRR
 | 
				
			||||||
 | 
					FBBFFFBLLL
 | 
				
			||||||
 | 
					FFBFBFFRLL
 | 
				
			||||||
 | 
					FFFBBBFLRR
 | 
				
			||||||
 | 
					FFFBFFFLRR
 | 
				
			||||||
 | 
					FBFFBFFRRR
 | 
				
			||||||
 | 
					BFFFBFFLLR
 | 
				
			||||||
 | 
					BFFFFFFRLR
 | 
				
			||||||
 | 
					BFFFBFFLLL
 | 
				
			||||||
 | 
					FBBBFBBRRL
 | 
				
			||||||
 | 
					BFBFFFBLLL
 | 
				
			||||||
 | 
					FBFBBBBRRR
 | 
				
			||||||
 | 
					BFBBBFBRLR
 | 
				
			||||||
 | 
					BBFFFFBRLR
 | 
				
			||||||
 | 
					FBFFFFFRLL
 | 
				
			||||||
 | 
					FBBFFBBRLR
 | 
				
			||||||
 | 
					BBFBBFFLRR
 | 
				
			||||||
 | 
					BBFFBFFLLR
 | 
				
			||||||
 | 
					BBFFBBFRLL
 | 
				
			||||||
 | 
					FBFFFFFRRL
 | 
				
			||||||
 | 
					FFBFBBFRRR
 | 
				
			||||||
 | 
					FFBFFFFRLL
 | 
				
			||||||
 | 
					BFFFFBBLRR
 | 
				
			||||||
 | 
					BFBFBFBLRL
 | 
				
			||||||
 | 
					FBBFFFFRRR
 | 
				
			||||||
 | 
					FFBBFBBRRR
 | 
				
			||||||
 | 
					BFBBBBBRLR
 | 
				
			||||||
 | 
					FBFFFBBLLR
 | 
				
			||||||
 | 
					BBFFFBFRLR
 | 
				
			||||||
 | 
					FBFFFBBRRR
 | 
				
			||||||
 | 
					FBBFFBFRLR
 | 
				
			||||||
 | 
					BFFFBFBRRR
 | 
				
			||||||
 | 
					FFBBBBBLLL
 | 
				
			||||||
 | 
					FFFFFBFLLR
 | 
				
			||||||
 | 
					FBBFBFBRLL
 | 
				
			||||||
 | 
					BFBFBFBRRL
 | 
				
			||||||
 | 
					BBFFFFBRRL
 | 
				
			||||||
 | 
					FFBFBBFLLR
 | 
				
			||||||
 | 
					FFBBBFFRRL
 | 
				
			||||||
 | 
					FBFFBFBRLR
 | 
				
			||||||
 | 
					FBBFFFFRLL
 | 
				
			||||||
 | 
					BFFBFFFLLR
 | 
				
			||||||
 | 
					FBFFFBBLRR
 | 
				
			||||||
 | 
					BFFBFFFLLL
 | 
				
			||||||
 | 
					BFBFBBBRRR
 | 
				
			||||||
 | 
					BFFFFBFLRL
 | 
				
			||||||
 | 
					FFFFBFBLLL
 | 
				
			||||||
 | 
					FFFBFFBLLL
 | 
				
			||||||
 | 
					BFFFBBFRRL
 | 
				
			||||||
 | 
					BFBFBBFRLL
 | 
				
			||||||
 | 
					FFFBBBBLLL
 | 
				
			||||||
 | 
					BFFBFBBRLR
 | 
				
			||||||
 | 
					BFBBBBBLRR
 | 
				
			||||||
 | 
					BFBBBFBRRL
 | 
				
			||||||
 | 
					FFBFFFBRLR
 | 
				
			||||||
 | 
					BFFBFFFLRL
 | 
				
			||||||
 | 
					FFBFBBBLLL
 | 
				
			||||||
 | 
					BFBFBBFRRR
 | 
				
			||||||
 | 
					BFBFFBFRRR
 | 
				
			||||||
 | 
					FFBFFFBRLL
 | 
				
			||||||
 | 
					FBFFFFFLRL
 | 
				
			||||||
 | 
					BBFFBBFLLL
 | 
				
			||||||
 | 
					BFBFBBBRLL
 | 
				
			||||||
 | 
					FFFBFFFRRL
 | 
				
			||||||
 | 
					FBBBBBBLLR
 | 
				
			||||||
 | 
					FFFBFBBLRL
 | 
				
			||||||
 | 
					FBBFBBFRLL
 | 
				
			||||||
 | 
					FFBFFFFRRR
 | 
				
			||||||
 | 
					FFFBBBFLLR
 | 
				
			||||||
 | 
					BFFBBFFRLR
 | 
				
			||||||
 | 
					FFFFFBFLRR
 | 
				
			||||||
 | 
					FFFBBBBLLR
 | 
				
			||||||
 | 
					FBFFBFBRRL
 | 
				
			||||||
 | 
					FBBFFFFLLL
 | 
				
			||||||
 | 
					FFFFFBFRRL
 | 
				
			||||||
 | 
					BFFBBBFRLL
 | 
				
			||||||
 | 
					FFFBBFFRLL
 | 
				
			||||||
 | 
					FFFBBFFLRR
 | 
				
			||||||
 | 
					FFFFBBFRLL
 | 
				
			||||||
 | 
					BFBBBBBRRR
 | 
				
			||||||
 | 
					BFFBFBFLLL
 | 
				
			||||||
 | 
					BBFBFBFLLR
 | 
				
			||||||
 | 
					FFBBBBFRLR
 | 
				
			||||||
 | 
					FFFBBBFRLL
 | 
				
			||||||
 | 
					BFBBBBFRRR
 | 
				
			||||||
 | 
					FBFBFFBRLR
 | 
				
			||||||
 | 
					FFBFBBFRRL
 | 
				
			||||||
 | 
					BBFFBBBRRL
 | 
				
			||||||
 | 
					FFBFBBFRLR
 | 
				
			||||||
 | 
					FFFFBFFRLL
 | 
				
			||||||
 | 
					FBFFFBBRLL
 | 
				
			||||||
 | 
					BBFFBFBRRL
 | 
				
			||||||
 | 
					BFBFBFBLLR
 | 
				
			||||||
 | 
					FBFBFBBLRL
 | 
				
			||||||
 | 
					FBBFFFFRRL
 | 
				
			||||||
 | 
					FFFBBFFRRR
 | 
				
			||||||
 | 
					FFBBBBBLRR
 | 
				
			||||||
 | 
					BBFBFBBLRR
 | 
				
			||||||
 | 
					FFFFBBBLRR
 | 
				
			||||||
 | 
					FFBBBBBRLL
 | 
				
			||||||
 | 
					FFBFFFBRRL
 | 
				
			||||||
 | 
					BFBBFFFRLL
 | 
				
			||||||
 | 
					FBBBFBFRLL
 | 
				
			||||||
 | 
					BBFFBFFLRL
 | 
				
			||||||
 | 
					BBFFBFBRLR
 | 
				
			||||||
 | 
					BFFBBBBRRR
 | 
				
			||||||
 | 
					FBBBBBBRRL
 | 
				
			||||||
 | 
					BBFBFFFRLL
 | 
				
			||||||
 | 
					BFFBBFFRRR
 | 
				
			||||||
 | 
					BFBBFFFRRL
 | 
				
			||||||
 | 
					FFBFFBFLRR
 | 
				
			||||||
 | 
					FBFBBFFRLL
 | 
				
			||||||
 | 
					FBBFBBFRRL
 | 
				
			||||||
 | 
					BBFBBFFRRR
 | 
				
			||||||
 | 
					FFBBFBFRRL
 | 
				
			||||||
 | 
					FFBBFBFLLL
 | 
				
			||||||
 | 
					FBBFFFFLLR
 | 
				
			||||||
 | 
					BFBFFBBRLR
 | 
				
			||||||
 | 
					BFBBFFFLLR
 | 
				
			||||||
 | 
					FBBBFFFLLL
 | 
				
			||||||
 | 
					FFFBFFBLRR
 | 
				
			||||||
 | 
					FFFBFBFRLR
 | 
				
			||||||
 | 
					BFFBBBBRLR
 | 
				
			||||||
 | 
					FBFFBBBLLR
 | 
				
			||||||
 | 
					FFFFBBBRRR
 | 
				
			||||||
 | 
					FFBBBBFLLL
 | 
				
			||||||
 | 
					FBBBBFBLLR
 | 
				
			||||||
 | 
					BFBFBFFRRL
 | 
				
			||||||
 | 
					BBFFBBBLRR
 | 
				
			||||||
 | 
					FBBFFBFRRL
 | 
				
			||||||
 | 
					FFFBBBFLLL
 | 
				
			||||||
 | 
					BFFFFBBLLL
 | 
				
			||||||
 | 
					BBFBFBFRRR
 | 
				
			||||||
 | 
					BFBBBFBLRR
 | 
				
			||||||
 | 
					FBBFBBBLLR
 | 
				
			||||||
 | 
					FFBBBBFLRL
 | 
				
			||||||
 | 
					FFFBFFBLRL
 | 
				
			||||||
 | 
					FBBBFFBRRL
 | 
				
			||||||
 | 
					BFFBBFBRLL
 | 
				
			||||||
 | 
					BFBFBFBRRR
 | 
				
			||||||
 | 
					BBFBFBBRLL
 | 
				
			||||||
 | 
					FBFFFBFRLL
 | 
				
			||||||
 | 
					BFFFBFBLRR
 | 
				
			||||||
 | 
					BFBFFFFLRL
 | 
				
			||||||
 | 
					BBFFFFBLRR
 | 
				
			||||||
 | 
					BFBBFFBRRL
 | 
				
			||||||
 | 
					BBFBFBBLLR
 | 
				
			||||||
 | 
					FFFBBBFRRL
 | 
				
			||||||
 | 
					BFBBBFFRRL
 | 
				
			||||||
 | 
					FFBFFBFLLR
 | 
				
			||||||
 | 
					FFBBBFBLLL
 | 
				
			||||||
 | 
					FBFBBBFLLL
 | 
				
			||||||
 | 
					FFBBBBBRLR
 | 
				
			||||||
 | 
					BBFFBBBRLL
 | 
				
			||||||
 | 
					BFBFBBBRRL
 | 
				
			||||||
 | 
					FFBBFBBRLL
 | 
				
			||||||
 | 
					FBFBBFBLRL
 | 
				
			||||||
 | 
					BBFFBFBLLL
 | 
				
			||||||
 | 
					FBFBFFFLRL
 | 
				
			||||||
 | 
					FFBFFBBLRL
 | 
				
			||||||
 | 
					FFBFBBFLRL
 | 
				
			||||||
 | 
					BBFBFBBLLL
 | 
				
			||||||
 | 
					FFBBFBFRLL
 | 
				
			||||||
 | 
					BBFBBFFLLL
 | 
				
			||||||
 | 
					FBFFFFBLRL
 | 
				
			||||||
 | 
					FBFBBBFRLR
 | 
				
			||||||
 | 
					FFBFFBFRLL
 | 
				
			||||||
 | 
					FBBFFFBRRR
 | 
				
			||||||
 | 
					FBFBFFBLRL
 | 
				
			||||||
 | 
					BFFFFBBLLR
 | 
				
			||||||
 | 
					FBFBFBBRRR
 | 
				
			||||||
 | 
					BBFFBBFLRL
 | 
				
			||||||
 | 
					BFBBFFFRLR
 | 
				
			||||||
 | 
					FBFFFFFLLR
 | 
				
			||||||
 | 
					FBBFFBBLLL
 | 
				
			||||||
 | 
					FFFFFBBRRL
 | 
				
			||||||
 | 
					FFFBBFBRRL
 | 
				
			||||||
 | 
					BFFBBBBRRL
 | 
				
			||||||
 | 
					FBFFFBFLRL
 | 
				
			||||||
 | 
					FFBBFFFLLR
 | 
				
			||||||
 | 
					FBBBBBBLRR
 | 
				
			||||||
 | 
					BFFFBBFRLL
 | 
				
			||||||
 | 
					FFBFFFBLLR
 | 
				
			||||||
 | 
					FBBBFFFRLL
 | 
				
			||||||
 | 
					FFFFBBBLRL
 | 
				
			||||||
 | 
					BBFFBFBLRR
 | 
				
			||||||
 | 
					FFFFBBFLRR
 | 
				
			||||||
 | 
					BFFBFBFRLR
 | 
				
			||||||
 | 
					FFBFBBBLRL
 | 
				
			||||||
 | 
					FBFBFBFLLR
 | 
				
			||||||
 | 
					FFBBFBBRLR
 | 
				
			||||||
 | 
					BFBFBFFRRR
 | 
				
			||||||
 | 
					BBFFFFBRLL
 | 
				
			||||||
 | 
					FFBFBFFRRR
 | 
				
			||||||
 | 
					FFBFBBFLRR
 | 
				
			||||||
 | 
					BFBBFBFLRR
 | 
				
			||||||
 | 
					FFFFBBBLLR
 | 
				
			||||||
 | 
					FFBBBBBRRL
 | 
				
			||||||
 | 
					FBBFFBBRRR
 | 
				
			||||||
 | 
					FFFBBBBRLR
 | 
				
			||||||
 | 
					BFFBBBFLRL
 | 
				
			||||||
 | 
					BFBBFFBRRR
 | 
				
			||||||
 | 
					BBFFBBFRLR
 | 
				
			||||||
 | 
					FBBBBBFLRL
 | 
				
			||||||
 | 
					FFFBBFFLLL
 | 
				
			||||||
 | 
					BFBBBFFRLL
 | 
				
			||||||
 | 
					FBFFFFFLLL
 | 
				
			||||||
 | 
					FBFBBFBLLL
 | 
				
			||||||
 | 
					FFFBFFBRRR
 | 
				
			||||||
 | 
					BFBFBFFLLL
 | 
				
			||||||
 | 
					BFBFBFBLLL
 | 
				
			||||||
 | 
					BFBBBFFLLL
 | 
				
			||||||
 | 
					FFFFBBFRLR
 | 
				
			||||||
 | 
					BFFBBFBRRL
 | 
				
			||||||
 | 
					BFBBFBBLLL
 | 
				
			||||||
 | 
					FBBFBFBRLR
 | 
				
			||||||
 | 
					BFFFBFFLRL
 | 
				
			||||||
 | 
					FBFBBFFLRL
 | 
				
			||||||
 | 
					FFFFFBFLLL
 | 
				
			||||||
 | 
					FBBFFBFRRR
 | 
				
			||||||
 | 
					FBFBBBBLLL
 | 
				
			||||||
 | 
					FBBBBBFRLR
 | 
				
			||||||
 | 
					FBFFBBFRLL
 | 
				
			||||||
 | 
					FFBFFBFRRR
 | 
				
			||||||
 | 
					FFBFFFFRRL
 | 
				
			||||||
 | 
					BFFBFBBLLR
 | 
				
			||||||
 | 
					BFBBFBBRRR
 | 
				
			||||||
 | 
					FFBBFBBLRR
 | 
				
			||||||
 | 
					FBFFFFBRLR
 | 
				
			||||||
 | 
					FFBBBBFRLL
 | 
				
			||||||
 | 
					BBFFFBFRRR
 | 
				
			||||||
 | 
					FFFBFBBRRR
 | 
				
			||||||
 | 
					BFFFBFFRLL
 | 
				
			||||||
 | 
					BFFBBBBLRR
 | 
				
			||||||
 | 
					FBBBBFBLLL
 | 
				
			||||||
 | 
					BFFFFFFLLR
 | 
				
			||||||
 | 
					BFBFFFFLRR
 | 
				
			||||||
 | 
					BFFBBBBLLR
 | 
				
			||||||
 | 
					FFBBBFBRRR
 | 
				
			||||||
 | 
					FBBFBFFRRR
 | 
				
			||||||
 | 
					FBBFFFBRLR
 | 
				
			||||||
 | 
					BFBFBBFRLR
 | 
				
			||||||
 | 
					BFFBFFBRLL
 | 
				
			||||||
 | 
					FBFBBFBRLR
 | 
				
			||||||
 | 
					BFFFFFBLRR
 | 
				
			||||||
 | 
					BFFBFFBRRR
 | 
				
			||||||
 | 
					BFBFFBFLRL
 | 
				
			||||||
 | 
					BBFFFBFLLL
 | 
				
			||||||
 | 
					BBFBFBFLLL
 | 
				
			||||||
 | 
					BFBFBFFLRL
 | 
				
			||||||
 | 
					FBBFBFFLLL
 | 
				
			||||||
 | 
					FBFFBFBLLL
 | 
				
			||||||
 | 
					BFFFBFBRLR
 | 
				
			||||||
 | 
					FFFBFFFRLL
 | 
				
			||||||
 | 
					BBFBFFFLLL
 | 
				
			||||||
 | 
					BFFFBBBRLR
 | 
				
			||||||
 | 
					FBFBFBFLRR
 | 
				
			||||||
 | 
					FFBBBBFRRR
 | 
				
			||||||
 | 
					FBFBFBFRLR
 | 
				
			||||||
 | 
					BBFFBFFLLL
 | 
				
			||||||
 | 
					FBBBBFBLRR
 | 
				
			||||||
 | 
					FBBBBBFLLR
 | 
				
			||||||
 | 
					BFBFFFFRLL
 | 
				
			||||||
 | 
					FBFFFBFLRR
 | 
				
			||||||
 | 
					FFBFFFBLLL
 | 
				
			||||||
 | 
					BFBFFBBLLR
 | 
				
			||||||
 | 
					FFBBBFBLLR
 | 
				
			||||||
 | 
					FBFFFBBLRL
 | 
				
			||||||
 | 
					FFBBBFFRRR
 | 
				
			||||||
 | 
					FBBBFBFLLR
 | 
				
			||||||
 | 
					FBBBBFFLRR
 | 
				
			||||||
 | 
					FBFFBBBLLL
 | 
				
			||||||
 | 
					FFBFBFFLLR
 | 
				
			||||||
 | 
					FFFFFBBLLL
 | 
				
			||||||
 | 
					BFFFFFBLRL
 | 
				
			||||||
 | 
					BBFFFFBRRR
 | 
				
			||||||
 | 
					BFBFFFBRRL
 | 
				
			||||||
 | 
					BBFFFFFRRL
 | 
				
			||||||
 | 
					BFBBBBBLRL
 | 
				
			||||||
 | 
					FBBBBFBRLL
 | 
				
			||||||
 | 
					FFBFFFFLRR
 | 
				
			||||||
 | 
					BFBBBFFLLR
 | 
				
			||||||
 | 
					BFFFFBBRLR
 | 
				
			||||||
 | 
					FFBBFFBRRL
 | 
				
			||||||
 | 
					BFBFBFFRLR
 | 
				
			||||||
 | 
					FFBBBBFLRR
 | 
				
			||||||
 | 
					BFBFFBFLLL
 | 
				
			||||||
 | 
					FBBFFBBRRL
 | 
				
			||||||
 | 
					FFFBBFFLLR
 | 
				
			||||||
 | 
					FFFFBFFRRR
 | 
				
			||||||
 | 
					BFFBBBFRLR
 | 
				
			||||||
 | 
					BFFFFFBRRR
 | 
				
			||||||
 | 
					FFBFBFBLLR
 | 
				
			||||||
 | 
					FFFBBBFRRR
 | 
				
			||||||
 | 
					BBFBFBFRLR
 | 
				
			||||||
 | 
					FFBBFFBLLR
 | 
				
			||||||
 | 
					FBFBBBBLRL
 | 
				
			||||||
 | 
					FFFBFBFLRL
 | 
				
			||||||
 | 
					FFFFBBBRLL
 | 
				
			||||||
 | 
					FBFFFFBRRR
 | 
				
			||||||
 | 
					FFBBBFFRLL
 | 
				
			||||||
 | 
					FBFBFFBRRL
 | 
				
			||||||
 | 
					BFFBFFBLLL
 | 
				
			||||||
 | 
					FFFFFBFRLL
 | 
				
			||||||
 | 
					BBFFFBBRLL
 | 
				
			||||||
 | 
					FBBFBFBLRL
 | 
				
			||||||
 | 
					BFBFBFFLLR
 | 
				
			||||||
 | 
					BFBBFBBRLR
 | 
				
			||||||
 | 
					FFBFFFBLRR
 | 
				
			||||||
 | 
					BBFBFFFLRR
 | 
				
			||||||
 | 
					FBBFBBBLRR
 | 
				
			||||||
 | 
					FBBBFFBLLR
 | 
				
			||||||
 | 
					BFBBBBBRRL
 | 
				
			||||||
 | 
					BFBBFFBLLR
 | 
				
			||||||
 | 
					FBBBFBFLRR
 | 
				
			||||||
 | 
					BFFBFBBLLL
 | 
				
			||||||
 | 
					BFFBFFBLRL
 | 
				
			||||||
 | 
					BFBFBFBRLR
 | 
				
			||||||
 | 
					FBFFBBBLRR
 | 
				
			||||||
 | 
					FBFBBBBRRL
 | 
				
			||||||
 | 
					BFBFBBFLLL
 | 
				
			||||||
 | 
					FBFBBBBLRR
 | 
				
			||||||
 | 
					BFFBBFBRLR
 | 
				
			||||||
 | 
					FFFBFBFRRL
 | 
				
			||||||
 | 
					BFFFFBBRRR
 | 
				
			||||||
 | 
					FBFFBBFRLR
 | 
				
			||||||
 | 
					BFBBFBFLRL
 | 
				
			||||||
 | 
					BFFFBBBLLL
 | 
				
			||||||
 | 
					BFFFFFBRLR
 | 
				
			||||||
 | 
					BBFFFFBLRL
 | 
				
			||||||
 | 
					BFFBFFFRRR
 | 
				
			||||||
 | 
					BFBBBBFRLL
 | 
				
			||||||
 | 
					FBFBBFBRLL
 | 
				
			||||||
 | 
					FBBFFFBLLR
 | 
				
			||||||
 | 
					FFFBBFBRRR
 | 
				
			||||||
 | 
					FBFBBBBLLR
 | 
				
			||||||
 | 
					FFFFBFFLLL
 | 
				
			||||||
 | 
					FFFFFBFRLR
 | 
				
			||||||
 | 
					BFFFFBFRLR
 | 
				
			||||||
 | 
					FBBFFFBLRL
 | 
				
			||||||
 | 
					BFBFFBFLRR
 | 
				
			||||||
 | 
					FFFFFFBRLL
 | 
				
			||||||
 | 
					FFBBFFFLRL
 | 
				
			||||||
 | 
					BBFFFFBLLL
 | 
				
			||||||
 | 
					FFFBBFFRRL
 | 
				
			||||||
 | 
					FBBFBBFLLL
 | 
				
			||||||
 | 
					FBFFBFBLRR
 | 
				
			||||||
 | 
					FFBBFBBLLL
 | 
				
			||||||
 | 
					BFFFBBBRRR
 | 
				
			||||||
 | 
					BFFFBBBLLR
 | 
				
			||||||
 | 
					BBFBFBFRLL
 | 
				
			||||||
 | 
					BFFFBBFRLR
 | 
				
			||||||
 | 
					FFBFBBBRRL
 | 
				
			||||||
 | 
					FBFBFFFRRR
 | 
				
			||||||
 | 
					FBBBBBBRRR
 | 
				
			||||||
 | 
					FFBBBFFLRL
 | 
				
			||||||
 | 
					BFFBFBBRRL
 | 
				
			||||||
 | 
					BFBFBFFRLL
 | 
				
			||||||
 | 
					BFFFBFFRRL
 | 
				
			||||||
 | 
					BBFFBBBRLR
 | 
				
			||||||
 | 
					BBFFFFFRLL
 | 
				
			||||||
 | 
					FFBBFFBRRR
 | 
				
			||||||
 | 
					FBBFBFFLLR
 | 
				
			||||||
 | 
					FBBBFBBRLR
 | 
				
			||||||
 | 
					FFBFFBBRRL
 | 
				
			||||||
 | 
					FBBBFFBLLL
 | 
				
			||||||
 | 
					FBBFFFBRRL
 | 
				
			||||||
 | 
					BFFBFFFRRL
 | 
				
			||||||
 | 
					FBBFBFFRLR
 | 
				
			||||||
 | 
					BFFBBBBLRL
 | 
				
			||||||
 | 
					FFBFFBBRRR
 | 
				
			||||||
 | 
					FBFBBBFLRR
 | 
				
			||||||
 | 
					BFBBBBFRLR
 | 
				
			||||||
 | 
					FFFBFBFLLL
 | 
				
			||||||
 | 
					FBBBBBBRLL
 | 
				
			||||||
 | 
					FFBFFBBLRR
 | 
				
			||||||
 | 
					BBFFFFFLLR
 | 
				
			||||||
 | 
					FFFFBBFRRL
 | 
				
			||||||
 | 
					BBFFFFFRLR
 | 
				
			||||||
 | 
					FBFBFFBRLL
 | 
				
			||||||
 | 
					BBFFBFBRRR
 | 
				
			||||||
 | 
					FBFFFBFLLR
 | 
				
			||||||
 | 
					FFBBFBBLLR
 | 
				
			||||||
 | 
					FBFBFFFRLL
 | 
				
			||||||
 | 
					BFBBBFBRLL
 | 
				
			||||||
 | 
					FFFFFFBRLR
 | 
				
			||||||
 | 
					FFBBFFFRRL
 | 
				
			||||||
 | 
					BBFBBFFRLL
 | 
				
			||||||
 | 
					FBBFFFFRLR
 | 
				
			||||||
 | 
					BBFBBFFLRL
 | 
				
			||||||
 | 
					FBBFFBBLLR
 | 
				
			||||||
 | 
					BFFFBBFLLR
 | 
				
			||||||
 | 
					BBFBFBBRRL
 | 
				
			||||||
 | 
					BFFBFFBLLR
 | 
				
			||||||
 | 
					FFBBFBFRRR
 | 
				
			||||||
 | 
					FBBBBFBRLR
 | 
				
			||||||
 | 
					FFFBFBFLLR
 | 
				
			||||||
 | 
					FFBBBFBRRL
 | 
				
			||||||
 | 
					FFBBBFFLLL
 | 
				
			||||||
 | 
					FFBFBBBRLR
 | 
				
			||||||
 | 
					FBFBBFFLRR
 | 
				
			||||||
 | 
					FFFBFBBRRL
 | 
				
			||||||
 | 
					FFFFBFBRRR
 | 
				
			||||||
 | 
					FFFFBBBLLL
 | 
				
			||||||
 | 
					FFFBFBFLRR
 | 
				
			||||||
 | 
					BFBBBFBLLR
 | 
				
			||||||
 | 
					BFBFFFFRRL
 | 
				
			||||||
 | 
					BFBBFFBLRR
 | 
				
			||||||
 | 
					FFBFFBFRRL
 | 
				
			||||||
 | 
					BFBBFBFRRL
 | 
				
			||||||
 | 
					BFFFFFBRRL
 | 
				
			||||||
 | 
					FBBBBFFLLL
 | 
				
			||||||
 | 
					FFBFBBBLLR
 | 
				
			||||||
 | 
					FBBBFBFRLR
 | 
				
			||||||
 | 
					FFFBBFFRLR
 | 
				
			||||||
 | 
					BBFFBFBRLL
 | 
				
			||||||
 | 
					BBFBFBFRRL
 | 
				
			||||||
 | 
					FFBBBBFRRL
 | 
				
			||||||
 | 
					FBBBFBBLRR
 | 
				
			||||||
 | 
					BFFBFFBRLR
 | 
				
			||||||
 | 
					FFBBFFBRLR
 | 
				
			||||||
 | 
					FFBFBFBLRR
 | 
				
			||||||
 | 
					BFBFFFBLLR
 | 
				
			||||||
 | 
					BFFFBBFLRL
 | 
				
			||||||
 | 
					FBBBFBBRLL
 | 
				
			||||||
 | 
					BBFFFBFLLR
 | 
				
			||||||
 | 
					BBFFFBBRRL
 | 
				
			||||||
 | 
					BFBFFFBRLL
 | 
				
			||||||
 | 
					BFBFFFBLRR
 | 
				
			||||||
 | 
					FFBFBFFRLR
 | 
				
			||||||
 | 
					BFFFFFFRRL
 | 
				
			||||||
 | 
					BFFFBFFLRR
 | 
				
			||||||
 | 
					BFBBBBFLRL
 | 
				
			||||||
 | 
					FFFBFFFLLR
 | 
				
			||||||
 | 
					BFFFFFFLRR
 | 
				
			||||||
 | 
					BBFBBFFRRL
 | 
				
			||||||
 | 
					BFFFFFFLRL
 | 
				
			||||||
 | 
					FFFFBFBRLL
 | 
				
			||||||
 | 
					BFFBBFBLRR
 | 
				
			||||||
 | 
					FFFFBFFLRL
 | 
				
			||||||
 | 
					BBFFFFFLRL
 | 
				
			||||||
 | 
					FBBFBFBLRR
 | 
				
			||||||
 | 
					FBFBBFFRLR
 | 
				
			||||||
 | 
					FFFFFBBRRR
 | 
				
			||||||
 | 
					BFFFBFBRRL
 | 
				
			||||||
 | 
					FBFFBFBRRR
 | 
				
			||||||
 | 
					BBFFFBBLLR
 | 
				
			||||||
 | 
					BFFBFBBLRR
 | 
				
			||||||
 | 
					FFFBFBFRLL
 | 
				
			||||||
 | 
					FBFBBFFRRR
 | 
				
			||||||
 | 
					FFBFBBBRRR
 | 
				
			||||||
 | 
					BFBFFFBRLR
 | 
				
			||||||
 | 
					FBBFFFBRLL
 | 
				
			||||||
 | 
					FFBFBFBRRL
 | 
				
			||||||
 | 
					FFBBBFBLRL
 | 
				
			||||||
 | 
					FBBFBBBRRL
 | 
				
			||||||
 | 
					FBFFBFBRLL
 | 
				
			||||||
 | 
					BFBFBBFLRL
 | 
				
			||||||
 | 
					FFFBBBBLRR
 | 
				
			||||||
 | 
					BFFBFBBRLL
 | 
				
			||||||
 | 
					FFFBFFFRLR
 | 
				
			||||||
 | 
					FBFBFFBLLR
 | 
				
			||||||
 | 
					FBFFBBFLLL
 | 
				
			||||||
 | 
					FBBBFBBRRR
 | 
				
			||||||
 | 
					FBBFBBBRRR
 | 
				
			||||||
 | 
					FBFBBBFRRL
 | 
				
			||||||
 | 
					BFBBFBBRRL
 | 
				
			||||||
 | 
					BFBFBBBLRL
 | 
				
			||||||
 | 
					FBBFBBBRLR
 | 
				
			||||||
 | 
					FFBBFFBLRR
 | 
				
			||||||
 | 
					FBBFBFFLRL
 | 
				
			||||||
 | 
					FBFBFFBRRR
 | 
				
			||||||
 | 
					FFBBBBBLLR
 | 
				
			||||||
 | 
					BFBBFFFLRR
 | 
				
			||||||
 | 
					FFBBFBFLRR
 | 
				
			||||||
 | 
					BFBBBBFLLR
 | 
				
			||||||
 | 
					BFBFFBBRRL
 | 
				
			||||||
 | 
					FBFBBFFRRL
 | 
				
			||||||
 | 
					BFFFFFBLLL
 | 
				
			||||||
 | 
					FBBBBFBRRL
 | 
				
			||||||
 | 
					FBBBFFBRLL
 | 
				
			||||||
 | 
					BBFBFFFLLR
 | 
				
			||||||
 | 
					FFFBBFBLLL
 | 
				
			||||||
 | 
					BFFFBBBRLL
 | 
				
			||||||
 | 
					BFBFFBBLLL
 | 
				
			||||||
 | 
					BFBFBBBLLR
 | 
				
			||||||
 | 
					FBFFBBFLRL
 | 
				
			||||||
 | 
					FFFFBBFLRL
 | 
				
			||||||
 | 
					FBBFFFFLRL
 | 
				
			||||||
 | 
					FBBBBFFRRL
 | 
				
			||||||
 | 
					BFBBFBBLRR
 | 
				
			||||||
 | 
					BFBFBFBRLL
 | 
				
			||||||
 | 
					FBBBFBFLLL
 | 
				
			||||||
 | 
					FBFBBBBRLL
 | 
				
			||||||
 | 
					FBBBFFBLRR
 | 
				
			||||||
 | 
					FFBBFBFLRL
 | 
				
			||||||
 | 
					FFFFBFBLRL
 | 
				
			||||||
 | 
					FFBBBFFLRR
 | 
				
			||||||
 | 
					FFBBFFFRRR
 | 
				
			||||||
 | 
					FFBFFBBRLL
 | 
				
			||||||
 | 
					FFFFBFFRRL
 | 
				
			||||||
 | 
					FBBFFBFRLL
 | 
				
			||||||
 | 
					BFFFBBFLRR
 | 
				
			||||||
 | 
					BFBFFBBRLL
 | 
				
			||||||
 | 
					BFFBBFFLLL
 | 
				
			||||||
 | 
					FBBBBBBLLL
 | 
				
			||||||
 | 
					BFFBFBFRRR
 | 
				
			||||||
 | 
					BFBFFFFRLR
 | 
				
			||||||
 | 
					BFFBFBBLRL
 | 
				
			||||||
 | 
					BFBBBFBLRL
 | 
				
			||||||
 | 
					FBFBFBFRLL
 | 
				
			||||||
 | 
					FBBFBFFLRR
 | 
				
			||||||
 | 
					BFBBBFBLLL
 | 
				
			||||||
 | 
					BFFBBBFLRR
 | 
				
			||||||
 | 
					BFBBBBFLLL
 | 
				
			||||||
 | 
					BFBBFFBRLR
 | 
				
			||||||
 | 
					FFFBBFBLRR
 | 
				
			||||||
 | 
					FFFFBBFLLR
 | 
				
			||||||
 | 
					FFBFFBBLLR
 | 
				
			||||||
 | 
					FBFBBBFLLR
 | 
				
			||||||
 | 
					BFBBBFBRRR
 | 
				
			||||||
 | 
					BFFFFFBRLL
 | 
				
			||||||
 | 
					BBFBFFBRRL
 | 
				
			||||||
 | 
					BFBBFFBLLL
 | 
				
			||||||
 | 
					FFFBBBBRRL
 | 
				
			||||||
 | 
					FBFBBBFRRR
 | 
				
			||||||
 | 
					BFFBBFBLRL
 | 
				
			||||||
 | 
					BFFBFFFRLR
 | 
				
			||||||
 | 
					FFFFFBBLRR
 | 
				
			||||||
 | 
					FBFBFFFLLR
 | 
				
			||||||
 | 
					FFBFFFFRLR
 | 
				
			||||||
 | 
					FBFFFBFRRR
 | 
				
			||||||
 | 
					FBFBFBFRRR
 | 
				
			||||||
 | 
					FFBFBFBRLL
 | 
				
			||||||
 | 
					FFFFFFBRRL
 | 
				
			||||||
 | 
					FFBBBBBRRR
 | 
				
			||||||
 | 
					FFFBBFFLRL
 | 
				
			||||||
 | 
					BFFFBFBLLL
 | 
				
			||||||
 | 
					FBFFFFBLRR
 | 
				
			||||||
 | 
					FBBBBBBRLR
 | 
				
			||||||
 | 
					FBFBBFBRRL
 | 
				
			||||||
 | 
					FFBBFFBLLL
 | 
				
			||||||
 | 
					FBFFBBFRRR
 | 
				
			||||||
 | 
					FBFFFFBLLL
 | 
				
			||||||
 | 
					BBFBFFFRRL
 | 
				
			||||||
 | 
					FFFFBFBLLR
 | 
				
			||||||
 | 
					BFFBFBFLLR
 | 
				
			||||||
 | 
					BBFBFFBRRR
 | 
				
			||||||
 | 
					FBFFFFFRRR
 | 
				
			||||||
 | 
					FFBFBFFLRL
 | 
				
			||||||
 | 
					BFFBBFBLLR
 | 
				
			||||||
 | 
					FBBBFFFRRL
 | 
				
			||||||
 | 
					BFFBBFBRRR
 | 
				
			||||||
 | 
					BFBFBBFLRR
 | 
				
			||||||
 | 
					FBBBFFFRLR
 | 
				
			||||||
 | 
					FBBFBFBLLL
 | 
				
			||||||
 | 
					FBFBFBFLLL
 | 
				
			||||||
 | 
					BFBBFFFLRL
 | 
				
			||||||
 | 
					BBFFBBBLLR
 | 
				
			||||||
 | 
					BFFFFBBRRL
 | 
				
			||||||
 | 
					FFFBBFBLLR
 | 
				
			||||||
 | 
					BFFFFBFRLL
 | 
				
			||||||
 | 
					FFFFFBBLRL
 | 
				
			||||||
 | 
					FBFBBBFRLL
 | 
				
			||||||
 | 
					BFBFFBFRLL
 | 
				
			||||||
 | 
					FBFFBFFLLL
 | 
				
			||||||
 | 
					FBFBFBBLLR
 | 
				
			||||||
 | 
					FFFFBFBRLR
 | 
				
			||||||
 | 
					BFFFBFBLLR
 | 
				
			||||||
 | 
					BFFBFFBLRR
 | 
				
			||||||
 | 
					BFFFFBFLRR
 | 
				
			||||||
 | 
					FBBFFBBRLL
 | 
				
			||||||
 | 
					FFFFBBBRRL
 | 
				
			||||||
 | 
					FBBBFFBRRR
 | 
				
			||||||
 | 
					BFFBFBFRLL
 | 
				
			||||||
 | 
					BBFFBFBLRL
 | 
				
			||||||
 | 
					FFFBBFBLRL
 | 
				
			||||||
 | 
					BBFFFFBLLR
 | 
				
			||||||
 | 
					FBFFFFBRLL
 | 
				
			||||||
 | 
					BFBFBBBLLL
 | 
				
			||||||
 | 
					FBFBBFFLLR
 | 
				
			||||||
 | 
					FBBBFFFLRR
 | 
				
			||||||
							
								
								
									
										33
									
								
								day5/test_day5.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								day5/test_day5.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,33 @@
 | 
				
			||||||
 | 
					#! /usr/bin/env python3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import pathlib
 | 
				
			||||||
 | 
					import pytest
 | 
				
			||||||
 | 
					import day5 as aoc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PUZZLE_DIR = pathlib.Path(__file__).parent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#these test fixtures setup the test, mainly by reading the filename into a string in this simple case.
 | 
				
			||||||
 | 
					@pytest.fixture
 | 
				
			||||||
 | 
					def example1():
 | 
				
			||||||
 | 
					    puzzle_input = (PUZZLE_DIR / "example1").read_text().strip()
 | 
				
			||||||
 | 
					    return aoc.parse(puzzle_input)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@pytest.fixture
 | 
				
			||||||
 | 
					def example2():
 | 
				
			||||||
 | 
					    puzzle_input = (PUZZLE_DIR / "example2").read_text().strip()
 | 
				
			||||||
 | 
					    return aoc.parse(puzzle_input)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# @pytest.mark.skip(reason="Not implemented")
 | 
				
			||||||
 | 
					def test_parse_example1(example1):
 | 
				
			||||||
 | 
					    """Test that input is parsed properly"""
 | 
				
			||||||
 | 
					    assert example1 == [(44,5), (70,7), (14,7), (102, 4)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# @pytest.mark.skip(reason="Not implemented")
 | 
				
			||||||
 | 
					def test_part1_example1(example1):
 | 
				
			||||||
 | 
					    """Test part 1 on example input"""
 | 
				
			||||||
 | 
					    assert aoc.part1(example1) == 820
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@pytest.mark.skip(reason="Not implemented")
 | 
				
			||||||
 | 
					def test_part2_example2(example2):
 | 
				
			||||||
 | 
					    """Test part 2 on example input"""
 | 
				
			||||||
 | 
					    assert aoc.part2(example2) == ...
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue