########################## .........%................ ##+#######...........?...!. #..######......... { #..#....'......... +..#....#........ #..#.