# Установите полный путь к файлу, из которого нужно читать числа.
DATA_FILE = "/var/data/data.txt"

# Полный путь до файла результата.
RESULT_FILE = "/var/result/result.txt"


def find_smallest_number(data_file):
    """Ищет наименьшее число в заданном файле."""

    try:
        with open(data_file, "r") as f:
            numbers = [int(line.strip()) for line in f.readlines()]

            smallest_num = min(numbers)
            return smallest_num

    except ValueError as e:
        print(f"Ошибка при преобразовании строк в числа: {e}")

    except Exception as e:
        print(f"Ошибка чтения файла '{data_file}': {e}")

    return None


def cube_number(num):
    """Возвращает куб заданного числа."""

    return num**3


def write_result(result_file, result):
    """Записывает результат в файл."""

    try:
        with open(result_file, "w") as f:
            f.write(str(result))

        print(f"Результат '{result}' успешно записан в '{result_file}'.")

    except Exception as e:
        print(f"Ошибка записи результата в файл '{result_file}': {e}")


def main():
    smallest_num = find_smallest_number(DATA_FILE)

    if smallest_num is not None:
        result = cube_number(smallest_num)

        write_result(RESULT_FILE, result)
        print(result)

    else:
        print("Нет чисел в файле.")


if __name__ == "__main__":
    main()