<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def cluster_info(cpu, cfg):
 """ Collects fact for each host Collects the cpu and node configuration facts to be used by the rule. Arguments: cpu (CpuInfo):
 Parser object for the cpu info. cfg (NodeConfig):
 Parser object for the node configuration. Returns: dict: Dictionary of fact information including the keys ``cpu_count``, ``pods_per_core_int``, ``pods_per_core_customized``, ``max_pods``, and ``max_pods_customized``. """

    cpus = cpu.cpu_count
    pods_per_core = cfg.doc.find("pods-per-core")
    pods_per_core_int = int(pods_per_core.value) if pods_per_core else PODS_PER_CORE
    cfg_max_pods = cfg.doc.find("max-pods")
    cfg_max_pods_int = int(cfg_max_pods.value) if cfg_max_pods else MAX_PODS
    calc_max_pods = cpus * pods_per_core_int

    return {
        "cpu_count": cpus,
        "pods_per_core": pods_per_core_int,
        "pods_per_core_customized": bool(pods_per_core),
        "max_pods": min(cfg_max_pods_int, calc_max_pods),
        "max_pods_customized": bool(cfg_max_pods)
    }