eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Сумма и XOR

Сумма и XOR

В самый обычный весенний день перед Данияром снова встает интересная задача:

Найдите все возможные массивы длины n, где каждый элемент 1ai < 2number_of_bits, 0i < n со слеующими условиями:

  • Сумма элементов массива равна sum, то есть a0 + a1 + ... + an-1 = sum.
  • XOR сумма массива равна xor_sum, то есть a0 xor a1 xor ... xor an-1 = xor_sum.

Для простоты Вам предлагается найти ответ по модулю 109 + 9.

Входные данные

Одна строка содержащая 4 целых числа:

  • n (1n5000),
  • sum (1sum3000),
  • number of bits (1number of bits30),
  • xor_sum (1xor_sum < 2number of bits).

Выходные данные

Выведите ответ по модулю 109 + 9.

Пример

В первом примере возможны два массива: {5, 7}, {7, 5}.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
2 12 3 2
Вихідні дані #1
2
Вхідні дані #2
3 12 3 2
Вихідні дані #2
27
Вхідні дані #3
4 16 3 2
Вихідні дані #3
144
Вхідні дані #4
3 16 3 2
Вихідні дані #4
9
Джерело 2021 KBTU Open, Весна Казахстан, Алма-Ата, 30 мая, Задача A