Karels algorithm