---------- -----|.^^^^^..| ----...-|<-----..| |..0....---...|^-- |.0>0.0....0..|^| |.|0--------.-|^| |.|..0..|.....|^| |.|.0.0.|.|...|^| --.|..0|.|.----|^| |..--....|.....|^| |....0.|.|.......| -----.--.........| |.0...........| |...---.......| ----- --------- Label all the boulders: ---------- -----|.^^^^^..| ----...-|<-----..| |..A....---...|^-- |.B>C.D....E..|^| |.|F--------.-|^| |.|..G..|.....|^| |.|.H.J.|.|...|^| --.|..K|.|.----|^| |..--....|.....|^| |....L.|.|.......| -----.--.........| |.M...........| |...---.......| ----- --------- First move by process of elimination: * Can't go diagonal, because, Sokoban. * Can't go north, because, wall. * Can't go east, because, CD against wall = stuck. * South is a disaster. * Ergo, we push B west. Really. This solution is verified. It works. ---------- -----|.^^^^^..| ----...-|<-----..| |..A....---...|^-- |B@>C.D....E..|^| |.|F--------.-|^| |.|..G..|.....|^| |.|.H.J.|.|...|^| --.|..K|.|.----|^| |..--....|.....|^| |....L.|.|.......| -----.--.........| |.M...........| |...---.......| ----- --------- Push B one tile south (to give us some maneuvering room up here): ---------- -----|.^^^^^..| ----...-|<-----..| |..A....---...|^-- |@.>C.D....E..|^| |B|F--------.-|^| |.|..G..|.....|^| |.|.H.J.|.|...|^| --.|..K|.|.----|^| |..--....|.....|^| |....L.|.|.......| -----.--.........| |.M...........| |...---.......| ----- --------- Pushing B farther south doesn't gain us much at this point, because we can't move it out of there until we move L, which we probably shouldn't do until we move M. No, we need to get out past E. To do that, push A two tiles east: ---------- -----|.^^^^^..| ----...-|<-----..| |...@A..---...|^-- |..>C.D....E..|^| |B|F--------.-|^| |.|..G..|.....|^| |.|.H.J.|.|...|^| --.|..K|.|.----|^| |..--....|.....|^| |....L.|.|.......| -----.--.........| |.M...........| |...---.......| ----- --------- Now go around A and push it back three tiles west, stopping where we can still get behind it: ---------- -----|.^^^^^..| ----...-|<-----..| |.A@....---...|^-- |..>C.D....E..|^| |B|F--------.-|^| |.|..G..|.....|^| |.|.H.J.|.|...|^| --.|..K|.|.----|^| |..--....|.....|^| |....L.|.|.......| -----.--.........| |.M...........| |...---.......| ----- --------- To get past E (something we will be doing several times), push it one tile east then back one tile west: ---------- -----|.^^^^^..| ----...-|<-----..| |.A.....---...|^-- |..>C.D....E@.|^| |B|F--------.-|^| |.|..G..|.....|^| |.|.H.J.|.|...|^| --.|..K|.|.----|^| |..--....|.....|^| |....L.|.|.......| -----.--.........| |.M...........| |...---.......| ----- --------- (We can get back past E the other direction by jumping in a pit; we only need to do that at most once.) We are now in a position to take M: ---------- -----|.^^^^^..| ----...-|<-----..| |.A.....---...|^-- |..>C.D....E..|^| |B|F--------.-|^| |.|..G..|.....|^| |.|.H.J.|.|...|^| --.|..K|.|.----|^| |..--....|.....|.| |....L.|.|......@| -----.--.........| |.............| |...---.......| ----- --------- Then take L: ---------- -----|.^^^^^..| ----...-|<-----..| |.A.....---...|^-- |..>C.D....E..|^| |B|F--------.-|^| |.|..G..|.....|^| |.|.H.J.|.|...|^| --.|..K|.|.----|.| |..--....|.....|@| |......|.|.......| -----.--.........| |.............| |...---.......| ----- --------- We can now take H: ---------- -----|.^^^^^..| ----...-|<-----..| |.A.....---...|^-- |..>C.D....E..|^| |B|F--------.-|^| |.|..G..|.....|^| |.|...J.|.|...|.| --.|..K|.|.----|@| |..--....|.....|.| |......|.|.......| -----.--.........| |.............| |...---.......| ----- --------- That makes J and K trivial, so take them: ---------- -----|.^^^^^..| ----...-|<-----..| |.A.....---...|^-- |..>C.D....E..|^| |B|F--------.-|.| |.|..G..|.....|@| |.|.....|.|...|.| --.|...|.|.----|.| |..--....|.....|.| |......|.|.......| -----.--.........| |.............| |...---.......| ----- --------- Jump in a pit, return via the stairs, and take B: ---------- -----|.^^^^^..| ----...-|<-----..| |.A.....---...|^-- |..>C.D....E..|.| |.|F--------.-|@| |.|..G..|.....|.| |.|.....|.|...|.| --.|...|.|.----|.| |..--....|.....|.| |......|.|.......| -----.--.........| |.............| |...---.......| ----- --------- Push A three tiles east: ---------- -----|.^^^^^..| ----...-|<-----..| |...@A..---...|^-- |..>C.D....E..|.| |.|F--------.-|.| |.|..G..|.....|.| |.|.....|.|...|.| --.|...|.|.----|.| |..--....|.....|.| |......|.|.......| -----.--.........| |.............| |...---.......| ----- --------- Go around A, push it one tile back west, then push C west and take it: ---------- -----|.^^^^^..| ----...-|<-----..| |...A...---...|.-- |..>..D....E..|@| |.|F--------.-|.| |.|..G..|.....|.| |.|.....|.|...|.| --.|...|.|.----|.| |..--....|.....|.| |......|.|.......| -----.--.........| |.............| |...---.......| ----- --------- Push A south and west and take it, then push D west and take it: ---------- -----|.^^^.@..| ----...-|<-----..| |.......---...|.-- |..>.......E..|.| |.|F--------.-|.| |.|..G..|.....|.| |.|.....|.|...|.| --.|...|.|.----|.| |..--....|.....|.| |......|.|.......| -----.--.........| |.............| |...---.......| ----- --------- Push E west and take it: ---------- -----|.^^.@...| ----...-|<-----..| |.......---...|.-- |..>..........|.| |.|F--------.-|.| |.|..G..|.....|.| |.|.....|.|...|.| --.|...|.|.----|.| |..--....|.....|.| |......|.|.......| -----.--.........| |.............| |...---.......| ----- --------- Take F next, then do G last. That's it.