Нужна помощь в написанном коде

Есть такая небольшая программа для расчета ЗП за день.
Проблема в том, что она считает количество упакованных пачек по 18 и в общем за день и каждому, а должна считать общее за день по 18, а каждому отдельно по 9.

<!DOCTYPE html>
<html lang="uk">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Калькулятор заробітку</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            max-width: 600px;
            margin: 0 auto;
            padding: 20px;
            background-color: #f4f4f4;
        }
        label, input {
            display: block;
            margin: 10px 0;
        }
        button {
            padding: 10px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
        }
        button:hover {
            background-color: #45a049;
        }
        .result {
            margin-top: 20px;
            font-weight: bold;
        }
    </style>
</head>
<body>

<h2>Калькулятор заробітку</h2>

<label for="packages">Кількість запакованих пачок:</label>
<input type="number" id="packages" value="0">

<label for="strips">Кількість запакованих полос:</label>
<input type="number" id="strips" value="0">

<label for="mattresses">Кількість запакованих матрасів:</label>
<input type="number" id="mattresses" value="0">

<label for="hours">Кількість відпрацьованих годин:</label>
<input type="number" id="hours" value="0">

<label for="blocks">Кількість перевезених блоків:</label>
<input type="number" id="blocks" value="0">

<label for="bags">Кількість вакуумованих мішків:</label>
<input type="number" id="bags" value="0">

<label for="workers">Кількість працівників:</label>
<input type="number" id="workers" value="1">

<button onclick="calculateEarnings()">Порахувати заробіток</button>

<div class="result" id="totalResult"></div>
<div class="result" id="workerResult"></div>

<script>
    function calculateEarnings() {
        // Отримання даних
        let packages = parseInt(document.getElementById('packages').value);
        let strips = parseInt(document.getElementById('strips').value);
        let mattresses = parseInt(document.getElementById('mattresses').value);
        let hours = parseInt(document.getElementById('hours').value);
        let blocks = parseInt(document.getElementById('blocks').value);
        let bags = parseInt(document.getElementById('bags').value);
        let workers = parseInt(document.getElementById('workers').value);

        // Якщо всі значення дорівнюють 0, висвітлюємо помилку
        if (packages === 0 && strips === 0 && mattresses === 0 && hours === 0 && blocks === 0 && bags === 0) {
            document.getElementById('totalResult').innerText = "Помилка: Всі значення не можуть бути нулями!";
            document.getElementById('workerResult').innerText = "";
            return;
        }

        
        // Розрахунок загального заробітку
        let totalEarnings = (packages * 18) + (strips * 0.5) + (mattresses * 10) + (hours * 60) + (blocks * 10) + (bags * 10);

        // Виведення загальної суми
        document.getElementById('totalResult').innerText = `Загальний заробіток за день: ${totalEarnings.toFixed(2)} грн`;

        // Запит імен працівників
        let workerNames = [];
        for (let i = 0; i < workers; i++) {
            let workerName = prompt(`Введіть ім'я працівника ${i + 1}:`);
            workerNames.push(workerName);
        }

        // Розподіл роботи між працівниками
        let workerTasks = [];
        for (let i = 0; i < workers; i++) {
            workerTasks.push({
                name: workerNames[i],
                packages: 0,
                strips: 0,
                mattresses: 0,
                hours: 0,
                blocks: 0,
                bags: 0
            });
        }

        distributeTasks(workerTasks, 'packages', packages);
        distributeTasks(workerTasks, 'strips', strips);
        distributeTasks(workerTasks, 'mattresses', mattresses);
        distributeTasks(workerTasks, 'hours', hours);
        distributeTasks(workerTasks, 'blocks', blocks);
        distributeTasks(workerTasks, 'bags', bags);

        // Виведення результатів розподілу
        let resultText = "";
        workerTasks.forEach(worker => {
            resultText += `${worker.name}:\n`;
            resultText += `Пачки: ${worker.packages}\n`;
            resultText += `Полоси: ${worker.strips}\n`;
            resultText += `Матраси: ${worker.mattresses}\n`;
            resultText += `Години: ${worker.hours}\n`;
            resultText += `Блоки: ${worker.blocks}\n`;
            resultText += `Мішки: ${worker.bags}\n\n`;
        });

        document.getElementById('workerResult').innerText = resultText;
    }

    function distributeTasks(workerTasks, task, totalAmount) {
        let workersCount = workerTasks.length;
        let baseAmount = Math.floor(totalAmount / workersCount);
        let remainder = totalAmount % workersCount;

        // Рівномірний розподіл
        workerTasks.forEach(worker => {
            worker[task] = baseAmount;
        });

        // Додаємо залишок, якщо є
        for (let i = 0; i < remainder; i++) {
            workerTasks[i][task]++;
        }
    }
</script>

</body>
</html>

Привет! Скопировал код, перечитал несколько раз, но не до конца понимаю вопрос и логику расчёта количества пачек - как ты хочешь, чтобы было. Ты говоришь про 18 из этой строчки кода?

let totalEarnings = (packages * 18) + (strips * 0.5) + (mattresses * 10) + (hours * 60) + (blocks * 10) + (bags * 10);

Далее, как я понимаю, расчёт идёт по типу пропорционального распределения заработка на каждого работника в функции distributeTasks. И там у тебя даже комментарий “Рівномірний розподіл”, т.е. и идёт пропорциональный расчёт. Поясни, пожалуйста, что значит “каждому отдельно по 9”? Чтобы это было, нужно где-то в коде, чтобы была цифра 9. А я не нахожу пока…

Приклад:

Пачки: 100 (*18) - 1800
Полоси: 1500 (*0,5) - 750
Години: 12 (*60) - 720 3770 грн Ділимо на 3 працівники і виходить 1256
Блоків: 30 (*10) - 300
Мішків: 10 (*10) - 100
Матрасів: 10 (*10) - 100

Алгоритм:
Тепер за допомогою (пачок, полос, годин, блоків, мішки, блоки) нараховуємо кожному, щоб було по 1256 грн.

Наприклад: є такі працівники Юра Саша. Спершу нараховуємо по парно (якщо працівників 4 Юра Саша Петя Сергій то нараховуємо Юра Саша одноково ,і Петя Сергій - по парно)

Саша Юра беремо пачки 100*18/2 виходить кожному по 900 гривень, (1256-900) залишилось 356 грн. тепер кожному нараховуємо по 2 години, це виходить по 120 кожному. 356 - 120 = 236 залишок 236 грн візьмем з полос, щоб отримати 236 * 2 отримаємо 472 полоси

Таким чином в нас вийшло:

Юра: Саша:
Пачок 100 Пачок 100
Полос 472 Полос 472 1256 грн
Годин 2 Годин 2

Залишок:
Пачки: 0 (*18)
Полоси: 556 (*0,5)
Години: 8 (*60) Ділимо це ще на двох працівників
Блоків: 30 (*10)
Мішків: 10 (*10)
Матрасів: 10 (*10)