add edge case
add test case from wikipedia