Игра на раскладывание карт в стопки

Два игрока играют с колодой карт, содержащей s мастей, где каждая масть содержит n карт, пронумерованных от 1 to n .

До начала игры из колоды извлекается множество карт (может быть пустым), которые раскладываются лицом вверх на столе не перекрывая друг друга. Они называются видимыми картами.

Игроки ходят по очереди.
Ход заключается в том, что игрок выбирает карту X из оставшейся колоды и кладет ее лицом вверх поверх видимой карты Y, учитывая следующие ограничения:

  • * X и Y должны быть одной масти;
  • * достоинство X должно превышать достоинство Y.

Затем карта X покрывает карту Y и заменяет ее в качестве видимой карты.
Игрок, который не может совершить разрешенный ход, проигрывает, и игра прекращается.

Пусть C ( n , s ) будет количеством различных начальных множеств карт, для которых первый игрок проиграет, если оба игрока придерживаются самой оптимальной стратегии.

Например, C ( 3 , 2 ) = 26 и C ( 13 , 4 ) 540318329 ( mod 1 000 000 007 ) .

Найдите C ( 10 7 , 10 7 ) . В качестве ответа приведите остаток от деления полученного результата на 1 000 000 007 .

Решение