@Override
    public void put(E item) throws InterruptedException {
        lock.lock();

        try {
            if (isFull()) {
                System.out.println("Клієнт №" + item + " очікує в черзі на вулиці");
            }

            while (isFull()) {
                notFull.await();
            }

            int pos = (newest + 1) % chairs.length;
            chairs[pos] = item;
            newest = pos;
            System.out.println("Клієнт №" + item + " в кімнаті для очікування");

            notEmpty.signalAll();

        } finally {
            lock.unlock();
        }
    }