Кошки и мышки С++

N серых и M белых мышей сидят по кругу. Кошка ходит по кругу по часовой стрелке и съедает каждую S -тую мышку. В первый раз счет начинается с серой мышки. Составить алгоритм определяющий порядок в котором сидели мышки, если через некоторое время осталось K серых и L белых мышей.

Вот такая задачка.

Создам, например, циклический список, заполню его числами 1-серая мышка, 2 - белая мышка(рандомно). Далее будем "поедать" мышек, съеденная серая мышка -1, съеденная белая -2(например). И надо просто восстановить порядок, в котором они сидели? Все ли я правильно понял?

Но думаю, все совсем не так