Entry insert(int key, int value) {
        Entry node = new Entry(key, value);

        node.degree = 0;
        node.marked = false;
        node.left = node.right = node;
        node.parent = null;
        node.child = null;

        // Podpinamy pod korzen
        // ++
        access += 1;
        if (minimum == null) {
            // ++ ++
            access += 2;
            minimum = node;
        } else {

            // Wstawianie w liste korzenia
            // ++ ++ ++ ++
            access += 4;
            minimum.right.left = node;
            // ++ ++ ++ ++
            access += 4;
            node.right = minimum.right;
            // ++ ++ ++
            access += 3;
            minimum.right = node;
            // ++ ++ ++
            access += 3;
            node.left = minimum;

            // nowe minimum
            // ++ ++
            access += 2;
            if (node.getValue() < minimum.getValue()) {
                // ++ ++
                access += 2;
                minimum = node;
            }
        }
        size++;

        return node;
    }