<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def check_account_address(address):
 """ verify that a string is a valid account address. Can be a b58-check address, a c32-check address, as well as the string "treasury" or "unallocated" or a string starting with 'not_distributed_' True False True True False False False True True False """

    if address == 'treasury' or address == 'unallocated':
        return True

    if address.startswith('not_distributed_') and len(address) > len('not_distributed_'):
        return True

    if re.match(OP_C32CHECK_PATTERN, address):
        try:
            c32addressDecode(address)
            return True
        except:
            pass

    return check_address(address)