def calc_bbox(coords, radii):
    """
    Calculates bounding box of given circles. Circles with zero radius are
    excluded.
    
    Args:
        coords: ((float, float), (float, float), (float, float))
            Center coordinates for individual A, B, C circles.
        
        radii: (float, float, float)
            Radius for individual A, B, C circles.
    
    Returns:
        (float, float, float, float)
            Bounding box as top-left corner coordinates, width and height
            (x, y, width, height).
    """
    
    # get non-zero circles
    circles = [(c, r) for c, r in zip(coords, radii) if r > 0]
    
    # get limits
    min_x = min((c[0] - r for c, r in circles))
    max_x = max((c[0] + r for c, r in circles))
    min_y = min((c[1] - r for c, r in circles))
    max_y = max((c[1] + r for c, r in circles))
    
    return min_x, min_y, max_x-min_x, max_y-min_y