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