import re


def classifyRequirements(plaintextRequirements):
    """
    Takes a list of strings, each representing a requirement for annual reports.
    Returns a dictionary containing 5 k/v pairs:
    "budget" : T/F
    "attendance" : T/F
    "audited financial statements" : T/F
    "assessed valuation" : T/F
    "top taxpayers" : T/F
    """
    requirements = {"budget" : False,
                       "attendance" : False,
                       "audited financial statements" : False,
                       "assessed valuation" : False,
                       "top taxpayers" : False}
    for req in plaintextRequirements:
        # First, we check if it's a budget requirement.
        if re.search("(?i)budget", req):
            requirements["budget"] = True
        # Check if it's an attendance requirement
        if re.search("(?i)attendance|enrollment", req):
            requirements["attendance"] = True
        # Check if it's an audited financials requirement.
        if re.search("(?i)audited financial statements", req):
            requirements["audited financial statements"] = True
        # Check if it's an assessed valuation requirement.
        if re.search("(?i)assessed valuation", req):
            requirements["assessed valuation"] = True
        # Check if it's a top taxpayers requirement.
        if re.search("(?i)tax payers|taxpayers", req):
            requirements["top taxpayers"] = True
    return requirements