Han algorithm