longest common prfix reimpl