input: 
  def generate_random_password(length: int = 8) -> str:
      """ Generate a random password of given length which contains at least one of each character type:
      lowercase, uppercase, digits, and special characters.
      >>> generate_random_password(8)
      Password is:  "A1b!2CdE"
      >>> generate_random_password(10)
      Password is:  "aB1@2Cd3Ef"
      >>> generate_random_password(16)
      Password is:  "A1b!2CdEfG3hIj*K"
      """
      import string
      import random
  
      # special characters
      special_characters = "!#$%&'()*+,-./:;<=>?@[\]^_`{|}~"
  
      # generating password
      password = random.choice(string.ascii_lowercase)
      password += random.choice(string.ascii_uppercase)
      password += random.choice(string.digits)
      password += random.choice(special_characters)
  
      for i in range(length - 4):
          password += random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits + special_characters)
  
      password = ''.join(random.sample(password,len(password)))
  
      return password
  
output:     return f"Password is:  \"{password}\""