<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mkdir(path, mode=0o777, dir_fd=None):
 """ Create a directory named path with numeric mode mode. Equivalent to "os.mkdir". Args: path (path-like object):
 Path or URL. mode (int):
 The mode parameter is passed to os.mkdir(); see the os.mkdir() description for how it is interpreted. Not supported on cloud storage objects. dir_fd: directory descriptors; see the os.remove() description for how it is interpreted. Not supported on cloud storage objects. Raises: FileExistsError : Directory already exists. FileNotFoundError: Parent directory not exists. """

    system = get_instance(path)
    relative = system.relpath(path)

    # Checks if parent directory exists
    parent_dir = dirname(relative.rstrip('/'))
    if parent_dir:
        parent = path.rsplit(relative, 1)[0] + parent_dir + '/'
        if not system.isdir(parent):
            raise ObjectNotFoundError(
                "No such file or directory: '%s'" % parent)

    # Checks if directory not already exists
    if system.isdir(system.ensure_dir_path(path)):
        raise ObjectExistsError("File exists: '%s'" % path)

    # Create directory
    system.make_dir(relative, relative=True)