input: Write a python function to remove duplicate characters in a string while maintaining the order of their first occurrences.
  assert remove_duplicate_characters("bufferoverflow") == "buferovlw"
  assert remove_duplicate_characters("hello") == "helo"
  assert remove_duplicate_characters("mississippi") == "misp"
  assert remove_duplicate_characters("abcdef") == "abcdef"
output: def remove_duplicate_characters(s: str) -> str:
      seen = set()
      result = []
      for char in s:
          if char not in seen:
              seen.add(char)
              result.append(char)
      return ''.join(result)