################ . # . . # . # ^^^^^^^ # ^^^^^^^ . # ^^^^^^^ # ^^^^^^^ # ^^^^^^^ # ^^^^^^^ . # ^^^^^^^ # ^^^^^^^ # . # V . # . # ################