Programming language: [your favorite programming language] Create a complete program that calculates custom YOLO anchors from an image dataset stored in standard Darknet format. Place the program in the project folder. Recursively search the clip folders beneath it, find every folder named labels, read all non-empty .txt annotation files, and combine bounding-box dimensions from the entire dataset. Each annotation line contains five whitespace-separated numeric values: class_id, center_x, center_y, width, and height. Width and height are normalized relative to the source image dimensions. Ignore empty files and skip lines that do not contain exactly five values. Assume five-value lines contain valid numeric annotations with positive width and height. Assume all dataset images have the same resolution. Determine that resolution from the first readable .png, .jpg, or .jpeg image. Convert normalized box widths and heights into source-image pixel dimensions. Do not group by class name or class ID; anchors depend only on box size. Use IoU-based k-means clustering with random seed 42 and a maximum of 1000 iterations. Initialize the requested number of clusters by sampling boxes without replacement. Compare boxes and anchors by width and height only, assuming they share the same center. Assign each box to the cluster with the highest IoU. Update non-empty clusters using the median width and height of their assigned boxes. Leave empty clusters unchanged. Initialize previous assignments with an unassigned value so that the first median update cannot be skipped, including when only one anchor is requested. Stop when assignments no longer change or the iteration limit is reached. Accept a positional project or dataset path, required --net_w and --net_h options for the network width and height, and an optional --num_anchors option defaulting to 9. Scale final cluster widths by network width divided by source image width, and heights by network height divided by source image height. Round to whole pixels and sort by increasing width. Print one Darknet configuration line in this format: anchors=w1,h1,w2,h2,... Also print average best-match IoU across all boxes, calculated against the unrounded clusters in source-image coordinates, to four decimal places. Print the number of clustering iterations performed. Use suitable libraries for image loading, numerical processing, filesystem access, and command-line argument parsing. Include dependency/setup instructions and a terminal example requesting two anchors at a 416 by 416 network resolution. Read the dataset without changing its files. Do not automatically edit a model configuration file.