def METHOD_NAME(cls, variable_symbol: VariableSymbol, variable: ASTVariable) -> str:
    r"""
    Returns a prefix corresponding to the origin of the variable symbol.
    :param variable_symbol: a single variable symbol.
    :return: the corresponding prefix
    """
    if variable_symbol.block_type in [BlockType.STATE, BlockType.EQUATION]:
        if "_is_numeric" in dir(variable) and variable._is_numeric:
            return "S_.ode_state[State_::%s]"
        return "S_.%s"
    if variable_symbol.block_type == BlockType.PARAMETERS:
        return "P_.%s"
    if variable_symbol.block_type == BlockType.COMMON_PARAMETERS:
        return "cp.%s"
    if variable_symbol.block_type == BlockType.INTERNALS:
        return "V_.%s"
    if variable_symbol.block_type == BlockType.INPUT:
        return "B_.%s"
    return ""