sokaban solver in ruby