Имея дело с M вхождений среди N

Вопрос, который мне дали на собеседовании. Я был близок к решению, но, к сожалению, не решил его.

Предположим, у нас есть последовательность, которая содержитN&nbsp;номера типаlong, И мы точно знаем, что среди этой последовательности каждое число встречается точноn&nbsp;раз за исключением одного числа, которое встречается точноm&nbsp;раз (0 < m < n). Как мы находим это число сНА)&nbsp;операции иO (1)&nbsp;дополнительная память?

Для самого простого случая (когдаn = 2&nbsp;а такжеm = 1) все, что мы должны сделать, это просто выполнить накопительноеxor&nbsp;на каждом номере в последовательности. Результат будет равен желаемому числу. Но я застрял при попытке справиться с произвольнымm&nbsp;а такжеn.

Я был бы признателен за реальное решение C ++.

РЕДАКТИРОВАТЬ: Мы знаем фактические значенияm&nbsp;а такжеn&nbsp;априори.

Пример.&nbsp;Мы знаем этоn&nbsp;= 3 иm&nbsp;= 2. Последовательность (N = 8) является

5 11 5 2 11 5 2 11

И правильный ответ2&nbsp;в данном конкретном случае, потому что это происходит только дважды.