Для решения задачи рассмотрим независимо каждый двоичный бит.
По мере поступления запросов, будем поддерживать масссив $$$c_0, c_1, \ldots, c_{29}$$$, где $$$c_i$$$ — количество фей на свадьбе, в двоичной записи значения общительности которых присутствует $$$i$$$-й бит (биты мы пронумеруем с $$$0$$$ до $$$29$$$ в порядке от младщих битов к старшим). Заметим, что если после каждого запроса мы будем поддерживать актуальные значения этого массива, по ним легко можно восстановить суммарную общительность всех фей: $$$\sum\limits_{i = 0}^{29} c_i \cdot 2^i$$$.
При появлении новой феи достаточно перевести значение ее общительности в двоичную систему и увеличить на единицу соответствующие значения $$$c_i$$$.
Когда к общительности каждой феи применяется операция побитового исключающего ИЛИ с числом $$$v$$$, необходимо заменить значения $$$c_i$$$, которые соответствуют единичным битам в двоичной записи числа $$$v$$$, так как во всех числах значения в этих битах изменится на противоположное. Если на текущий момент на свадьбе присутствует $$$M$$$ фей, то необходимо заменить значения $$$c_i$$$ на $$$M - c_i$$$.
При уходе одной из фей, нам нужно перевести ее текущее значение общительности в двоичную систему и уменьшить на единицу соответствующие значения $$$c_i$$$. Для того, чтобы определить значение общительности этой феи, необходимо взять исходное значение ее общительности и применить к нему все операции третьего типа, которые произошли после появления этой феи на свадьбе. Чтобы быстро применить все эти операции, будем поддерживать в каждый момент времени число $$$X$$$ — значение побитового исключающего ИЛИ всех значений $$$v$$$ из операций третьего типа. Для каждой феи запомним значение $$$X$$$ на момент ее появления. Теперь, при удалении феи, достаточно взять текущее значение $$$X$$$ и применить к нему побитовое исключающее ИЛИ со значением $$$X$$$ в момент появления этой феи. Таким образом, мы получим исключающее ИЛИ значений $$$v$$$ из всех запросов третьего типа за время, которая фея была на свадьбе.