<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse(soup):
 """Parses the results for a company search and return the results if is_direct_match. If no company is found, a list of suggestions are returned as dict. If one such recommendation is found to be an exact match, re-perform request for this exact match """


    if is_direct_match(soup):
        return {'satisfaction': parse_satisfaction(soup),
                'ceo': parse_ceo(soup),
                'meta': parse_meta(soup),
                'salary': parse_salary(soup)
                }

    suggestions = parse_suggestions(soup)
    exact_match = next((s for s in suggestions if s['exact']), None)
    if exact_match:
        return get(company_uri=exact_match['uri'])
    return suggestions