<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def validate_command(raw_command):
 """Validate the command input. Currently we only check the number of arguments according to the command type. Parameters raw_command: str The raw command input, e.g., `register xxxxxx yyyyyy`. Raises ------ ValueError If the raw command input doesn't have the correct number of arguments. """

    parsed_command = raw_command.split()
    arg_count = len(parsed_command) - 1

    if not parsed_command:
        return

    if parsed_command[0] == pytwis_clt_constants.CMD_REGISTER:
        if arg_count < 2:
            raise ValueError('{cmd} {{{arg1}}} {{{arg2}}}'.\
                             format(cmd=pytwis_clt_constants.CMD_REGISTER,
                                    arg1=pytwis_clt_constants.ARG_USERNAME,
                                    arg2=pytwis_clt_constants.ARG_PASSWORD))
    elif parsed_command[0] == pytwis_clt_constants.CMD_LOGIN:
        if arg_count < 2:
            raise ValueError('{cmd} {{{arg1}}} {{{arg2}}}'.\
                             format(cmd=pytwis_clt_constants.CMD_LOGIN,
                                    arg1=pytwis_clt_constants.ARG_USERNAME,
                                    arg2=pytwis_clt_constants.ARG_PASSWORD))
    elif parsed_command[0] == pytwis_clt_constants.CMD_LOGOUT:
        pass
    elif parsed_command[0] == pytwis_clt_constants.CMD_CHANGE_PASSWORD:
        if arg_count < 3:
            raise ValueError('{cmd} {{{arg1}}} {{{arg2}}} {{{arg3}}}'.\
                             format(cmd=pytwis_clt_constants.CMD_CHANGE_PASSWORD,
                                    arg1=pytwis_clt_constants.ARG_OLD_PASSWORD,
                                    arg2=pytwis_clt_constants.ARG_NEW_PASSWORD,
                                    arg3=pytwis_clt_constants.ARG_CONFIRMED_NEW_PASSWORD))
    elif parsed_command[0] == pytwis_clt_constants.CMD_GET_USER_PROFILE:
        pass
    elif parsed_command[0] == pytwis_clt_constants.CMD_POST:
        if arg_count < 1:
            raise ValueError('{cmd} {{{arg}}}'.format(cmd=pytwis_clt_constants.CMD_POST,
                                                      arg=pytwis_clt_constants.ARG_TWEET))
    elif parsed_command[0] == pytwis_clt_constants.CMD_FOLLOW:
        if arg_count < 1:
            raise ValueError('{cmd} {{{arg}}}'.format(cmd=pytwis_clt_constants.CMD_FOLLOW,
                                                      arg=pytwis_clt_constants.ARG_FOLLOWEE))
    elif parsed_command[0] == pytwis_clt_constants.CMD_UNFOLLOW:
        if arg_count < 1:
            raise ValueError('{cmd} {{{arg}}}'.format(cmd=pytwis_clt_constants.CMD_UNFOLLOW,
                                                      arg=pytwis_clt_constants.ARG_FOLLOWEE))
    elif parsed_command[0] == pytwis_clt_constants.CMD_GET_FOLLOWERS:
        pass
    elif parsed_command[0] == pytwis_clt_constants.CMD_GET_FOLLOWINGS:
        pass
    elif parsed_command[0] == pytwis_clt_constants.CMD_TIMELINE:
        if arg_count > 1:
            raise ValueError('{cmd} {{{arg}}} or {cmd}'.\
                             format(cmd=pytwis_clt_constants.CMD_TIMELINE,
                                    arg=pytwis_clt_constants.ARG_MAX_TWEETS))
    elif parsed_command[0] == pytwis_clt_constants.CMD_GET_USER_TWEETS:
        if arg_count > 2:
            raise ValueError('{cmd} {{{arg1}}} {{{arg2}}} or {cmd} {{{arg1}}} or {cmd}'.\
                             format(cmd=pytwis_clt_constants.CMD_GET_USER_TWEETS,
                                    arg1=pytwis_clt_constants.ARG_USERNAME,
                                    arg2=pytwis_clt_constants.ARG_MAX_TWEETS))
    elif (parsed_command[0] == pytwis_clt_constants.CMD_EXIT) or\
         (parsed_command[0] == pytwis_clt_constants.CMD_QUIT):
        pass
    else:
        raise ValueError('Invalid pytwis command')